如何解决如果通过 htaccess
我的 .htacess 文件中的以下规则,对于我的 Drupal 网站,将所有非 www URL 重定向到 www 版本。 (例如:https://example.com
-> https://www.example.com
):
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ http%{ENV:protossl}://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
这很好用,但现在我想从重定向到 www 中排除 https://example.com/samltest/test
。我添加了以下内容:
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{REQUEST_URI} !/samltest/ [NC]
RewriteRule ^ http%{ENV:protossl}://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
但是现在当我到达 https://example.com/samltest/test
时,它重定向到 https://example.com/index.php
。有人对我做错了什么有任何想法吗?
解决方法
在您的 .htaccess 顶部像这样:
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{THE_REQUEST} !\s/+samltest [NC]
RewriteRule ^ http%{ENV:protossl}://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
清除浏览器缓存后进行测试。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。