无法访问与 WordPress 一起安装的 PageSpeed 控制台;出现 503 错误和“LimitInternalRecursion”错误

无法访问与 WordPress 一起安装的 PageSpeed 控制台;出现 503 错误和“LimitInternalRecursion”错误

在 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>
.....

相关内容