我试图从我的目标网页中移除.html
,一个示例将domain.com/contact.html
domain.com/contact
,而.html
同时保持domain.com/components/file.html
对于网站中的所有文件夹,.html
将保留为.html
..
换句话说,重定向着陆页,但不是我服务器上的所有其他文件..
这是我目前用来移除#example.com/page will display the contents of example.com/page.html
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^(.+)$ $1.html [L,QSA]
#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]
的代码,但它也会删除所有其他目录的代码。
-O...
有人会就此事提出任何意见吗?
谢谢。
答案 0 :(得分:1)
试试这段代码:
DirectorySlash Off
RewriteEngine On
RewriteCond %{THE_REQUEST} \s/+(.*?/)?(?:index)?(.*?)\.html[\s?/] [NC]
RewriteRule ^(.[^\/]*)$ /%1%2 [R=302,L,NE]
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*) /$1.html [L]