2

如果我指出:

mywebsite.com/search

并且网站目录中有一个名为search.phpsearch.htmlsearch.inc.phpsearch.whatthehell.php的文件,Apache 将指向该文件而不是 404'ing。

更烦人的是,如果我指出:

mywebsite.com/search/string?also=whatever

Apache 仍将显示文件名以“search.”开头的任何文件。

此外,所有具有包含目录中存在的文件名的模式的 RewriteRules 都将被忽略/无用。

我在 Mac 上使用 Apache 2,未修改 httpd.conf。如何防止它如此自由地重定向我的网址?

4

1 回答 1

2

您必须使用 Options 指令禁用 MultiViews 选项。这是 apache 内容协商模块的一个特性,所以如果你不使用 mod_negotiation 你可以卸载它。

http://httpd.apache.org/docs/2.0/content-negotiation.html

如何为 /var/www 目录禁用多视图的示例:

<Directory /var/www/>
    Options Indexes FollowSymLinks -MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
</Directory>

http://httpd.apache.org/docs/2.0/mod/mod_negotiation.html#multiviews

于 2010-05-04T20:34:40.487 回答