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/wordpress/3122.html

(0)
彬彬笔记彬彬笔记
上一篇 2023年4月15日 16:46
下一篇 2023年5月31日 21:33

相关推荐

发表回复

登录后才能评论
蜀ICP备14017386号-13