我有一個的mod_rewrite規則是這樣的:mod_rewrite的地方重寫規則相匹配的目錄
RewriteRule ^(alice)/?$ bob.php?page=$1 [L]
如果我去http://localhost/alice/,它讀取bob.php(如預期)。如果我轉到http://localhost/alice(無結束斜槓),它會讀取bob.php(同樣如預期的那樣)。
如果我在htdocs中創建一個名爲「alice」的目錄,並且轉到http://localhost/alice/,它會讀取bob.php。但是,如果我轉到http://localhost/alice,它現在重定向到http://localhost/alice/?page=alice。它仍然讀取bob.php(這是我想要的),但我寧願它不會改變這樣的URL。
爲什麼它這樣做,是否有任何方法來防止它(除了沒有這樣的目錄撒謊)?
移到serverfault? – QuantumMechanic 2011-05-06 05:22:39
@QuantumMechanic:我認爲首先將它發佈在那裏,但SO有3716個標記爲mod-rewrite的問題,而SF只有578個。當然,受歡迎程度並沒有使事情正確,但根據我的經驗,重寫規則是問題的程序員,而不是系統管理員。 – 2011-05-06 05:30:03