.htaccess 从网站中删除.html,包括子目录

pnwntuvh  于 2022-11-16  发布在  其他
关注(0)|答案(1)|浏览(130)

我在这里尝试了很多答案,不幸的是,我没有找到适合我的答案。
我有一个www.website.com/page.html的网站,我的目标是显示www.website.com/page,无论用户输入www.website.com/page还是www.website.com/page.html(也有SEO原因)。

#1) redirect file.html to file
RewriteCond %{THE_REQUEST} /([^.]+).html [NC]
RewriteRule .+ /%1 [L,R=301]
#2) rewrite /file to file.html
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule (.*)/?$ /$1.html [L]

然而,我有其他的网址是www.website.com/blog/text.html的格式,上面的不工作,他们。我已经尝试修改以上,但没有成功。我的目标是网址是www.website.com/blog/text
任何帮助都将不胜感激!

pxyaymoc

pxyaymoc1#

有你的.htaccess规则在下面的方式。这应该能够处理这两种情况IMHO。我已经改变了规则和正则表达式在您现有的规则。请确保清除您的浏览器缓存之前,测试您的网址。

RewriteEngine ON

#1) redirect file.html to file
RewriteCond %{THE_REQUEST} \s/([^.]+)\.html\s [NC]
RewriteRule ^ /%1? [L,R=301]

#2) rewrite /file to file.html
RewriteCond %{DOCUMENT_ROOT}/$1.html -f
RewriteRule ^(.*)/?$ /$1.html [L]

相关问题