Apache 加载以 url 中使用的相同字符串开头的任何文件。如何防止这种情况发生?

发布于 2024-08-29 19:31:51 字数 442 浏览 8 评论 0原文

如果我指向:

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。如何防止它如此随意地重定向我的网址?

If I point to:

mywebsite.com/search

and there is a file called search.php or search.html or search.inc.php or search.whatthehell.php in website's directory, Apache will point to that file instead of 404'ing.

What is even more annoying is that if I point to:

mywebsite.com/search/string?also=whatever

Apache will still display any file with filename that begins with "search.".

Also, all RewriteRules with patterns containing filenames existing in directory are ignored/useless.

I'm using Apache 2 on Mac, unmodified httpd.conf. How do I prevent it from redirecting my urls so freely?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

久隐师 2024-09-05 19:31:51

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

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

如何禁用 /var/www 目录的 MultiViews 的示例:

<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

You will have to disable MultiViews option using Options directive. This is a feature of the apache content negotiation module, so if you don't use mod_negotiation you can just unload it.

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

Example of how to disable MultiViews for the /var/www directory:

<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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文