一个治标不治本的方案是在主题的 function.php 文件中加入字符替换语句,这样读者在每次访问的时候会相应的把图片的 http 链接替换为 https,而数据库的原始内容不变;另外,更根本的解决方案是,直接从 SSH 进入 MySQL(微魔用的是 MariaDB),用 SQL 语句替换。后者虽然能够长久解决问题,但对于不熟悉 SQL 的同学请谨慎操作。下面就这两个方法本文做简单介绍:
1.通过主题的 function.php 文件来批量替换
在主题文件的 function.php(WP 后台“外观”-“编辑”右侧可以找到)里加入如下代码(注意域名需要做相应修改)
function replacehttp($content){
if( is_ssl() ){
$content = str_replace(‘http://www.111cn.net /wp-content/uploads’, ‘https:// www.111cn.net /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.111cn.net /wp-content/uploads’,’https:// www.111cn.net /wp-content/uploads’);
运行只要没有报错就可以查看效果了,注意:以上两者选择其中一个就可以,如果你不熟悉 SQL 操作就选 1,但由于每次页面访问都要运行函数(已做静态缓存除外),因此会有一定性能损失;如果对 SQL 比较熟悉,就可以用 2,一劳永逸。
本文为原创文章,版权归国外主机测评所有,欢迎分享本文,转载请保留出处!
内容反馈