我目前在我的网络中有两个网站: - http://www.example.com(主要) - http://dev.example.com(次要)
我的多网站安装位于一个子目录内,我们称之为“wordpress”。所以文件路径看起来像这样:public_html/wordpress。
我的目标是两个站点URL中都没有“wordpress”子目录。除了主站点上的破损CSS和JS外,一切似乎都正常(次要站点看起来很好)。
检查代码时,所有的CSS和JS调用都指向 http://www.example.com/wp-content/ ,但文件在那里找不到。如果我在浏览器中访问 http://www.example.com/wordpress/wp-content ,就可以找到这些文件。我想隐藏wordpress文件夹,仍然能够检索文件。
我对如何设置HTACCESS文件感到困惑。我已经对它进行了一些初始更改,以便使子目录内的多站点工作。这些都是根据我在StackOverflow和其他在线网站上找到的指南来实现的,关于如何将您的网站转移到具有子目录和隐藏子目录的多站点。我没有找到任何关于解决CSS / JS问题的内容。
我认为我需要更新三个HTACCESS文件中的一个或多个。
1)public_html/.htaccess
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteCond %{REQUEST_URI} !^/wordpress/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /wordpress/$1
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteRule ^(/)?$ /wordpress/index.php [L]
</IfModule>
2.) public_html/wordpress/.htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /wordpress/
RewriteRule ^index\.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]
</IfModule>
3.) public_html/wordpress/wp-content/.htaccess
这个文件原本不存在,但我创建了它。我的想法是文件被调用时没有包含wordpress子目录,但它们需要像包含子目录一样工作。例如,当前http://www.example.com/wp-content/uploads/image.jpg无法访问,但http://www.example.com/wordpress/wp-content/uploads/image.jpg可以。我希望两种路径都能正常工作。
<IfModule mod_rewrite.c>
RewriteEngine on
# ADD WORDPRESS IF URL DOES NOT HAVE IT
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteCond %{REQUEST_URI} !^/wordpress/
RewriteRule ^(.*)$ /wordpress/$1
</IfModule>
我尝试在不同的HTACCESS文件中添加不同的行,但它们都没有起作用。我也不确定应该在哪一行插入新规则。有可能我的某个新规则是正确的,但放错了位置。下面是一个我认为会起作用但实际上并没有的规则。
RewriteRule ^/wp-content/(.*)$ /wordpress/wp-content/$1 [R=301,NC,L]