当我尝试通过我的 wordpress 多站点网络加载文件时出现问题。使用原始的 .htaccess 文件,除了入口页面之外什么都没有。所以 .htaccess 文件是根据这篇文章重写的。然而,这引起了一个小问题。现在,不是顶级站点的其他站点无法加载使用整个博客名称添加的任何外部文件(css、javascript、图像等)(使用目录,因此在访问时总是添加尾随 /dir/子网站)。因此,在这种情况下, main.site.com/ 可以工作,而 main.site.com/eng/ 可以工作,只是通过主题等获取的所有文件都不会加载。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /basedir/
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/$1 [L,QSA]
</IfModule>
收到的错误是:
Failed to load resource: the server responded with a status of 500 (Internal Server Error)
.
apache错误日志给了我这个:
Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.
这些错误是我得到的一切,所以我怀疑当我搜索直接文件而不是永久链接时,有什么东西会导致我的重定向循环。
该站点一直在另一台服务器上工作,除了两件事之外,该服务器相同,即子域名和 /var/www/ 目录中 wordpress 根目录的位置。我已将与旧域有任何相似之处的所有内容更改为新域(我已在整个 sql 转储中搜索旧信息,但没有留下任何痕迹)。