.htaccess - 两个条件 - 用于https和非https子域

时间:2014-10-28 11:33:01

标签: .htaccess ssl

我的网站有一个ssl证书。

我正在使用htaccess将所有人重定向到我网站的https网址。

即,任何输入http://www.example.comwww....的人都会被重定向到https地址。

一切正常。

但现在我已经创建了子域名http://www.blog.example.com

这不受ssl保护。 所以我需要这个网址不要重定向到https

这就像我现在拥有的htaccess一样:

Header set Strict-Transport-Security "max-age=31536000; "
RewriteEngine On

RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NC]

RewriteCond %{HTTP_HOST} ^blog.example.com [NC]
RewriteRule ^(.*)$ http://www.blog.example.com/$1 [R=301]

尝试了很多事情,但没有奏效。一直在这里搜索其他问题,但他们的解决方案似乎不起作用。有什么帮助吗?

由于

1 个答案:

答案 0 :(得分:1)

尝试:

Header set Strict-Transport-Security "max-age=31536000; "
RewriteEngine On

RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} !blog\.example\.com$ [NC]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [L,R]