問題描述

隨着 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 postGitHub 中的詳細説明。

如果您正在使用更新,請確保刷新您的緩存插件。

參考文獻

注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。