如果它通过 htaccess 具有特定路径,则不要重定向到 www
Don't redirect to www if it has a certain path via 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]
这很好用,但现在我想将 https://example.com/samltest/test
排除在重定向到 www 之外。我添加了以下内容:
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]
清除浏览器缓存后进行测试。
我的 .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]
这很好用,但现在我想将 https://example.com/samltest/test
排除在重定向到 www 之外。我添加了以下内容:
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]
清除浏览器缓存后进行测试。