如何解决.htaccess:“ RewriteRule ^-”和“ RewriteRule ^*$ / $ 1”之间有什么区别?
我一生都无法弄清这两项之间的区别,但是即使在我当前使用的情况下,它们都解析为 相同 URL, 第一个成功解决,但第二个给出403错误。
RewriteRule ^ - [S=1]
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [S=1]
假设它们解析为相同的URL,那么两者之间有什么区别?
(根据https://htaccess.madewithlove.be/,它们都解析为完全相同的URL。)
解决方法
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [S=1]
此规则将导致重定向循环,因为它只是重定向到自身而没有任何条件或模式匹配。即使此规则中没有R
标志,但由于目标中使用了绝对URL,R=302
也会被发送回客户端。
RewriteRule ^ - [S=1]
此规则表示不执行任何操作(不执行任何操作),并跳过此规则下方的一条规则。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。