如何解决如何使用.htaccess将重定向子目录合并到根目录并同时删除HTML扩展名?
我尝试将Redirect子目录合并到根目录,并使用.htaccess删除.html
但是我的活动有问题
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
# RedirectMatch 301 ^/path/$ http://testdomain.com/
# RedirectMatch permanent ^/path/$ http://testdomain.com/
# RedirectMatch 301 ^/path/.*$ http://testdomain.com/
# RewriteRule ^path/(.*)$ /$1 [R=301,NC,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html [NC,L]
</IfModule>
但是我无法在根目录中获得子目录链接,因此每次尝试从前4行清除# 但我没有得到结果
我喜欢这样做
http://testdomain.com/path/hello.html
to
http://testdomain.com/hello
现在有了这段代码,我可以删除HTML扩展名,并且链接状态就像
http://testdomain.com/path/hello.html
TO
http://testdomain.com/path/hello
同时,我收到错误404 Not Found,请指导我。
解决方法
您可以使用以下规则替换您的规则:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/path/$1.html -f
RewriteRule ^(.+?)/?$ path/$1.html [L]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。