我有一个 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/