标题建议
Typecho 更换域名:批量替换数据库中的旧图片链接

正文内容
最近我的博客从 https://fghdz.top/ 迁移到了新域名 https://reimudao.top/。域名换了,但文章里所有图片链接还是旧的,导致图片无法显示。
手动一篇篇改显然不现实。好在 Typecho 数据库结构清晰,直接用几条 MySQL 命令就能批量替换。
操作前必做:备份数据库
mysqldump -u 用户名 -p 数据库名 > backup.sql⚠️ 无论多熟练,备份都不能省。
替换命令(表前缀为默认的 typecho_)
-- 文章内容中的链接
UPDATE typecho_contents
SET text = REPLACE(text, 'https://fghdz.top/', 'https://reimudao.top/')
WHERE text LIKE '%https://fghdz.top/%';
-- 文章标题中的链接(如果有)
UPDATE typecho_contents
SET title = REPLACE(title, 'https://fghdz.top/', 'https://reimudao.top/')
WHERE title LIKE '%https://fghdz.top/%';
-- 自定义字段中的链接
UPDATE typecho_fields
SET field_value = REPLACE(field_value, 'https://fghdz.top/', 'https://reimudao.top/')
WHERE field_value LIKE '%https://fghdz.top/%';
-- 评论中的图片链接
UPDATE typecho_comments
SET text = REPLACE(text, 'https://fghdz.top/', 'https://reimudao.top/')
WHERE text LIKE '%https://fghdz.top/%';如果出现了一些错误,可以忽略:
-- 自定义字段UPDATE typecho_fields SET field_value = REPLACE(field_value, 'https://fghdz.top/', 'https://reimudao.top/') WHERE field_value LIKE '%https://fghdz.top/%'如果你的表前缀不是 typecho_,先查一下实际前缀:
SHOW TABLES LIKE '%contents';修改 Typecho 设置
别忘了改 设置 里的站点地址:

清理缓存
如果启用了缓存插件,记得清空缓存,否则前台可能还是旧链接。
验证是否替换干净
SELECT text FROM typecho_contents WHERE text LIKE '%fghdz.top%' LIMIT 5;空结果说明一切顺利。
小结
整个操作其实就三步:备份 → 执行 SQL → 改配置。对于图片多、文章多的站点,这种方法比手动编辑高效太多了。
结尾可选补充
如果你也在用 Typecho 并遇到了同样的问题,希望这篇笔记能帮到你。操作前一定一定记得备份数据库!
如果需要我帮你把语气改得更轻松、更技术、或更适合你的博客风格,也可以告诉我。
©版权声明
文章版权归作者所有,未经允许请勿转载。
THE END

-
最新
-
最热
只看作者