我有以下重寫規則設置:重寫規則500錯誤問題
RewriteEngine On
RewriteRule ^api/([A-Za-z0-9-]+)$ index.php/api/$1 [NC,L]
RewriteRule ^([A-Za-z0-9-]+)$ index.php/other/$1 [NC,L]
不幸的是這導致我的服務器拋出一個500錯誤。單獨採取,但他們都很好,但。
我的本意是,如果該請求是http://somesite.com/api/whatever/
,第一條規則將被觸發,重定向到index.php/api/whatever/
如果不是「API」的任何被作爲第二段雖然發送,它會重定向到index.php/other/whatever
。
我的理解有瑕疵嗎?我認爲它會在列表中下來,並且用L標誌,一旦碰到什麼就停止執行。或者我的語法錯了?
乾杯
由於沒有人評論downvote:[QSA]用於修改查詢字符串並希望原始附加到您在重寫中定義的新字符。這裏沒有查詢字符串(所以它保持不變) – 2011-04-21 09:55:25
感謝您的解釋。但是我在我的本地配置上嘗試了這些重寫規則,並且只有使用QSA標誌才能正常工作。 – Bil 2011-04-21 10:05:03