2009-03-02 94 views
6

和其他許多人一樣,我在Apache中做了一些非常簡單的mod_rewriting問題。Mod重寫問題

我有以下的在我的.htaccess:

Options +FollowSymLinks 
RewriteEngine on 
RewriteBase/
RewriteRule ^view/([0-9]+)/([0-9]+)$ view.php?advertId=$1&publisherId=$2 [NC,QSA,L] 

這應該翻譯/查看/二百零三分之四千零九十三QS = VAL - > /view.php?advertId=4093 &的publisherId = 203? qs = val

現在,它在使用/ View ...調用它時起作用,但是在做小寫/視圖時,它重定向到正確的文件,但advertId和publisherId沒有在我的PHP腳本中設置,因爲它與第一個字母大寫的視圖和我只是簡單地放在一起並不知道在那個前面發生了什麼(我一直在測試並觀察那個行爲,只是通過對我的v iew.php)。

任何人都知道爲什麼會發生這種情況?

我可能要添加,我的服務器信息如下:

Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny2 with Suhosin-Patch mod_python/3.3.1 Python/2.5.2 mod_perl/2.0.4 Perl/v5.10.0 

IE。一個股票品牌新的debian安裝與默認debian包+ php-mssql。

回答

10

MultiViews可能會導致這種現象,那就是試圖傳遞給mod_rewrite的請求之前請求映射到一個siminar現有的文件。嘗試禁用它:

Options -MultiViews 
+0

血腥的輝煌!我可以問,如何以及爲什麼? – kastermester 2009-03-02 13:31:57