从主页中删除.html,但不从该网站内的文件夹中删除.html

时间:2017-09-27 22:39:29

标签: .htaccess

我试图从我的目标网页中移除.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...

有人会就此事提出任何意见吗?

谢谢。

1 个答案:

答案 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]