将Apache配置为不重写文件+;斜线

将Apache配置为不重写文件+;斜线,apache,url,configuration,rewrite,Apache,Url,Configuration,Rewrite,我有一个问题,所有像context/path/file/anythis/follow这样的URL都变成context/path/file.php/anythis/follow或context/path/file.xml/anythis/follow 我有以下重写规则: RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^service/(.*)$ service.php?xyz=

我有一个问题,所有像
context/path/file/anythis/follow
这样的URL都变成
context/path/file.php/anythis/follow
context/path/file.xml/anythis/follow

我有以下重写规则:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^service/(.*)$ service.php?xyz=1 [L,QSA]
它应该将任何以
service/…
开头的URL映射到
service.php
。现在,问题是,如果名为
service.XML
的XML文件与
.htaccess
位于同一文件夹中,URL将映射到该文件。如果存在PHP文件,它们将转到PHP文件。XML文件优先,即,如果目录中既有XML文件又有名为
service.*
的PHP文件,则选择XML文件

我在MacOSX10.7(Lion)上有PHP5.3、Apache2.x。这个问题以前在我使用OSX10.6时没有出现过,所以苹果提供的配置肯定有一些变化。我就是想不出是什么

有没有办法禁用此功能

还是我完全偏离了轨道,做了一些愚蠢的事

顺便说一句,这与mod_rewrite无关,因为启用或禁用它,或者从
.htaccess
中删除重写规则会改变任何事情。URL
service/my/parameter
仍然指向
service.xml/my/parameter
,即使禁用了mod_rewrite

现在,我刚刚从url中取出查询字符串,并在PHP文件中手动解析它。但我知道这不是正确的方法。

这似乎是启用的选项


尝试在
部分(或.htaccess)中添加
选项-MultiViews

确实如此。多谢各位。我不知道关于
多视图
选项。是的。一件很烦人的事。如果你不需要内容协商,你也可以删除mod_negociateI在mac上我的用户配置文件中的内容。我不确定我是否把它放在那里,或者它是否已经存在:“选项索引多视图”。我删除了单词MultiViews,这就解决了它。非常感谢!忘了投票,因为当时我没有这样做的名声:)