Mod rewrite apache中的Url重写

Mod rewrite apache中的Url重写,mod-rewrite,apache2.2,Mod Rewrite,Apache2.2,我试图重写URL,这样每当我键入say/foo.html时,我都希望文件的扩展名被隐藏,这样在地址栏上我只能看到/foo。我尝试在apache服务器的.htaccess文件中搜索并使用rewritecond表达式,但地址栏中的url没有更改。 我观察到的另一件事是,当我键入/foo或/foo.html甚至删除.htaccess文件时,浏览器会显示我的foo.html文件的内容 我正在ubuntu 12.10上使用apache2。将以下规则添加到您的/.htaccess RewriteRule ^

我试图重写URL,这样每当我键入say/foo.html时,我都希望文件的扩展名被隐藏,这样在地址栏上我只能看到/foo。我尝试在apache服务器的.htaccess文件中搜索并使用rewritecond表达式,但地址栏中的url没有更改。 我观察到的另一件事是,当我键入/foo或/foo.html甚至删除.htaccess文件时,浏览器会显示我的foo.html文件的内容


我正在ubuntu 12.10上使用apache2。

将以下规则添加到您的
/.htaccess

RewriteRule ^(.*?)\.html$ $1 [R=301,L]
要删除多个文件扩展名,请使用

RewriteRule ^(.*?)\.(php|html?)$ $1 [R=301,L]

你偏离了主题,但即使你的问题被转移到一个更合适的网站,你也应该尝试向我们展示你所做的事情,否则将很难提供帮助。尝试了同样的方法,但仍然不起作用。我觉得在我的设置中还有一些冲突。当我键入/foo.html或/foo时,我仍然会不断获取页面foo的内容。当我键入要更改为/foo的/foo.html时,浏览器上的url仍然显示/foo.html。还有一件事是,即使在禁用mod_rewrite模块后,上述情况仍然成立,即当我键入/foo时,foo.html的内容显示出来。因此,似乎在其他地方已经定义了一些默认规则。