使用Mod_Rewrite来摆脱扩展

时间:2009-12-10 08:01:09

标签: .htaccess mod-rewrite url-rewriting

我想摆脱我网站上的所有文件扩展名。除非他们在索引上,我希望它什么都不说......

更改此foo.com/index.html
到这个foo.com /

当用户转到foo.com/contact-us.html之类的另一页时 它将是foo.com/contact-us

RewriteEngine On
RewriteRule ^ this is where i get confused :(

提前致谢!

3 个答案:

答案 0 :(得分:3)

请尝试以下规则:

RewriteRule ^index\.html$ / [L,R=301]
RewriteRule (.+)\.html$ /$1 [L,R=301]

答案 1 :(得分:2)

我会使用稍微不同的方法:

RewriteCond %{REQUEST_FILENAME}\.html -f # if request.html exists and is a file
RewriteRule ^(.+)$ $1\.html [QSA] # then rewrite to that file.

答案 2 :(得分:0)

它不一定非常复杂,apache可以选择完成你想要的东西:

只需将此规则添加到.htaccess和/ contact-us /将自动重写为contact-us.html:

Options MultiViews

就是这样!