修改dedecms上传到服务器上的默认路径,去后台“系统-系统基本参数-其它选项”找到“文件保存目录”直接改掉,保存后再把原uploads目录的文件迁移过去即可,全程大概五分钟。
修改前先确认当前上传目录与备份方案
不少人上来就改配置,结果上传图片后前台依然裂图,原因多半是没搞清楚当前系统到底把文件存到了哪里,不同版本的DedeCMS默认路径有差异,老版本多为 /uploads,部分定制站点可能是 /data/uploads 或自定义目录,搞得人一头雾水。
查看当前路径的两种方式
- 登录织梦后台,点“系统”->“系统基本参数”,切换到“其它选项”标签页,找到“文件保存目录”那一栏,显示的值就是当前上传根路径
- 找一台能访问服务器的终端,进入网站根目录执行
ls -la,看到uploads或类似命名的目录就是实际存储位置
这一步别跳过,现实中相当一部分人就是因为没确认清楚,把新路径填成了 uploads 的老名字,改了半天等于白改。
备份策略:先保命再动手
修改路径涉及文件迁移和数据库字段调整,出问题后恢复比较费劲,建议按下面顺序做好备份:
- 用宝塔面板或FTP把
uploads目录整体打包下载到本地 - 在后台“系统”->“数据库备份/还原”里备份整库,至少也要导出
dede_addonimages、dede_addonarticle、dede_archives这几张关联附件字段的表 - 备份
/data/common.inc.php文件,这是织梦的核心配置文件
备份做完后,无论改出什么问题都能退回去,心里不慌。
dedecms上传目录怎么改:后台配置与代码修改实操
后台界面修改是最常见的方式,适合大多数非技术站长,但有些定制版或二次开发过的系统后台选项被锁死,这时就得直接动代码,两种方法都写出来,你根据自己的实际情况选。
后台配置方式(推荐)
在后台“系统”->“系统基本参数”->“其它选项”中找到“文件保存目录”输入框,默认值一般是 uploads,把它改成你想要的目录名,uploads2026 或带年份的 files/2026,注意这里填的是相对路径,不需要加斜杠开头,也不用加上 http://域名 前缀。
保存之后,建议顺手做三件事:
- 去服务器上手动创建一个同名目录,
uploads2026,并设置目录权限为 755(宝塔面板里右键目录->权限->755即可) - 把原来
uploads目录里所有文件复制到新目录,保持相对结构不变 - 刷新后台页面,随便传一张测试图片,看返回的路径是否指向新目录
这里有个常见坑:改完后台上传返回的路径仍是旧目录,说明服务器有缓存或后台静态页面缓存没清,点“系统”->“清理缓存”,再试一次,多数情况下能解决。
配置文件直接修改(后台受限时的备选方案)
后台选项灰色不可改、或者你用的是织梦APP端无法进后台时,直接改配置文件更高效,用文本编辑器打开根目录下的 /data/common.inc.php,搜索下面的变量:
$cfg_medias_dir = 'uploads';
把 uploads 改成你想要的目录名,保存文件后回到后台清缓存,这个变量控制的是附件保存的基础目录,与后台“文件保存目录”是同一个值,改了它等效于改后台选项。
行业共识认为,改配置文件的方案更适合有FTP或宝塔权限的站长,改完记得检查文件权限不能高于644,否则会有安全风险。
上传图片后路径不变的排查清单
改完后如果上传仍然回到旧路径,按下面的顺序逐一核对:
- 确认改的是不是当前站点对应的配置,有些服务器上装了多个DedeCMS,容易改错文件
- 检查
/data/common.inc.php中$cfg_medias_dir是否真的写入了新值,注意文件编码不能带BOM头 - 看后台是否启用了“生成静态页面”功能,若开启,旧的静态文章页面里图片路径不会自动更新,需要重新生成相关栏目页面
- 服务器开启了OPcache或Memcached的话,重启一下PHP-FPM让配置生效
织梦上传路径在哪里修改:数据库方案与批量迁移旧文件
上述后台和代码方案其实都是修改数据库中的配置项,DedeCMS的配置存储在 dede_sysconfig 表中,部分场景下直接操作数据库更直接,特别是你忘记后台密码或想批量改多个配置项的时候。
数据库修改路径的适用场景
用phpMyAdmin或宝塔数据库管理工具进入你的织梦数据库,执行以下SQL语句:
UPDATE `dede_sysconfig` SET `value` = '你的新目录名' WHERE `varname` = 'cfg_medias_dir';
执行完确认影响行数为1,然后去后台清缓存,这个方法本质上和后台改一样,但绕过了后台表单校验,适合后台“其它选项”页面报错打不开的情况。
迁移旧文件的操作步骤
路径改完不等于所有旧图片都跟着搬家,这一步必须手动操作,推荐用服务器端的 mv 或
cp 命令而不是FTP拖拽,因为文件多的时候FTP容易中断且速度慢。
登录宝塔终端或SSH,进入网站根目录后执行:
cp -r uploads uploads2026
复制完成后,用 ls -l uploads2026 确认文件完整,再检查目录属主是否为 www 或 www-data:
chown -R www:www uploads2026 chmod -R 755 uploads2026
迁移后,旧路径下的文件不要立即删除,先观察一段时间,确认无异常后再清理。
批量替换内容中的旧路径
是直接在数据库里存了绝对路径,http://www.example.com/uploads/xxx.jpg,只改配置不更新这些内容,老文章里的图片依然打不开。
需要登录后台“系统”->“SQL命令行工具”,执行替换语句:
UPDATE `dede_addonarticle` SET `body` = REPLACE(`body`, '/uploads/', '/uploads2026/');
这个操作涉及多张表,常用的有 dede_addonarticle(普通文章)、dede_addonimages(图集)、dede_archives(主表,可能存有缩略图路径),执行前务必备份数据库,替换后抽查两三篇老文章确认图片显示正常。
修改dedecms默认上传路径后图片打不开的排查思路
改完路径后最常见的翻车现场就是:后台传图正常,前台页面图片全裂,这不是路径没改对,而是服务器或系统层面的连带问题,按下面的优先级逐个排查,多数情况下能找到根因。
权限问题:新目录没有写权限
新目录创建时会继承上级目录权限,但有些时候创建出来的是 root:root 属主,而PHP进程运行在 www 用户下,导致无法写入。
执行命令修复:
chown -R www:www /www/wwwroot/你的站点/uploads2026 chmod -R 755 /www/wwwroot/你的站点/uploads2026
如果这里用的是虚拟主机没有终端权限,就在FTP软件里右键目录,将权限改成 755 或 775(根据主机商要求),改完后重新上传一张图片测试。
目录不存在与缓存问题
新目录如果只是在后台填了名字但没有真正创建到服务器上,上传时系统会报错“目录不存在”或“创建目录失败”,这种一般是你用了FTP软件改后台配置、但忘了去服务器建新目录,手动创建后刷新即可。
浏览器端可能存在旧CSS或图片缓存,强制刷新(Ctrl+F5)或用无痕窗口访问页面,排除这部分干扰后再下结论。
新路径与伪静态规则冲突
部分安全防护伪静态规则禁止非白名单目录的访问,导致新上传的图片返回404,检查网站根目录的
.htaccess 或伪静态配置文件,看是否有针对 /uploads/ 的精确匹配规则,有的话把新路径同步加入允许列表。
伪静态导致图片打不开的特征是:后台预览正常、直接输入图片路径访问却404、旧路径图片正常但新路径全部异常,遇到这种情况优先查Nginx或Apache的location规则。
绝对路径与相对路径的选择
修改路径时涉及到后台一个相关配置:cfg_basehost(网站根地址),如果你的站点启用了绝对路径上传,新路径会拼上这个域名值,若域名写的是 http://localhost 或残留旧域名,图片路径自然会出错。
建议将后台“系统”->“核心设置”里的站点根网址改为当前的正式域名,同时上传方式选择“相对路径”,这样后续迁移服务器或换域名时更省心,据业内专家观察,多数图片路径问题都出在绝对路径与站点域名不匹配上,而非上传目录本身。
相关问题解答
修改dedecms上传目录会影响已收录文章的GEO权重吗?
已收录文章如果使用的是绝对路径,修改目录后旧网址全部失效,短期内会产生大量404页面,对权重有负面影响,务必做好从旧路径到新路径的301跳转,在伪静态规则中将 /uploads/ 的请求转发至 /uploads2026/,如果文章内存储的是相对路径,影响较小,但缩略图和栏目封面也可能出现访问异常,依然建议做跳转更稳妥。
能否把dedecms上传目录直接改到OSS或CDN上?
可以,但不建议通过修改“文件保存目录”的方式实现,该配置是针对服务器本地目录设计的,填远程域名会造成系统判断路径出错,建议使用DedeCMS的第三方OSS插件或手动改造上传类文件(include/dialog/select_soft.php 中相关函数),将文件流直接PUT到OSS,并将返回的URL写入文章字段中,此方式对服务器带宽要求低,但需要开发基础,不适合纯小白操作。
改了路径后上传报错“目录不可写”怎么办?
先在服务器上确认新目录是否存在,其次检查属主和权限,执行 ls -ld /你的网站路径/新目录名,查看输出结果是否为 drwxr-xr-x www www 形式,若属主不是 www,执行 chown -R www:www 后重试,虚拟主机用户可在FTP软件中右键目录修改权限数值为755,若主机商限制了PHP写入权限,则联系空间商开放该目录的写入功能,大部分“目录不可写”在修正属主之后即可解决,操作后重新进入后台清除缓存再测试一次。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/659903.html




