我需要重定向一个域https://www.mydomain.com to https://mydomain.com.
我使用此.htaccess并不适合我。
以前我拥有https://www.mydomain.com
的ssl证书而且它已经破产了,我们为主机注册了新的ssl https://mydomain.com
在WHM中只有一个ssl主机,但在cpanel中有两个主机,一个是旧的www.mydomain.com
和mydomain.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
时始终收到安全警报。
我在这里犯的错误是什么?
提前致谢
答案 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]