我正在运行 OS X Snow Leropard Server,我想禁用 Apache 的多视图功能。我可以将其添加Options -MultiViews
到我拥有的每个 .htacces 文件中,但我想必须有一个全局选项。禁用mod_negotiation.so
会使所有页面变得无用,所以这不是我要找的选项。
谢谢您的帮助!
答案1
如果出现这种情况Options
,您必须使用 * 或 - 符号,全部或全部不加;即
Options FollowSymLinks -MultiViews -Indexes
是错的。
如果你使用 + 或 - 符号,则必须用于所有选项,即
Options +FollowSymLinks -MultiViews -Indexes
答案2
在 /etc/apache2/httpd.conf 中,您应该找到该部分<Directory "/Library/WebServer/Documents">
,并从其中的 Options 指令中删除 MultiViews。如果您的内容不在该目录中,则其他路径也适用同样的操作。
另外,如果您能够编辑服务器的主配置文件,您就永远不必使用 .htaccess 文件。这样做只会减慢服务器速度,使跟踪配置变得更加困难,并使 mod_rewrite 的任何使用都成为一场令人头疼的灾难。
答案3
考虑到这是 OS X,我遇到的一个障碍是我的用户特定声明(在 users/用户名apache2 的 .conf 子目录)已开启 MultiViews,从而覆盖了 httpd.conf。
MultiViews 正在取代 /搜索.php 为 /搜索,弄乱了我开发机器上“漂亮”的 Codeigniter URL。