#SSL时代# WordPress正文图片改为http引用的方法

ssl微魔在很早很早以前就一直在站点儿里吹逼SSL安全证书的重要性(穿越查看,揭穿微魔的谎言),到了2016年,伴随着LetsEncrypt、沃通的免费SSL的普及(此二者做到了StartSSL经营多年都没有做到的事情),安全证书(或者http安全协议)再也不是电子商务网站专属的标签了,个人博客已经开启了新一轮的技术革命(也可以理解为技术宅的ZUO)。

微魔之前分享了不少关于Letsencrypt的SSL的教程(传送),现在自己也在用。但是由于博客开博时间比较早(2011年),所以在开启SSL之前,相当数量的文章里面的插图还是http的引用,本来也没什么,但是在火狐上总会显示成黄色感叹号的小锁头,而非正常情况下的绿色锁头。作为重度的强迫症患者,微魔不得不全网搜寻解决方案。

一个治标不治本的方案是在主题的function.php文件中加入字符替换语句,这样读者在每次访问的时候会相应的把图片的http链接替换为http,而数据库的原始内容不变;另外,更根本的解决方案是,直接从SSH进入MySQL(微魔用的是MariaDB),用SQL语句替换。后者虽然能够长久解决问题,但对于不熟悉SQL的同学请谨慎操作。下面就这两个方法本文做简单介绍:

1.通过主题的function.php文件来批量替换

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

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

2.通过SQL语句进行正文的批量替换

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

登入MySQL或MariaDB(登录方法参见以前的教程

a.切换到WP数据库(把下文的VMVPS换成你自己的),不确定的话可以用“show databases;”命令查看当前有哪些数据库

USE VMVPS

b.运行如下语句批量替换(域名及路径替换称自己的)

UPDATE wp_posts SET post_content = replace(post_content, 'http://www.oyayu.com/wp-content/uploads','http://www.oyayu.com/wp-content/uploads');

运行只要没有报错就可以查看效果了,注意:以上两者选择其中一个就可以,如果你不熟悉SQL操作就选1,但由于每次页面访问都要运行函数(已做静态缓存除外),因此会有一定性能损失;如果对SQL比较熟悉,就可以用2,一劳永逸。

猜你 喜欢

关于作者: 微魔

小微魔,大智慧!

多条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注

重庆幸运农场好玩吗 福彩农场 重庆幸运农场永恒胆码 彩神岛幸运农场下载 幸运农场单个是咋算的
重庆时时彩100%中秘籍 幸运农场深夜场地点 重庆幸运农场几点结束 七乐彩杀号一休彩票 幸运农场开奖报号
幸运农场几点到几点 双色球2017071期杀红 幸运农场幸运二复式 重庆幸运农场网上咋买? 幸运农场兑奖
双色球4胆5拖多少钱 重庆幸运农场官方开奖结果 重庆幸运农场是假的吗 幸运农场怎么算钱 重庆幸运农场选号软件
北京赛车pk10规律 山东群英会走势图 加拿大快乐83位 计算器什么牌子质量好 香港六合彩白小姐图库
安徽体彩11选5彩票控 时时彩开奖号码 彩票投注 河南快三软件 浙江11选5历史开奖
快乐扑克logo 浙江飞鱼中奖金额 幸运飞艇软件 安徽体彩网十一选五走势 安徽11选5 黄金7码
必赢彩票网 安徽今天十一选五 黑龙江11选5遗漏号码 pc蛋蛋京东返利 重庆幸运农场技巧方法