Mod rewrite 有助于使用非';行不通
我正在使用以下重写规则,但无法使其正常工作:Mod rewrite 有助于使用非';行不通,mod-rewrite,Mod Rewrite,我正在使用以下重写规则,但无法使其正常工作: RewriteRule ^rates/([a-z]+)\.php$ /rates.php?c_user_action=view_type&vehicle_type=$1 [QSA,L,NC] 我使用的URL是http://www.example.com/rates/motorhomes.php 目前它只是转到/rates.php,没有查询字符串 奇怪的是,如果我将重写表达式更改为^rates-([a-z]+)\.php$,并将URL更
RewriteRule ^rates/([a-z]+)\.php$ /rates.php?c_user_action=view_type&vehicle_type=$1 [QSA,L,NC]
我使用的URL是http://www.example.com/rates/motorhomes.php
目前它只是转到/rates.php,没有查询字符串
奇怪的是,如果我将重写表达式更改为^rates-([a-z]+)\.php$
,并将URL更改为http://www.example.com/rates-motorhomes.php
然后它就可以工作了
我在其他网站/服务器上使用过类似的东西,没有任何问题,但我不知道我在这里做错了什么。此服务器正在运行Apache 2.2
我知道mod_rewrite正在工作,因为以下两条规则起作用:
RewriteRule ^blah([a-z]+)\.php$ /rates.php?test=$1 [L]
RewriteRule ^(.*)\.[\d]+\.(css|js)$ $1.$2 [L]
这可能是导致这种行为的原因,在将请求传递给mod_rewrite之前,将/rates/motorhomes.php
映射到/rates.php/motorhomes.php
。尝试禁用它:
Options -MultiViews