我检查了我的Apache错误日志,发现了以下错误:
[Tue Mar 13 05:04:47.855612 2018] [核心:错误] [pid 18177] [客户 xxx.xxx.xxx.xxx] AH00124:请求超出了10内部限制 由于可能的配置错误而重定向。使用 ' LimitInternalRecursion'必要时增加限额。使用 ' LogLevel debug'获得回溯。
这是我的.htaccess
文件的副本:
## EXPIRES CACHING ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType text/html "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 1 month"
</IfModule>
## EXPIRES CACHING ##
<IfModule mod_headers.c>
<FilesMatch ".(js|css|xml|gz|html)$">
Header append Vary: Accept-Encoding
</FilesMatch>
</IfModule>
# BEGIN WordPress
RewriteEngine On
RewriteBase /
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]
# END WordPress
Apache 2.4.27
PHP 7.0.27
有人可以建议我需要改变什么吗?
答案 0 :(得分:0)
由此行引起的问题:
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
所以,请在?
和^([_0-9a-zA-Z-]+/)
之间取消(wp-(content|admin|includes).*)
,如下所示:
RewriteRule ^([_0-9a-zA-Z-]+/)(wp-(content|admin|includes).*) $2 [L]
因为,a?c
将与ac
以及a
匹配,如果URI以wp-admin
开头,则它将匹配两个规则,首先是这个RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
,然后是这个,以及为什么会发生错误。
注意:清除浏览器缓存,然后对其进行测试。