我有一个 url,当你请求它时很容易访问:

http://example.com/2005/01/example.html

或者

http://example.com/2005/01/example

(我实际上不知道为什么它没有扩展名就可以工作。相反,它应该返回通常的 404 错误。)

但是,当我尝试访问以下网址时:

http://example.com/2005/01/example/
(注意尾部斜线)

我收到 404 Not found 错误,但请求的 url 打印为:

http://example.com/2005/01/example.html/

因此,似乎“.html”部分是由 apache 自动添加的。

我的问题是:如何禁用此行为?我需要这样做,因为我想添加 mod_rewrite 规则来隐藏 html 扩展名,以便我可以访问该 url:

http://example.com/2005/01/example/

我的 apache 在 Ubuntu 8.10 上是 2.2.9。

谢谢!

最佳答案

MultiViews 可能会导致这种行为。尝试禁用它:

Options -MultiViews

关于apache - 尝试显示没有 html 扩展名的 url 时奇怪的 apache 行为,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/597970/

10-16 15:15