将 WordPress 文章图片地址从 http 转为 https

将 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,其二则是改数据库,简单粗暴。

1. 修改 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');

2. 修改数据库将 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 Kevin's
「将 WordPress 文章图片地址从 http 转为 https」有 9 条评论
  • 木頭人
    08/24/2022 at 10:30 回复

    囧,文章代码是啥都没有替换~

    也可以搞成相对路径,比如 http://test.com/img/test.jpg 改成 //test.com/img/test.jpg 或者 /img/test.jpg

    • 的头像
      牧羊人
      06/23/2023 at 21:30 回复

      如何实现?

      • 木頭人
        06/25/2023 at 18:35 回复

        貌似你实际已经替换了,只是这篇文章代码中 替换前 和 替换后 的内容是一样的。

  • ejsoon
    08/22/2022 at 13:48 回复

    我是直接導出數據庫,批量替換之後再導入。

  • S̆̈
    08/20/2022 at 21:41 回复

    治标不治本,放wp-content里图一多站就垮了。。。。

    • 的头像
      牧羊人
      08/21/2022 at 00:25 回复

      直接修改数据库应该是没有问题的哦,我现在有台阿里云性能就不够了,,有时候会卡爆

      • 木瓜园
        08/21/2022 at 06:05 回复

        阿里云啥配置

        • 的头像
          牧羊人
          08/22/2022 at 16:12 回复

          yiji 已经停售的 tiny类型,单核1g,机械硬盘的那种,很多年前的了

发表评论

请输入关键词…