仅将SSL应用于主域 - .htaccess

时间:2016-01-27 14:58:08

标签: apache .htaccess redirect mod-rewrite ssl

我们已经从Hostgator购买了免费的SSL。基本上,当你升级你的包时你会得到它。

现在,我们有一个主域名(www.example.com)和2个子域名(www.sub.example.com)& (www.sub.example.com)。

我已将此代码输入.htaccess:

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]

主域名工作正常,但是当我想要转到子域名时,我会被重定向到主域名=> www.example.com。

我理解它是因为^(.*)$部分,但对此最好的解决办法是什么?

我希望SSL只能访问主域,http才能访问子域。

1 个答案:

答案 0 :(得分:1)

添加条件以从https重定向中排除子域

RewriteEngine On
RewriteCond %{HTTP_HOST} !^(www\.)?sub\.domain\.com
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]