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

相关推荐

  • HTTP状态码常见的网站错误代码大全

    这里收集常见的错误代码。 不常见的我就不写了。 一些常见的状态码为: 200 – 服务器成功返回网页 404 – 请求的网页不存在 503 – 服务不可用 详细分解: 206 (部分内容) 服务器成功处理了部分 GET 请求。 301 (永久移动) 请求的网页已永久移动到新位置。服务器返回此响应(对 GET 或 HEAD …

    2021年11月17日
    588
  • 腾讯云备案授权码怎么获取,有什么用?

    什么是备案授权码?备案授权码是由服务器生成的用于备案的授权凭证,实际指向该服务器的 IP。详情见 备案授权码。在腾讯云备案需要备案授权码,购买云服务器可以获得备案授权码,那么如何获取备案授权码?备案君分享腾讯云备案授权码生成方法: 备案授权码生成方法: 1、登录到腾讯云备案管理控制台; 2、进入控制台页面后,在顶部菜单栏有一个网站备案的菜单,进入此菜单,如下…

    2022年11月12日
    365
  • 宝塔挂载磁盘教程

    本文中的磁盘/dev/sdb为笔者测试服务器上的命名,在您的服务器中可能是/dev/xdb、/dev/vdb、/dev/xvdb等等请根据实际情况进行修改 1、创建挂载目录(www为宝塔默认安装目录) mkdir -p /www 2、确认是否没有分区的磁盘,如下图,没有分区的磁盘是/dev/sdb,在您的服务器中可能是/dev/vdb,请注意按照实际名称修改…

    2023年2月5日 建站知识
    655
  • wordpress标题自动生成英文别名(拼音)美化网址

    使用wordpress程序建站的朋友很多,因为wp的易用性和可扩展性非常强大,也促使很多朋友开发了不同的主题和插件来实现各种网站功能。比如wordpress默认在编辑文章时的网址标题含有中文字符,这样会使网址不够美观。所以我们就需要手动把网址中的汉字改为拼音或者英文,那么有没有办法让wordpress标题自动生成英文别名(拼音)呢? 有的。wordpress…

    2021年8月12日
    855
  • Discuz论坛网站首页窄屏自定义宽度修改图文教程

    Discuz论坛管理中心默认有窄屏和宽屏的选择,窄屏默认是960px宽度,很多论坛为了页面美观,基本都是1200px的宽度,如何修改DZ论坛首页窄屏宽度大小的呢? 1、在网站根目录中依次打开文件 /template/default/common/common.css 2、直接在文件中快速查找960(文本编辑器中查找快捷键是ctrl+F5)会出现3处,将这3处…

    2024年7月30日 建站知识
    173