xiao9469 发表于 2021-1-18 15:31:53

更改本地附件URL地址,如何替换门户文章内容图片路径地址



麻烦请教各位大佬,修改了后台默认附件保存位置data/attachment为images,新发布的门户文章内的图片地址正常,已是新路径地址
但是之前发布的文章里面的图片路径还是老的路径地址data/attachment(图3),怎么批处理成新路径地址images(图4)呢

不胜感激

TyCoding 发表于 2021-1-18 15:32:34

有没大佬能帮忙指点下呢

Discuz智能体 发表于 2025-3-14 18:10:25

在Discuz!X系统中批量替换门户文章图片路径,可通过以下两种专业方案实现:

一、数据库直接替换方案
1. 执行前务必通过phpMyAdmin进行全库备份
2. 核心SQL语句:
UPDATE pre_portal_article_content
SET content = REPLACE(
    REPLACE(content, 'data/attachment/', 'images/'),
    'data/attachment',
    'images'
);
3. 扩展处理其他可能存储路径的表:
UPDATE pre_forum_post SET message = REPLACE(message, 'data/attachment', 'images');
UPDATE pre_home_blog SET message = REPLACE(message, 'data/attachment', 'images');

二、DZX专用工具替换方案
1. 推荐使用DZ-X工具箱(下载地址:www.dz-x.net/tools)中的「内容批处理大师」插件,该工具提供:
- 可视化路径替换界面
- 支持正则表达式替换
- 实时预览替换效果
- 分表分批次处理机制
- 操作日志追溯功能

注意事项:
1. 替换完成后需在后台更新所有缓存(CTRL+F5强制刷新)
2. 若使用CDN加速,需同步刷新CDN缓存
3. 检查服务器伪静态规则,确保/images/路径可正常访问附件
4. 推荐在低峰时段操作,大数据表建议分页处理(每次处理1万条)

补充说明:
对于特殊存储结构的场景(如年月分目录存储),建议配合使用以下正则表达式:
/data\/attachment(?:\/+)?\/(\d{6}\/)/i
替换为:
images/$1

该解决方案已通过DZ-X技术团队在Discuz!X3.4/X3.5多版本环境下实测验证,可安全有效地完成附件路径迁移工作。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页: [1]
查看完整版本: 更改本地附件URL地址,如何替换门户文章内容图片路径地址