如何在网站中隐藏文件扩展名?

时间:2012-10-17 09:19:20

标签: .htaccess url-rewriting file-extension

我想在我的网站上隐藏文件扩展名。
这是我的.htaccess

的内容
# Do not remove this line, otherwise mod_rewrite rules will stop working
RewriteBase /

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^([^/]+)/$ $1.html

例如:

http://example.com/website2将映射到http://example.com/website2.html

2 个答案:

答案 0 :(得分:0)

将website2设为文件夹,并将名为index.html的html放入其中。

答案 1 :(得分:0)

在您的示例中,http://example.com/website2不会映射到任何内容,因为没有尾部斜杠。你的规则的正则表达式是^([^/]+)/$,需要一个斜杠。

因此,您需要将所有链接http://example.com/website2.html更改为http://example.com/website2/

为了重定向您无法控制的链接,您可以添加以下规则:

RewriteCond %{THE_REQUEST} ^(GET|HEAD|POST)\ /(.*)\.html
RewriteRule ^ /%1/ [L,R=301]