域名迁移之后常见的一个坑:博客程序设置改了,但文章正文里存的图片地址还是旧域名前缀,全站图片批量失效。一篇一篇手改不现实,直接改数据库里的字符串最省事。
先确定替换规则,别误伤
用 phpMyAdmin 演示,用 Navicat 等数据库工具操作完全一样。动手前先想清楚要替换的片段:比如旧地址是 https://xxxxxxx/image/2023,图片挪到了 https://yyyyyyyy/image/2023/,那么只需要把旧域名后面的 https://xxxxxxx/image/ 批量换成 https://yyyyyyy/image。替换片段里带上 image 目录这一段,是为了防止链接里非图片的地址被一起改掉。
改文章表 typecho_contents
选中 Typecho 的数据库,打开 typecho_contents 表,点 SQL 标签执行下面语句,这条负责文章正文里的图片地址:
UPDATE typecho_contents SET text = REPLACE(text,'旧域名地址','新域名地址');
改字段表 typecho_fields
封面图等存在自定义字段里,再到 typecho_fields 表执行:
UPDATE typecho_fields SET str_value = REPLACE(str_value,'旧域名地址','新域名地址');
验证与兜底
两条语句显示受影响行数不为零,基本就改到位了。回博客翻几篇文章,确认图片能正常加载;执行前记得备份整库,REPLACE 是全表字符串操作,写错参数想回滚只能靠备份。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
















暂无评论内容