【问题标题】:Wordpress SSL & www rewritesWordpress SSL 和 www 重写
【发布时间】:2018-07-05 06:33:33
【问题描述】:

遇到一些 url 重写的问题。 我想将所有网址重定向到没有 www 的 https

目前我有:

1) 使用 (s) 强制 https - 工作 http://example.com => https://example.com

2) 使用 (s) 强制 https 并删除 www - working http://www.example.com => https://example.com

3) 使用 (s) 请求从 https 中删除 www - 失败 https://www.example.com => https://example.com

似乎它甚至没有通过 ERR_SSL_UNRECOGNIZED_NAME_ALERT 到达我的 htaccess 代码 网站可能暂时关闭,或者它可能已永久移至新网址。

这是我的 htaccess 文件中的内容

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.example.com$ [NC]
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
</IfModule>

该网站由 Host Gator 托管,我联系了支持人员并被告知无法设置,因为该网站是使用 Wordpress 构建的。

这对我来说似乎不是正确的答案,所以我想在这里问。

任何信息表示赞赏。

干杯

【问题讨论】:

    标签: wordpress .htaccess ssl


    【解决方案1】:

    RewriteCond %{HTTPS} off 不会检测 HTTPS 请求,因此您可能只想为 HTTPS 请求添加另一个规则(具有相同/相似的条件),例如:

    RewriteCond %{HTTPS} on
    RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
    RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
    

    除了添加这个之外,您还可以使用 OR 条件简化所有内容:

    <IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteCond %{HTTPS} !=on  [OR]
        RewriteCond %{HTTP_HOST} !^example\.com$ [NC]
        RewriteRule ^ https://example.com%{REQUEST_URI} [R=301,L]
    </IfModule>
    

    这意味着,如果 HTTPSnulloff 或者域 不是以 example.com 开头,重定向到 https://example.com

    有趣的是,支持人员认为 Wordpress 以某种方式阻止了 .htaccess 的使用,但我想知道您的主机是否有某些 .htaccess 限制,阻止依赖它(例如 BulletProof Security)正常工作。

    【讨论】:

    • 非常感谢您的建议。我已经尝试了所有这些的几种变体,但我的 SSL www 请求总是导致 ERR_SSL_UNRECOGNIZED_NAME_ALERT 错误页面。我知道支持@Host Gator 了解 WP 使用 .htaccess 所以一定是他们有某些限制,或者我想知道 SSL 证书本身是否仅适用于名称的非 www 变体?
    • 非常感谢 - 我再次与支持人员联系,现在让他们承认在尝试为 www 创建 CNAME 记录失败后存在问题。等待支持票的回复。将在此处更新调查结果,以防其他人偶然发现此页面并遇到相同问题。
    猜你喜欢
    • 2016-04-02
    • 2014-11-24
    • 2019-01-28
    • 1970-01-01
    • 2016-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-10
    相关资源
    最近更新 更多