在 CentOS 6 Web 服务器上,Wordpress 安装在 /var/www/html/wordpress 中,并使用 PageSpeed 进行缓存,我无法通过 Web 浏览器访问 /pagespeed_console。
我只收到 503 错误。
通过 httpd /var/log/httpd/error_log 搜索显示“LimitInternalRecursion”。
/var/log/httpd/访问日志:
"GET /pagespeed_console HTTP/1.1" 500 395 "-"
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.107 Safari/537.36"
/var/log/httpd/错误日志:
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.
答案1
您的重写规则发生冲突并产生内部重定向大屠杀。
只需添加另一个条件,以便 /pagespeed_console 不会被重写。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteRule ^server-status$ - [L]
# do not parse mod_pagespeed URIs
RewriteCond %{REQUEST_URI} !^/mod_pagespeed_[a-z_]+$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
答案2
问题出在 CentOS 的 SELinux 上。
在 CLI 上输入以下内容:chcon -R -t httpd_sys_content_t /var/cache/mod_pagespeed
说明列在“为什么我在 CentOS、RHEL 或任何使用 SELinux 的系统上的日志文件中收到权限被拒绝错误?”部分中,网址为https://developers.google.com/speed/pagespeed/module/faq
答案3
这对我有帮助,在pagespeed.conf中:
.....
<Location /pagespeed_admin>
<IfModule mod_rewrite.c>
RewriteEngine Off
</IfModule>
.....