Centos

無法訪問與 WordPress 一起安裝的 PageSpeed 控制台;收到 503 錯誤和“LimitInternalRecursion”錯誤

  • January 12, 2021

在 /var/www/html/wordpress 中安裝了 Wordpress 並使用 PageSpeed 進行記憶體的 CentOS 6 Web 伺服器上,我無法通過 Web 瀏覽器訪問 /pagespeed_console。

我只收到 503 錯誤。

搜尋 httpd /var/log/httpd/error_log 顯示“LimitInternalRecursion”。

/var/log/httpd/access_log:

"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/error_log:

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.

問題出在用於 CentOS 的 SELinux 上。

在 CLI 上鍵入以下內容:chcon -R -t httpd_sys_content_t /var/cache/mod_pagespeed

說明在“為什麼我在 CentOS、RHEL 或任何使用 SELinux 的系統上的日誌文件中出現 Permission denied 錯誤?”部分中列出了說明。在https://developers.google.com/speed/pagespeed/module/faq

您的重寫規則正在發生衝突並產生內部重定向大屠殺。

只需向它添加另一個條件,以便 /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>

引用自:https://serverfault.com/questions/576340