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