2009-03-02 93 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