将WordPress文章图片从http转为https

这几天在调试主题维护网站的时候,发现Chrome提示我“您访问的页面不安全”,F12查看Debug,提示的关键词为Mixed Content,意思是“混合的内容”,怎么解决Wordpress的Mixed Content呢?

Mixed Content一般出现为:当浏览器以加密形式(https)加载页面html时Html页面时,该页面的部分资源文件(如图片、视频、样式表文件、脚本等)使用了非加密的http方式进行加载,浏览器则认这是不安全的加载方式,会提示甚至阻断用户加载网页。

将Wordpress文章图片从http转为https
mixed content

如下图所示,Mixed Content会严重影响搜索引擎优化,我这四百多想错误里边有一半都是加载http协议头的图片,因此都需要处理。

将Wordpress文章图片从http转为https
网站监控软件发现我有440处错误,细看好多都是mixed content

因此解决方案也很简单了,就是把页面中所涉内容之所有http协议头换成https,这一方面提高了访问安全性,同时也让网页看起更清爽,有利于用户体验。在Wordpress中有两种方式处理这样的问题,其一是用用一个php小函数将http全部跳转为https,其二则是改数据库,简单粗暴。

添加function将Wordpress附件变成https

很简单的一段代码,今时今日(2022/08/18)测试正常运行,将此段代码放入你Wordpress主题的function.php或类似功能循环文件中,注意将其中的域名和范围修改成自己的。

//将附件变成HTTPS
function replacehttp($content){
    if( is_ssl() ){
        $content = str_replace('http://www.shephe.com/wp-content/uploads', 'https://www.shephe.com/wp-content/uploads', $content);
    }
    return $content;
}
add_filter('the_content', 'replacehttp');

修改数据库将Wordpress正文中的http变成https

登录你的phpMyAdmin数据库管理面板,首先选中你wordpress的数据库,然后点击SQL,运行如下语句(请将域名修改成自己的),done!

UPDATE wp_posts SET post_content = replace(post_content, 'https://www.shephe.com/wp-content/uploads','https://www.shephe.com/wp-content/uploads');
修改数据库将Wordpress正文中的http变成https
修改数据库将Wordpress正文中的http变成https
1920 1342 牧羊人
6条评论

发表评论

请输入关键词...