我在 Litespeed 服務器上使用 PrestaShop,這是管理面板的 .htaccess 的一部分:
# Keep legacy entry points
RewriteRule ^(ajax|ajax_products_list|ajax-tab|backup|cron_currency_rates)\.php - [P]
RewriteRule ^(displayImage|drawer|footer\.inc|functions|get-file-admin)\.php - [P]
RewriteRule ^(grider|header\.inc|init|login|password|pdf|searchcron)\.php - [P]
# If the URL is a legacy on index.php?controller=..., do not rewrite (let the legacy take it)
RewriteCond %{QUERY_STRING} (^|&)controller=|(^|&)tab=
RewriteRule .* - [P]
我看到很多關于這些的日志:
2021-10-30 16:01:17.163186 WARN [225891] [T0] [REWRITE] Detects bad proxy action without updating target URL. Ignore. while parsing: RewriteRule ^(ajax|ajax_products_list|ajax-tab|backup|cron_currency_rates)\.php - [P]
2021-10-30 16:01:17.163218 WARN [225891] [T0] [REWRITE] Detects bad proxy action without updating target URL. Ignore. while parsing: RewriteRule ^(displayImage|drawer|footer\.inc|functions|get-file-admin)\.php - [P]
2021-10-30 16:01:17.163228 WARN [225891] [T0] [REWRITE] Detects bad proxy action without updating target URL. Ignore. while parsing: RewriteRule ^(grider|header\.inc|init|login|password|pdf|searchcron)\.php - [P]
2021-10-30 16:01:17.163243 WARN [225891] [T0] [REWRITE] Detects bad proxy action without updating target URL. Ignore. while parsing: RewriteRule .* - [P]
2021-10-30 16:01:17.581695 WARN [225890] [T0] [REWRITE] Detects bad proxy action without updating target URL. Ignore. while parsing: RewriteRule .* - [P]
任何人都可以描述那些 RewriteRules 是什么以及為什么我會收到這些錯誤?
謝謝!
uj5u.com熱心網友回復:
P在這種情況下,使用標志顯然是錯誤的。我會說這是一個錯字,不是每條規則都如此!他們可能打算使用PT(passthrough),盡管L(last) (或END) 會更可取。
這些指令的目的是防止對這些特定的“遺留”URL 進行進一步處理(即發生其他重寫)。
更改[P]為[L]所有 4 個規則以解決此問題。
例如:
RewriteRule ^ - [L]
(也更改.*為^最后一條規則,因為它不需要實際匹配所有內容,它只需要對所有內容都成功即可。)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/344854.html
