4

我已经搜索了论坛,但我无法弄清楚如何修复我网站上的混合内容错误以使其成为 https。

这是来自chrome的错误:

混合内容:页面https://www.example.com/是通过 HTTPS 加载的,但请求的样式表不安全http://fonts.googleapis.com/css?family=Oswald:300,400,700。此请求已被阻止;内容必须通过 HTTPS 提供。

我是一个完整的菜鸟,不知道在哪里/要改变什么。

请提供菜鸟方向,在此先感谢,一个解决方案将允许我启动....非常感谢!

- -更新 - -

它没有用(可能是因为我)。这是functions.php文件的代码中的位置,但它不起作用(我在is ssl函数上将http更改为https)

$open_sans = _x( 'on', 'Open Sans font: on or off', 'Divi' );

    if ( 'off' !== $open_sans ) {
        $font_families = array();

        if ( 'off' !== $open_sans )
            $font_families[] = 'Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800';

        $protocol = is_ssl() ? 'https' : 'http';
        $query_args = array(
            'family' => implode( '%7C', $font_families ),
            'subset' => 'latin,latin-ext',
        );
        $fonts_url = add_query_arg( $query_args, "$protocol://fonts.googleapis.com/css" );
    }

    return $fonts_url;
}
endif;
4

1 回答 1

7

在主题的 functions.php 文件或 header.php 中找到链接,'http://fonts.googleapis.com/css?family=Oswald:300,400,700然后执行以下两项操作之一:

1)添加一个sto http,谷歌将通过提供字体https

或者

2),去掉http:使链接协议不可知的,即//fonts.googleapis.com/css?family=Oswald:300,400,700 这是在所有情况下兼容的最佳方法。

无论哪种方式,这将解决混合内容错误。

但是,仍然要学习如何使用开发者工具——任何 web 开发的最基本工具——来检查所有加载的资源并找到任何其他加载非 https 的资源,例如图像链接等。使用Firefox中的开发者工具(或Firebug ) 或ChromeSafariIE

于 2016-03-14T02:08:10.477 回答