使用htaccess将所有https://www.mydomain.com重定向到https://mydomain.com(cpanel中有2个SSL HOST)

时间:2013-04-11 08:05:46

标签: .htaccess

我需要重定向一个域https://www.mydomain.com to https://mydomain.com.我使用此.htaccess并不适合我。

以前我拥有https://www.mydomain.com的ssl证书而且它已经破产了,我们为主机注册了新的ssl https://mydomain.com

在WHM中只有一个ssl主机,但在cpanel中有两个主机,一个是旧的www.mydomain.commydomain.com(重定向会产生这种影响吗?)

.htaccess在下面。

RewriteEngine on

RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^www\.mydomain\.com$ [NC]
RewriteRule ^(.*)$ https://mydomain.com/$1 [R=301,L]

RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(www\.)?mydomain\.com$ [NC]
RewriteRule ^(.*)$ https://mydomain.com/$1 [R=301,L]

我在输入https://www.mydomain.com时始终收到安全警报。

我在这里犯的错误是什么?

提前致谢

1 个答案:

答案 0 :(得分:0)

  

这里的错误是什么?

错误在于没有%{HTTPS_HOST}变量。 %{HTTP_HOST}是HTTP协议的一部分请求标头(Host)。您不需要第3行,您要做的是使用%{HTTPS}变量检查请求是否为HTTPS,就像您在第一个条件中所做的那样:

RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(www\.)?mydomain\.com$ [NC]
RewriteRule  ^(.*)$ https://mydomain.com/$1 [L,R=301]

RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^www\.mydomain\.com$ [NC]
RewriteRule  ^(.*)$ https://mydomain.com/$1 [L,R=301]