www.example.com未重定向到HTTPS

时间:2017-03-07 04:34:09

标签: wordpress apache .htaccess ssl https

当我们在浏览器地址栏中输入example.com时,它会重定向到https://example.com以及内页正常工作(重定向到https网站),

问题1:

当我们在浏览器地址栏中输入www.example.com时,它不会重定向到https://www.example.com并且网站加载时没有https,但内页会重定向到https

问题2:

https://example.com/file.php显示当前内容,但http://www.example.com/file.php显示旧内容,我们签入了隐身模式并清除了缓存

问题3 :(这可能是问题的根本原因)

当我们通过访问网址$_SERVER显示http://www.example.com/server.php值为HTTPS时看到on参数

我们print_r $_SERVER文件中的server.php

环境:

  1. Godaddy VPS服务器
  2. Apache 2.3.1(mod_rewrite已启用)
  3. PHP 5.4.45
  4. WordPress的
  5. 配置了有效的SSL证书 - 打开了所需的端口(80,443)
  6. 在Wordpress设置中,

    我们将httpsSite url的{​​{1}}地址设为Home page url

    我们在https://example.com中使用以下代码进行重定向

    .htaccess

    我们还检查了以下网站,他们对RewriteCond %{HTTPS} !on [OR] RewriteCond %{HTTP_HOST} ^www\.example.com$ RewriteRule ^(.*)$ https://example.com%{REQUEST_URI} [L,R=301]

    显示了积极的回应

    SSLhttps://www.sslshopper.com

    每次我们通过清除缓存和cookie来检查

    DNS记录:

    A(主持人)

    1. 主持人whynopadlock.com使用TTL @
    2. 指向xx.xx.xx.xx

      CName(别名)

      1. 主持人600 Seconds使用TTL www
      2. 指向@

        请建议我如何使用1 Hourwww.example.com

        解决此问题

2 个答案:

答案 0 :(得分:0)

RewriteCond%{HTTP_HOST} ^ www。%{HTTP_HOST} 是一个invaild条件,它永远不会返回true,因为您无法在RewriteCond模式中使用服务器变量。您可以使用基于Regex的模式,如下所示:

RewriteCond %{HTTP_HOST} ^www\.example.com$

答案 1 :(得分:0)

我在.htaccess文件中使用以下代码将http请求重定向到https。

RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{HTTP_USER_AGENT} !MSIE/[1-8]\. [NC]
RewriteCond %{HTTP_HOST} www.example.com
RewriteRule ^.*$ https://www.example.com%{REQUEST_URI} [L,R=301]