- 内容正文中的图片:用户在编辑器里上传或插入的图片。
- 系统/模板中的图片:系统自带的图标、模板文件里引用的图片等。
下面我将针对这两种情况,提供最常用和最有效的修改方法。

(图片来源网络,侵删)
正文中的图片路径(最常见)
这种情况通常发生在更换网站域名后,之前发布的文章里的图片路径还是旧域名,导致图片无法显示。
核心原理
DedeCMS 在发布文章时,会自动将图片从 ../uploads/ 这样的相对路径转换成完整的、基于当时网站域名的绝对路径,当域名更换后,这些路径就失效了,我们需要将这些旧的绝对路径批量替换为新的绝对路径。
推荐工具:使用织梦自带的SQL命令执行器
这是最安全、最高效的方法,无需修改代码,直接在后台数据库里完成批量替换。
操作步骤:

(图片来源网络,侵删)
-
登录 DedeCMS 后台:使用管理员账号登录您的网站后台。
-
进入 SQL 命令执行页面:
- 在左侧菜单栏找到 “系统” -> “SQL命令行工具” -> “SQL命令行工具”。
- 点击进入,你会看到一个文本框,可以在这里输入 SQL 语句。
-
编写并执行 SQL 替换语句:
- 在文本框中输入以下 SQL 语句,请务必根据您的实际情况修改
旧域名和新域名。
UPDATE `dede_addonarticle` SET body = REPLACE(body, '旧域名', '新域名');
-
语句解释:
(图片来源网络,侵删)UPDATEdede_addonarticle`dede_addonarticle是 DedeCMS 存储文章正文的表名(如果你的文章模型是“普通文章”),如果你的模型是“图集”等其他模型,表名可能是dede_addonimages等,这里以最常用的dede_addonarticle` 为例。SET body = REPLACE(body, '旧域名', '新域名'):这是核心操作,它将body字段(文章正文内容)中所有旧域名的字符串替换为新域名的字符串。
-
示例:
- 假设你的旧域名是
http://www.old-site.com,新域名是https://www.new-site.com。 - 那么你的 SQL 语句应该是:
UPDATE `dede_addonarticle` SET body = REPLACE(body, 'http://www.old-site.com', 'https://www.new-site.com');
- 重要提示:
- 旧域名和新域名最好都带上协议(如
http://或https://),并且结尾不要带斜杠(),这样可以避免遗漏或错误替换。 - 如果你的网站是 HTTPS,请务必将
http://替换为https://,否则浏览器会提示“不安全”。
- 旧域名和新域名最好都带上协议(如
- 假设你的旧域名是
- 在文本框中输入以下 SQL 语句,请务必根据您的实际情况修改
-
执行查询:
- 在页面下方,“确认” 按钮旁边通常会有一个选择框,选择“直接运行SQL语句”。
- 点击 “确定” 或 “执行查询” 按钮。
-
验证结果:
系统会提示你受影响的行数,执行成功后,可以到前台随便打开一篇文章,刷新页面,查看图片路径是否已经更新为新域名。
修改系统或模板中的图片路径
这种情况相对少见,通常用于修改系统默认的 Logo、图标,或者修改模板文件里写死的图片路径。
情况1:修改系统默认图片路径(如 Logo、favicon.ico)
这些路径通常在系统基本参数里设置。
- 登录后台:进入 “系统” -> “系统基本参数”。
- 查找相关设置:
- 在左侧菜单选择 “站点信息”,在这里可以修改网站 Logo 的地址。
- 在左侧菜单选择 “核心选项” -> “网站目录设置”,这里可以设置上传目录、附件目录等。
- 在 “核心选项” -> “网站参数设置” 中,可以找到网站ico路径等。
- 修改并保存:将对应的路径修改为你新的路径,然后点击“保存”。
情况2:修改模板文件中的图片路径
如果你在模板文件(.htm 文件)里直接写死了图片路径,
<img src="/static/images/logo.png" />
你需要手动修改这些模板文件。
-
找到模板文件:
- 登录 FTP 或主机文件管理器。
- 进入 DedeCMS 的
/templets/目录,然后进入你当前使用的模板文件夹(default/)。 - 找到包含错误路径的
.htm文件,index.htm、head.htm等。
-
修改路径:
- 推荐使用相对路径:为了网站的可移植性,最好使用相对于当前模板文件的相对路径。
- 你的图片都放在
/templets/default/static/images/目录下,那么在index.htm中,路径就写成static/images/logo.png。
- 你的图片都放在
- 使用绝对路径:如果必须使用绝对路径,请确保路径正确,
/static/images/logo.png(网站根目录下)或/你的目录/static/images/logo.png。
- 推荐使用相对路径:为了网站的可移植性,最好使用相对于当前模板文件的相对路径。
-
更新缓存:
- 修改完模板文件后,回到后台,进入 “系统” -> “性能选项” -> “更新系统缓存”,点击“更新缓存”。
- 这样前台才能立即看到修改效果。
从根源解决问题(更换域名)
如果你更换了域名,仅仅修改文章中的图片路径是不够的,还需要修改所有与域名相关的配置,以避免未来再次出现同样的问题。
-
修改后台基本参数:
- 进入 “系统” -> “系统基本参数” -> “站点信息”。
- 将“网站域名”修改为你的新域名。
- 将“网站根URL”也一并修改。
-
修改数据库中的域名:
- 使用 SQL 命令执行器,执行以下命令,将数据库中所有存储旧域名的地方都替换掉。
- 这条命令会替换
dede_homepagecache表中的缓存域名。UPDATE `dede_homepagecache` SET homepagedata = REPLACE(homepagedata, '旧域名', '新域名');
- 这条命令会替换
dede_arctype表中的栏目默认页面链接。UPDATE `dede_arctype` SET defaultname = REPLACE(defaultname, '旧域名', '新域名');
- (可选)如果文章内容表(
dede_addonarticle)中的body字段没有被包含在第一种方法里,也可以再执行一次。
-
修改配置文件
dede/config.php:- 打开
/dede/config.php文件,找到$cfg_cmsurl这一行,将其值修改为你的新域名。// $cfg_cmsurl = 'http://www.old-site.com'; $cfg_cmsurl = 'https://www.new-site.com';
- 打开
| 修改对象 | 推荐方法 | 注意事项 |
|---|---|---|
| 文章正文中的图片 | 后台 SQL 命令替换 | 最常用、最有效,务必写对 旧域名 和 新域名,并确认文章表名(如 dede_addonarticle)。 |
| 系统默认图片(Logo等) | 后台“系统基本参数”修改 | 在站点信息和核心选项里设置,方便直观。 |
| 模板文件中的图片 | 手动修改模板文件 | 推荐使用相对路径,修改后记得更新系统缓存。 |
| 整体更换域名 | 综合以上方法 | 除了修改图片,还要修改后台参数、数据库缓存和配置文件,确保万无一失。 |
强烈建议:在进行任何数据库操作(尤其是 UPDATE 和 DELETE)之前,务必备份数据库!以防操作失误,可以及时恢复。
