我已在我的.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)
我还有一些子域名,并计划添加更多子域名。非常感谢帮助。
答案 0 :(得分:2)
您可以使用此规则:
RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$ [NC]
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]