【问题标题】:Redirect all https://www.mydomain.com to https://mydomain.com using htaccess (2 SSL HOST in cpanel) [duplicate]使用 htaccess 将所有 https://www.mydomain.com 重定向到 https://mydomain.com(cpanel 中的 2 SSL HOST)[重复]
【发布时间】:2013-04-03 08:14:40
【问题描述】:

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

之前我有 https://www.mydomain.com 的 ssl 证书,但它坏了,我们为主机 https://mydomain.com 注册新的 ssl

在 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 时总是收到安全警报。

我在这里犯了什么错误?

提前致谢

【问题讨论】:

  • 2和3有什么区别
  • 我在第三次使用 {HTTPS_HOST}

标签: .htaccess


【解决方案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]

【讨论】:

  • 感谢您的回复,它的回答很好,但我无法将“mydomain.com”重定向到“mydomain.com”,其他都很好。这里的主要问题是,我有 ssl 证书“mydomain.com”,因为服务器问题导致 ssl 中断,并在“mydomain.com”中新安装了 ssl。这是问题吗?你说什么?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-18
  • 2017-08-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-01
  • 1970-01-01
相关资源
最近更新 更多