1

我在 .htaccess 中设置了站点范围的 301 重定向,如下所示

RewriteEngine On 
RewriteCond %{HTTPS} !=on 
RewriteRule ^.* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L] 

但我想将子域(支持、博客)排除在此重定向中。所以我添加了以下 RewriteConditions

RewriteEngine On 
RewriteCond %{HTTP_HOST} !=support.example.com
RewriteCond %{HTTP_HOST} !=blog.example.com
RewriteCond %{HTTPS} !=on 
RewriteRule ^.* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L] 

这工作得很好。但是我想知道是否有更好的方法可以在仅 1 个 RewriteCond 语句中为所有子域(不是 WWW)指定排除项(而不是为每个子域单独的 RewriteCond)

我还有几个子域,并计划添加更多。将不胜感激。

4

1 回答 1

2

您可以使用此规则:

RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$ [NC]
RewriteCond %{HTTPS} !=on 
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 
于 2013-09-19T14:10:07.903 回答