这个过程需要非常小心,操作不当会导致网站后台无法登录、前台页面显示错误,请务必在修改前备份整个网站文件和数据库!

修改路径主要涉及两个核心部分:
- 数据库配置:存储网站根目录路径和后台路径的地方。
- 后台配置文件:PHP 程序读取配置的地方。
下面我将分两种情况详细介绍修改方法:
更换域名(例如从 www.old.com 改为 www.new.com)
这种情况最常见,也是最需要注意的,因为涉及到网站 URL 的全面替换。
第一步:修改数据库中的域名信息
织梦系统将网站的基本信息存储在 #@_homepageset 表中,我们需要修改这个表里的域名。

-
登录数据库管理工具:进入你的 cPanel、phpMyAdmin 或者其他数据库管理工具。
-
选择正确的数据库:选择你的 DedeCMS 网站所使用的数据库。
-
进入
#@_homepageset表:这个表名中的#@_是你安装时设置的数据表前缀,默认是dede_,请根据你的实际情况选择。 -
编辑记录:这个表通常只有一条数据,点击“编辑”或“修改”按钮。
(图片来源网络,侵删) -
修改字段值:
value字段:这个字段里存储了序列化的数据,包含了网站域名、路径等信息,你需要找到并修改里面的domain和cookiedomain值。- 将
s:9:"www.old.com";中的www.old.com替换为你的新域名www.new.com。 - 将
s:11:".old.com";中的.old.com替换为你的新域名.new.com。
- 将
itemname字段:通常为cfg_cmspath或类似,无需修改。typeid字段:通常为1,无需修改。
示例: 修改前:
a:2:{i:"domain";s:9:"www.old.com";i:"cookiedomain";s:11:".old.com";}修改后:a:2:{i:"domain";s:9:"www.new.com";i:"cookiedomain";s:11:".new.com";} -
保存修改。
第二步:修改数据库中的内容(非常重要!)
网站的所有文章、栏目、图集等内容里都包含了旧域名的链接,必须批量替换掉,否则前台页面打开的所有链接都是旧的。
-
在 phpMyAdmin 中执行 SQL 查询:
- 选择你的数据库。
- 点击顶部的“SQL”选项卡。
- 将以下 SQL 语句(根据你的表前缀
dede_修改)输入到执行框中:
-- 替换文章正文中的旧域名 UPDATE `dede_addonarticle` SET body = REPLACE(body, 'http://www.old.com', 'http://www.new.com'); -- 替换文章简介中的旧域名 UPDATE `dede_archives` SET description = REPLACE(description, 'http://www.old.com', 'http://www.new.com'); -- 替换文章自定义属性中的旧域名 UPDATE `dede_archives` SET keywords = REPLACE(keywords, 'http://www.old.com', 'http://www.new.com'); -- 替换所有内容表中的旧域名(织梦版本不同,内容表名可能不同,如 `dede_arctype`, `dede_soft`, `dede_product` 等) -- 这是一个通用示例,你需要根据你网站实际使用的表来执行 UPDATE `dede_arctype` SET typename = REPLACE(typename, 'http://www.old.com', 'http://www.new.com'); UPDATE `dede_arctype` set description = REPLACE(description, 'http://www.old.com', 'http://www.new.com'); UPDATE `dede_arctype` set seotitle = REPLACE(seotitle, 'http://www.old.com', 'http://www.new.com'); -- 如果你使用了图集模型,也需要替换 UPDATE `dede_addonimages` SET body = REPLACE(body, 'http://www.old.com', 'http://www.new.com'); -- ...以此类推,替换所有你认为可能包含旧URL的表
注意:请务必将
http://www.old.com和http://www.new.com替换成你自己的旧域名和新域名。dede_也要换成你的真实表前缀。 -
执行 SQL:点击“执行”按钮。
第三步:修改后台目录名(可选但推荐)
如果你也想修改后台目录名(例如从 dede 改为 admin),以增加安全性,请按以下步骤操作:
-
重命名文件夹:通过 FTP 或文件管理器,将网站根目录下的
dede文件夹重命名为你想要的新名字,admin。 -
修改配置文件:
-
打开网站根目录下的
data文件夹。 -
找到并编辑
admin目录下的config.php文件。 -
找到
$cfg_cmspath和$cfg_adminpath这两个变量,将它们的值修改为你的新后台目录名。// 修改前 $cfg_cmspath = '/你的网站根目录'; $cfg_adminpath = '/你的网站根目录/dede'; // 修改后 $cfg_cmspath = '/你的网站根目录'; $cfg_adminpath = '/你的网站根目录/admin';
-
保存文件。
-
第四步:更新缓存并测试
- 登录后台:用新域名和新后台目录名登录网站后台。
- 更新系统缓存:进入“系统” -> “系统基本参数” -> “核心设置”,点击“提交”按钮,更新系统缓存。
- 全站检查:登录前台,逐个栏目、逐篇文章检查链接是否都已更新为新域名,检查图片、附件等是否能正常显示。
只修改网站路径(例如从 改到 /mywebsite/)
这种情况通常发生在服务器上部署多个网站,或者需要将网站放在一个子目录下。
第一步:修改数据库中的路径信息
- 登录数据库:同情况一。
- 进入
#@_homepageset表:编辑唯一的一条记录。 - 修改
value字段:找到s:9:"/";这样的部分,将其修改为你的新路径s:11:"/mywebsite/";,注意路径前后的斜杠。 - 保存修改。
第二步:修改后台配置文件
这是最关键的一步,织梦的后台路径是硬编码在配置文件中的。
- 打开文件:通过 FTP 或文件管理器,打开网站根目录下的
/data/common.inc.php文件。 - 修改关键变量:
$cfg_cmspath:将值修改为你的网站根目录在服务器上的绝对路径。- 你的网站文件在
/home/user/www/mywebsite,那么这里就填/home/user/www/mywebsite。
- 你的网站文件在
$cfg_adminpath:将值修改为你的后台目录在服务器上的绝对路径。- 后台目录是
/home/user/www/mywebsite/dede,那么这里就填/home/user/www/mywebsite/dede。
- 后台目录是
- 保存文件。
第三步:检查并修改其他配置(可选)
检查 /data/ 目录下其他 .php 文件(如 config.cache.inc.php 等),看看是否有硬编码的路径需要修改,但通常修改 common.inc.php 就足够了。
第四步:更新缓存并测试
- 登录后台:用修改后的路径登录后台。
- 更新系统缓存:进入“系统” -> “系统基本参数” -> “核心设置”,点击“提交”。
- 全站检查:检查前台页面是否正常,图片、链接等是否指向正确的路径。
总结与注意事项
| 步骤 | 修改域名 (old.com -> new.com) | 修改路径 (/ -> /myweb/) |
|---|---|---|
| 数据库配置 | 修改 #@_homepageset 表中的 domain 和 cookiedomain |
修改 #@_homepageset 表中的路径值 |
| 内容替换 | 必须执行,批量替换所有内容表中的旧URL | 通常不需要,除非内容里硬编码了绝对路径 |
| 后台配置 | 修改 data/admin/config.php 中的 $cfg_adminpath |
必须执行,修改 data/common.inc.php 中的 $cfg_cmspath 和 $cfg_adminpath 为服务器绝对路径 |
| 测试 | 全站检查链接和图片 | 全站检查链接和图片 |
核心要点:
- 备份!备份!备份! 这是最重要的,防止操作失误导致网站无法恢复。
- 域名修改的核心是数据库内容的批量替换,很多人会忽略这一步,导致前台页面依然跳转旧地址。
- 路径修改的核心是
data/common.inc.php文件中的绝对路径配置,后台程序依赖这个文件来定位文件位置。 - 如果操作后出现 404 或其他错误,请仔细检查每一步是否正确,特别是数据库和配置文件中的路径和域名是否准确无误。
