這是htaccess的我: 選項+的FollowSymLinks的.htaccess似乎被忽略的RewriteCond
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/pages
RewriteRule ^(.+)/$ /$1 [NC]
RewriteRule ^$ /pages/index.php [NC]
RewriteRule ^([a-z]+)\?([^/]+)$ /pages/$1.php?$2 [NC]
RewriteRule ^([a-z]+)/([^/]+)$ /pages/$1.php?q=$2 [NC]
RewriteRule ^([a-z]+)$ /pages/$1.php [NC]
ErrorDocument 404 /pages/404.php
什麼是應該做的是很簡單:從URL
- 刪除斜線
- direct example.com/tomato to example.com/pages/tomato.php
- direct example.com/tomato?c=red & size = big to example.com/pages/ ?tomato.php C =紅色&大小=大
- 直接example.com/tomato/red到example.com/pages/tomato.php?q=r
但是這就是問題所在:任何URL for /pages/tomato.php匹配.htaccess的第7行,這會產生無限循環。這就是爲什麼我添加/頁的例外,但它似乎被忽略 - 我仍然得到這個日誌消息500內部服務器錯誤:
mod_rewrite的:達到內部重定向的最大數量。假設配置錯誤。如果需要,使用'RewriteOptions MaxRedirects'來增加限制。
這可能與我與虛擬主機一起運行這個事實有關嗎?如果是這樣,應該做些什麼來解決它?
謝謝,是有辦法,使其適用於所有以下規則沒有一次又一次地複製嗎? – jorenl 2010-07-18 21:43:44