【问题标题】:http and non-www redirect to httpshttp 和非 www 重定向到 https
【发布时间】:2014-04-07 09:40:18
【问题描述】:

好的。我非常讨厌它。我已经尝试解决这个问题好几个小时了,但我仍然不知道是错的还是我错过了什么。

我有这个代码:

RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^$ 
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ https://www.domain.com%{REQUEST_URI} [R=301,L,NE]

它确实将http请求重定向到https但是 每当我输入 domain.com 时,它都会重定向到 https://domain.com 这会引发一个 ssl 错误,上面写着:

这可能不是您要找的网站! 您试图访问 domain.com,但实际上您访问了一个标识为 www.domain.com 的服务器。这可能是由于服务器上的错误配置或更严重的原因造成的。您网络上的攻击者可能试图让您访问 domain.com 的虚假(且可能有害)版本。

【问题讨论】:

  • 您是否拥有来自 CA 的有效签名 ssl 证书?如果是这样,请确保它已正确安装。自签名证书将不起作用。如果你使用www,它可以工作吗?购买 ssl 证书时,许多 CA 会同时为您提供 domain.com 和 www.domain.com,以便两者都能正常工作。

标签: .htaccess http redirect https


【解决方案1】:

我不确定您的 ssl 证书,但无论是否存在 www/http,这都应该适合您。

试试这个总是强制 www 和 https。

RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*) https://www.domain.com%{REQUEST_URI} [R=301,L,NE]

【讨论】:

    猜你喜欢
    • 2018-09-26
    • 1970-01-01
    • 1970-01-01
    • 2015-05-01
    • 2012-05-30
    • 1970-01-01
    • 1970-01-01
    • 2016-10-30
    • 2015-10-23
    相关资源
    最近更新 更多