htaccess强制https,如果没有子域,则将非www重定向到www


htaccess force https and redirect non www to www if not have a subdomain

我正在尝试强制https并将非www重定向到www:

  • domain.com===>https://www.domain.com
  • www.domain.com===>https://www.domain.com

问题是我有很多子域,而且我没有通配符ssl(目前),所以我想要:

  • (x) .domain.com(www.domain.com除外)===>http://*.domain.com

这可能吗?

我发现和测试的所有应答器都只强制https或将所有非www重定向到www。我的问题是,我不希望子域获得除www之外的https并将非www重定向至www

强制https://www仅适用于www.example.com,您可以使用:

RewriteEngine on
#redirect http non-www to https://www
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(www'.)?example'.com$
RewriteRule (.*) https://www.example.com/$1 [R=301,L]
#redirect https non-www to www
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^example'.com$
RewriteRule (.*) https://www.example.com/$1 [R=301,L]