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

web*_*bit 3 php apache .htaccess mod-rewrite redirect

我试图强制 https 并将非 www 重定向到 www:

问题是我有很多 sudomains 并且我没有通配符 ssl(目前)所以我想要:

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

那可能吗 ?

我发现和测试的所有答案都只强制 https 或将所有非 www 重定向到 www 我的问题是我不希望子域获得 https 除了 www 并将非 www 重定向到 www

sta*_*een 5

要强制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]
Run Code Online (Sandbox Code Playgroud)