偶尔出现HTTPS混合内容警告

时间:2017-02-14 作者:Danny

我们很难解决这个问题。它最终只是自我修复了。

我们安装了SSL,更改了settings -> general 指向网站https版本的URL。所有资产似乎都能正常加载。然而,我们今天注意到,有一个特定页面有混合内容警告,并且没有加载资产。所有其他页面都很好。然后,大约10分钟后,该页面自行解析并通过https加载。一切都很好!我们没有改变一件事。

什么可能导致通过ssl加载内容的偶尔“中断”?

我们使用的是total cache插件,但没有使用cdn。我没有尝试关闭或清除缓存。

我们尚未编辑wp\\U配置。php来强制ssl或任何东西。。。下一步可以试试。

我们在代码库中找不到任何硬编码的http链接。主题似乎设置了所有资产负载,我们没有包括任何海关负载(我找不到)。

仍在继续挖掘,但如果有人有任何见解,将不胜感激!!

1 个回复
SO网友:Stephen Ostermiller

我只是在我的网站上看到了这个问题。我的问题是,该网站既可以https://example.com/http://example.com. 如果对页面的第一个请求是http 版本中,指向资产的链接将指向http:

  • http://example.com/wp-content/themes/customizr/assets/front/img/thumb-standard-empty.png
  • http://example.com/wp-content/uploads/...
  • http 资产链接将被放入缓存。当有人要求翻页时https 而缓存的页面被返回,由于http 页面缓存中的链接。

    如果第一个访问页面的人已结束https, 一切正常。页面缓存将使用https 资源链接。

    我通过重定向到解决了此问题https 将以下代码放在my my的顶部。htaccess文件,然后清除所有缓存。

    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    
    这样WordPress就不会被http 请求和缓存总是得到适当的构建。

    我曾想过将网站URL设置为包括https 足以防止这个问题。然而,情况似乎并非如此。我的“设置”->“WordPress地址(URL)”和“设置”->“网站地址(URL)”始终都设置为https://example.com. 我原以为WordPress本身会使用该设置向HTTPS发送重定向,但显然不是。我还以为该设置会用于编写指向资产URL的链接,但显然也不是这样。

相关推荐

多站点:将主站点的URL更改为HTTPS

我已经在新安装的WordPress上设置了多站点。然后我创建了一些其他网站,所以,最后,我有了这样的东西http://example.comhttp://site1.example.comhttp://site2.example.comhttp://site3.example.com然后我安装了SSL数字证书,因此我更改了网站的URL以匹配HTTPS方案:http://example.com更改我转到的方案Sites > All Sites, 然后单击每个站点,在选项卡“信息”(第一个)中,我只需更