网站链接无法使用.htaccess代码删除.html扩展名

时间:2017-09-22 23:45:24

标签: html .htaccess web

我的.htacess文件中有以下代码,用于我的网站从我的网址中删除“.html”并将任何.html重定向到相同的网页(example.com/home.html to example.com/主页)

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\.html$ /$1 [L,R=301] 

#301 from example.com/page.html to example.com/page
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*\.html\ HTTP/
RewriteRule ^(.*)\.html$ /$1 [R=301,L]

但是,当我尝试点击指向我网站上其他页面的链接时,我收到404错误。 我已经尝试将href设置为http://www.example.com/page2,/ page2以及更多,但我仍然得到相同的错误。有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

请保存您的代码,并在主目录.htaccess文件中仅添加以下代码:

  RewriteEngine on
  RewriteCond %{THE_REQUEST} \s/+(.*?/)?(.*?)\.html[\s?/] [NC]
  RewriteRule  (.*)$  /%1%2 [R=302,L,NE]

注意:清除浏览器缓存,因为您301重定向并测试了代码