删除.htaccess中的url文件扩展名

时间:2014-01-05 13:48:49

标签: regex apache .htaccess url mod-rewrite

我知道这是一项非常常见的任务,这里已经讨论了很多,但我仍然无法让它发挥作用。在做了一些研究之后,我将这段代码添加到我的.htaccess文件中。

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

但它仍然不起作用并在我的页面上显示.html。 可能有什么不对?

由于

1 个答案:

答案 0 :(得分:0)

您需要一个额外的规则来将foo.html外部重定向到foo。你的.htaccess是这样的:

RewriteEngine on

RewriteCond %{THE_REQUEST} \s/+(.+?)\.html[\s?] [NC]
RewriteRule ^ /%1? [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1.html -f
RewriteRule ^(.+?)/?$ /$1.html [L]