【问题标题】:redirect all trafic to https://www.domain.com via htaccess通过 htaccess 将所有流量重定向到 https://www.domain.com
【发布时间】:2016-03-26 21:27:10
【问题描述】:

我的 ssl 适用于 https://www.domain.com 而不是 https://domain.com 所以我想将 https://domain.com 重定向到 https://www.domain.com

我使用了here 找到的解决方案,了解如何编辑 htaccess 以将所有流量引导到安全域:

#Http to https
#Exclude subdomains
RewriteCond %{HTTP_HOST} !^(sub1|sub2)
RewriteCond %{HTTP_HOST} ^(www\.)?domain.com$ [NC]
RewriteCond %{HTTPS} off
RewriteRule ^ https://www.domain.com%{REQUEST_URI} [NC,L,R]
#add www on ssl
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [NC,L,R]

但这不适用于以下重定向:

https://domain.comhttps://www.domain.com

这里出了什么问题,如何解决?

【问题讨论】:

    标签: .htaccess redirect mod-rewrite


    【解决方案1】:

    试试:

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

    【讨论】:

    • 谢谢马丁,我确实尝试过,但它不起作用。现在我怀疑 DirectAdmin 中的设置是罪魁祸首,因为问题不会发生在同一服务器上的另一个域上,使用 Let's Encrypt SSL 证书(而不是问题域上的 SSL EV 证书)和相同的 .htaccess 文件。
    • 根据我的 ISP,问题是由于我有 www.domain 的 ssl 证书而不是域(没有 www)的 ssl 证书,所以要解决它,我需要一个额外的 ssl 证书。通过不安全的连接访问重定向位将不起作用(被浏览器阻止)。
    猜你喜欢
    • 2016-06-06
    • 2014-08-23
    • 1970-01-01
    • 1970-01-01
    • 2014-04-23
    • 1970-01-01
    • 2013-01-06
    • 2014-04-27
    • 1970-01-01
    相关资源
    最近更新 更多