4

我需要重定向一个https://www.mydomain.com to https://mydomain.com.使用此 .htaccess 的域,但它对我不起作用。

以前我有 ssl 证书https://www.mydomain.com,但它坏了,我们为主机注册新的 sslhttps://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

我在这里犯了什么错误?

提前致谢

4

1 回答 1

-1

这里有什么错误?

错误是没有变量%{HTTPS_HOST}。这%{HTTP_HOST}是作为 HTTP 协议一部分的请求标头(主机)。您不需要第 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]
于 2013-04-11T08:14:17.443 回答