[英]Apache mod_rewrite infinite loop, cannot fix it
我的htaccess:
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ([^/.]+)/([^/.]+)(.*) /Application/?path=$1/$2$3 [L,QSA]
RewriteRule ^$ /Application/?path=ACFrontPage/getMainPage [L,QSA]
RewriteRule (.*) /Application/index.php?path=$1 [L,QSA]
此行導致無限重定向:
RewriteRule (.*) /Application/index.php?path=$1 [L,QSA]
但是如果以前的規則不匹配,我需要將所有內容重定向到index.php文件。 我該怎么做?
從日志中這樣做:
split uri=/Application/?path=Application/ -> uri=/Application/, args=path=Application/&path=Application/&path=Application/&path=Application/&path=Application/&path=Application/&path=Application/&path=Application/&path=Application/&path=Application/
========================
@anubhava
我嘗試了您的建議答案,它適用於除基本域以外的所有內容,例如: http : //example.com/
RewriteCond
僅適用於下一個RewriteRule
。 調整規則,以避免重寫所有現有文件或目錄:
RewriteEngine On
RewriteRule ^$ /Application/?path=ACFrontPage/getMainPage [L]
# skip rewrite for all files/directories
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([^/.]+)/([^/.]+)(.*)$ /Application/?path=$1/$2$3 [L,QSA]
RewriteRule ^(.+)$ /Application/index.php?path=$1 [L,QSA]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.