wordpress前台js和css顯示http的解決辦法

今天使用wordpress發現一個問題,綁定ip訪問網站一切正常,但是使用cloudflare之後,前台的js和css都變成了http,如果cloudflare使用開發模式,一切又是正常的,很奇怪。

最後經過多次實驗,重要找到了解決辦法

修改wp-includes/load.php,搜索is_ssl

wordpress前台js和css顯示http的解決辦法

添加下面的代碼

// BEGIN NEW TWO LINES
} elseif ( isset( $_SERVER['HTTP_X_FORWARDED_PROTO'] ) && ( 'https' == $_SERVER['HTTP_X_FORWARDED_PROTO'] ) ) {
    return true;
    // END NEW TWO LINES

最後變成下面的樣子,也可以直接複製下面的代碼替換到原來的代碼

function is_ssl() {
    if ( isset( $_SERVER['HTTPS'] ) ) {
        if ( 'on' === strtolower( $_SERVER['HTTPS'] ) ) {
            return true;
        }
        if ( '1' == $_SERVER['HTTPS'] ) {
            return true;
        }
    } elseif ( isset( $_SERVER['SERVER_PORT'] ) && ( '443' == $_SERVER['SERVER_PORT'] ) ) {
        return true;
    // BEGIN NEW TWO LINES
    } elseif ( isset( $_SERVER['HTTP_X_FORWARDED_PROTO'] ) && ( 'https' == $_SERVER['HTTP_X_FORWARDED_PROTO'] ) ) { // <== NEW
        return true;
        // END NEW TWO LINES
    }
    return false;
}
wordpress前台js和css顯示http的解決辦法

最後經過測試,一切正常

到此為止。

發布者:彬彬筆記,轉載請註明出處:https://www.binbinbiji.com/zh-hant/wordpress/3122.html

(0)
彬彬筆記彬彬筆記
上一篇 2023年4月15日 16:46
下一篇 2023年5月31日

相關推薦

發表回復

您的電子郵箱地址不會被公開。 必填項已用 * 標註

蜀ICP備14017386號-13