除子域名外,301重定向整个站点

时间:2013-09-19 14:04:41

标签: .htaccess redirect rewrite subdomain

我已在我的.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)

我还有一些子域名,并计划添加更多子域名。非常感谢帮助。

1 个答案:

答案 0 :(得分:2)

您可以使用此规则:

RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$ [NC]
RewriteCond %{HTTPS} !=on 
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]