我知道这是一项非常常见的任务,这里已经讨论了很多,但我仍然无法让它发挥作用。在做了一些研究之后,我将这段代码添加到我的.htaccess文件中。
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html
但它仍然不起作用并在我的页面上显示.html。 可能有什么不对?
由于
答案 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]