2016-09-17 42 views
0

我最近在我的网站上购买并集成了HTTPS,我在这个网站上开发了子域名上的其他网站。 HTTPS在注册时可以在www和非www网站上完美运行。Htaccess在WWW和非WWW上使用https,除了其他子域名

我用下面的命令从所有的子页面自动跳转到https:

RewriteCond %{HTTPS} !=on 
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

但我对something.mydomain.com一个很多网站和其他子域,现在自动跳转到https,当然显示错误的不可信的连接和安全问题,因为证书没有注册到这些子域。

可以请别人指点我正确的方向,该命令应该如何将所有子域重定向到除https子域之外的非https版本?所以它不会再向客户显示错误?

非常感谢。

回答

0

重定向只www.mydomain.com到HTTPS版本,使用

RewriteCond %{HTTPS} !=on 
RewriteCond "%{HTTP_HOST}" "^www\." [NC] 
RewriteCond "%{SERVER_PORT}" "^80$" 
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 
+0

感谢队友,我用你的代码,并根据需要重新编写它。解决方案在另一评论。 – LubWn

0

所以接下来的代码做现在的伎俩:

RewriteCond %{HTTPS} !=on 
RewriteCond "%{HTTP_HOST}" "^www\." [OR] 
RewriteCond "%{HTTP_HOST}" "^domain.com [NC] 
RewriteCond "%{SERVER_PORT}" "^80$" 
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

所以它重定向到HTTP://www.domain.comHTTPS://www.domain.com,但不包括其他子域。它还将HTTP://domain.com重定向到HTTPS://domain.com

相关问题