问题描述
随着 Chrome 版本 44.0.2403.89 m 的发布,我注意到我们的网站现在已经完全破裂了。所有的 HTTP 网址都被重定向到 HTTPS 网址,这是一个问题,因为我们的网站不支持 HTTPS 。
请注意,任何其他浏览器都不会发生这种情况,并且正在使用以前的 Chrome 版本。
我已经尝试用相对链接替换我们所有的样式表调用,并且已经有效,但是自动或通过绝对路径加载的图像以及导航仍然被破坏。在接受安全警告并继续操作之后,导航时抛出的错误页面请参见下图。
任何人有任何建议,甚至可能更新.htaccess 文件,或功能的东西?
谢谢。
最佳解决方案
解决方案 1:在服务器上启用 mod_header,并将此规则添加到我的 appache2.conf 文件中:
<IfModule mod_headers.c>
RequestHeader unset HTTPS
</IfModule>
解决方案 2:或者您需要将代码添加到当前主题的 fonction.php 文件中:
function https_chrome44fix() {
$_SERVER['HTTPS'] = false;
}
add_action('init', 'https_chrome44fix',0);
次佳解决方案
这似乎是一个仅影响 Apache 的错误,该 Apache 将标题 HTTPS
的用户值作为未修复的标题 HTTPS
而不是 HTTP_HTTPS
发送。
您应该可以使用 simple plugin 修复它:
if ( empty ( $_SERVER['SERVER_SOFTWARE'] ) )
return;
if ( FALSE === stristr( $_SERVER['SERVER_SOFTWARE'], 'apache' ) )
return;
if ( empty ( $_SERVER['HTTPS'] ) )
return;
if ( '1' === $_SERVER['HTTPS'] )
$_SERVER['HTTPS'] = FALSE;
if ( '1' === $_SERVER['HTTP_HTTPS'] )
$_SERVER['HTTP_HTTPS'] = FALSE;
第三种解决方案
WooCommerce 发布了一个修复这个问题的更新 (至少对我来说)
修复 – 修复 Google Chrome 强制使用 SSL 。这可能会导致负载平衡器或反向代理之后的网站出现一些问题。阅读更多。
their blog post 或 GitHub 中的详细说明。
如果您正在使用更新,请确保刷新您的缓存插件。
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。