http://test.domain.net/2a
到被處理爲
http://test.domain.net/?i=2a
由於無限重定向,我收到了500錯誤。我的規則在哪裏出錯?
RewriteEngine On
RewriteRule ^([^/]*)$ /?i=$1
http://test.domain.net/2a
到被處理爲
http://test.domain.net/?i=2a
由於無限重定向,我收到了500錯誤。我的規則在哪裏出錯?
RewriteEngine On
RewriteRule ^([^/]*)$ /?i=$1
嘗試:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)$ /?i=$1 [L]
爲什麼這個工作正好? +1 – rtheunissen 2013-04-08 13:12:57
@ paranoid-android你之前遇到的問題是你的規則正在循環。 Mod_rewrite將繼續遍歷所有規則,直到URI停止更改。由於您的規則('/',不包括查詢字符串)的目標匹配模式'^([^ /] *)$',它將繼續應用。這兩個條件只是檢查URI是否映射到現有文件或目錄,然後根本不應用規則。 – 2013-04-08 17:07:38
可以防止與適當的'RewriteCond'的無限循環。例如,請參閱http://stackoverflow.com/a/15843806/1741542。 – 2013-04-08 08:08:58