尝试显示没有html扩展名的网址时出现奇怪的apache行为

时间:2009-02-28 12:36:48

标签: apache mod-rewrite seo

我有一个可以轻松访问的网址:

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

    or

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

(我实际上不知道为什么它没有扩展名。但它应该返回通常的404错误。)

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

    http://example.com/2005/01/example/
    (note the trailing slash)

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

    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。

谢谢!

2 个答案:

答案 0 :(得分:6)

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

Options -MultiViews

答案 1 :(得分:0)

example.html是位于目录路径2005/01中的实际文件吗?似乎mod_rewrite已经处于活动状态。如果您在服务器上使用博客或内容管理系统,那么它可能已经填充到您的网址。