WordPress开启HTTPS后正文图片改为HTTPS两种方法

WordPress 站点开启 HTTPS 后,文章中引用的图片就很有必要把 HTTP 统一改为 HTTPS,要不然会地址栏上的绿锁就会有黄色的三角,感觉是很不爽的。为了解决这个问题,我们有两种方法:一个是治标不治本的办法,就是在主题的  functions.php 文件中加入字符替换语句,这样读者在每次访问的时候会相应的把图片的 http 链接替换为 https,而数据库的原始内容不变;另一个彻底根治的办法是,直接进入数据库用 SQL 语句把 HTTP 直接替换为 HTTPS。下面老文笔记就这两个方法本文做简单介绍:

WordPress开启HTTPS后正文图片改为HTTPS两种方法 - 第1张 - boke112联盟(boke112.com)

方法一:通过主题的 functions.php 文件来批量替换

在主题文件的 functions.php(WP后台“外观”-“编辑”右侧可以找到)里加入如下代码(注意域名需要做相应修改)

/* 替换图片链接为 https */
/* 来源(https://www.wenrr.com/): */
function https_image_replacer($content){
if( is_ssl() ){
/*已经验证使用 $_SERVER['SERVER_NAME']也可以获取到数据,但是貌似$_SERVER['HTTP_HOST']更好一点*/
$host_name = $_SERVER['HTTP_HOST'];
$http_host_name='http://'.$host_name.'/wp-content/uploads';
$https_host_name='https://'.$host_name.'/wp-content/uploads';
$content = str_replace($http_host_name, $https_host_name, $content);
}
return $content;
}
add_filter('the_content', 'https_image_replacer');

PS:老文认为应该不用那么复杂,直接使用以下代码可能会更加简练一些,毕竟大家的域名基本上都是固定的。

function replacehttp($content){
if( is_ssl() ){
$content = str_replace('http://域名/wp-content/uploads', 'https://域名/wp-content/uploads', $content);
}
return $content;
}
add_filter('the_content', 'replacehttp');

方法二:通过 SQL 语句进行正文的批量替换

PS:操作前请务必对数据库进行备份,以避免不可挽回的数据丢失!

WordPress开启HTTPS后正文图片改为HTTPS两种方法 - 第2张 - boke112联盟(boke112.com)

运行如下语句批量替换:

UPDATE wp_posts SET post_content = replace(post_content, 'http://域名/wp-content/uploads','https://域名/wp-content/uploads');

PS:记得将以上语句中的域名及路径个自己的,如果更改过数据库表的前缀,还要记得修改wp_为自己的前缀哦。

关于WordPress开启HTTPS后正文图片改为HTTPS两种方法的相关内容;如有侵权,请联系老文删除。

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
老文的头像老文
上一篇 2021年9月27日 上午11:19
下一篇 2021年10月7日 上午1:26

相关推荐

  • 如何提升WordPress网站打开前后台的速度

    给大家介绍如何提升WordPress打开前后台的速度,希望对需要的朋友有所帮助!装好WordPress之后,准备想访问自己的网站,或是登入后台的时候,却发现,这个速度不敢恭维,即使是本地话的程序,也是慢慢的。操作起来也要挺久。那下面我们来解决一下这个问题,提升WordPress的打开速度。 造成这个主要是谷歌被屏蔽的问题,其被屏蔽的主要原因,大家都懂的。 现…

    2022年2月12日 建站知识
    622
  • WordPress新建页面没有评论框的解决方法

    WordPress是一个功能非常丰富的系统。对于新手而言,有些功能的开启关闭真的不太好找。不过,WordPress教程,如果大家善于使用度娘或者谷歌等炒鸡流弊的搜索引擎,发动你们的小拇指,去搜索百度一下,基本都可以找到答案。 现在分享一个比较常见的功能(其实是我被问得有点多,有点烦躁) 就是无论是新建的文章还是新建的页面,有些小伙伴都会问:怎么不见评论框?不…

    2021年11月7日
    336
  • 数据库MySQL服务状态经常崩溃停止,一个自动化命令就可以解决

    我们建站的时候经常会碰到数据库崩溃停止的情况,可以使用 Shell 脚本来检测 MySQL 服务状态并在需要时重启它。以下是一个简单的 Shell 脚本示例,它会检查 MySQL 服务是否运行,如果服务停止,脚本将尝试重启服务。   通用方案 编写脚本:创建一个脚本文件,例如 restart_mysql.sh,并编写以下内容: 代码语言:bash …

    2024年7月31日
    231
  • 腾讯轻量服务器挂载云硬盘的方法

    操作步骤 使用控制台挂载云硬盘 登录 云硬盘控制台。 在云硬盘列表页,您可以通过以下方法挂载云硬盘: 挂载单个云硬盘:选择状态为“待挂载”的云硬盘所在行右侧的更多 > 挂载。 批量挂载云硬盘:勾选状态为“待挂载”的云硬盘,单击云硬盘列表上方的挂载进行批量挂载。 弹出“挂载到实例”窗口,进入“挂载到实例”步骤。如下图所示: 选择需挂载的实例,并参考以下信…

    2022年11月27日
    154
  • zblog如果防止被黑?zblog安全模式怎么设置?

    有很多的zblog用户也会来咨询我们“zblog如何防止被黑?”,毕竟做站长的最怕就是网站被黑了。 本文就尝试说明下zblog如果防止被黑和zblog安全模式怎么设置。 防止网站被黑有两个方面可以配置:服务器和程序。 服务器的安全配置这个题目太大了,而且每种配置的服务器的配置方法也不一样,对于这个领域也没有涉猎,所以本文就只讲程序这块怎么来设置。 首先zbl…

    2021年11月18日
    702