我在.htaccess中使用以下代码从文件名末尾删除.html,但我遇到的问题是当我转到index.html时,它附加了我不想要的url / index。
Options +FollowSymLinks -MultiViews -Indexes
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^(.+)$ $1.html [L,QSA]
我希望有人可以提供帮助,因为我不希望它显示为domain.com/index
答案 0 :(得分:1)
首先,为了避免重复内容,您应该将每个网址重定向到XXXX.html
到XXXX
。
然后,添加从/index
到/
Options +FollowSymLinks -MultiViews -Indexes
RewriteEngine On
RewriteCond %{THE_REQUEST} /index [NC]
RewriteRule ^ / [R=301,L]
RewriteCond %{THE_REQUEST} /(.+)\.html [NC]
RewriteRule ^ /%1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^(.+)$ /$1.html [L,QSA]