- 修改数据库中的路径信息:织梦CMS的很多配置、内容、附件路径等都存储在数据库里。
- 修改核心配置文件:主要是
data/common.inc.php文件,它存储了网站的全局配置。
下面我将为你提供详细的步骤、命令行和可视化工具两种方法,并附上重要的注意事项。

(图片来源网络,侵删)
重要提醒:操作前必读
-
备份!备份!备份!
- 备份数据库:这是最关键的一步,在操作前,请务必通过你的主机控制面板(如 cPanel, Plesk)或 phpMyAdmin 导出完整的数据库。
- 备份网站文件:将你当前的整个网站文件夹下载到本地,以防万一。
- 没有备份,不要进行任何操作!
-
了解你的新旧路径
- 旧路径:
/home/wwwroot/oldsite或http://www.yourdomain.com/oldsite - 新路径:
/home/wwwroot/newsite或http://www.yourdomain.com/newsite - 请确保新旧路径的格式一致(都用绝对路径或都用URL)。
- 旧路径:
-
操作顺序
- 强烈建议:先修改数据库,再修改配置文件,如果顺序错了,网站可能会直接无法访问,增加修复难度。
使用命令行/SSH(推荐,效率高)
如果你对Linux命令比较熟悉,这是最快最可靠的方法。

(图片来源网络,侵删)
第一步:修改数据库
我们需要批量替换数据库中存储的旧路径。
-
登录SSH:使用你的SSH工具(如Xshell, PuTTY)登录到你的服务器。
-
登录MySQL:输入以下命令并输入你的数据库密码:
mysql -u [数据库用户名] -p [数据库名]
mysql -u root -p dedecms_db
-
执行批量替换命令:登录成功后,你会看到
mysql>提示符,执行以下SQL语句,将[旧路径]和[新路径]替换成你自己的路径。
(图片来源网络,侵删)UPDATE dede_arctype SET typedir = REPLACE(typedir, '[旧路径]', '[新路径]'); UPDATE dede_archives SET arcurl = REPLACE(arcurl, '[旧路径]', '[新路径]'); UPDATE dede_archives SET body = REPLACE(body, '[旧路径]', '[新路径]'); UPDATE dede_addonarticle SET body = REPLACE(body, '[旧路径]', '[新路径]'); UPDATE dede_addonimages SET body = REPLACE(body, '[旧路径]', '[新路径]'); UPDATE dede_arctiny SET pubdate = REPLACE(pubdate, '[旧路径]', '[新路径]'); UPDATE dede_co_htmls SET dede_addonarticle = REPLACE(dede_addonarticle, '[旧路径]', '[新路径]'); UPDATE dede_co_urls SET url = REPLACE(url, '[旧路径]', '[新路径]'); UPDATE dede_emailtrack SET body = REPLACE(body, '[旧路径]', '[新路径]'); UPDATE dede_feedback SET msg = REPLACE(msg, '[旧路径]', '[新路径]'); UPDATE dede_sysconfig SET value = REPLACE(value, '[旧路径]', '[新路径]'); UPDATE dede_sys_enum SET evalue = REPLACE(evalue, '[旧路径]', '[新路径]'); UPDATE dede_tagindex SET tagurl = REPLACE(tagurl, '[旧路径]', '[新路径]'); UPDATE dede_taglist SET url = REPLACE(url, '[旧路径]', '[新路径]');
说明:
dede_是织梦CMS的默认表前缀,如果你的网站修改过表前缀,请自行替换。- 这几条命令覆盖了栏目、文章、文章内容、附加表、系统配置等最核心的路径信息。
-
退出MySQL:
EXIT;
第二步:修改配置文件
-
找到并编辑配置文件:使用
vim或nano编辑器打开data/common.inc.php文件。vim /home/wwwroot/newsite/data/common.inc.php
(请将
/home/wwwroot/newsite替换为你网站的实际路径) -
修改
$cfg_cmspath和$cfg_mainsite:- 找到
$cfg_cmspath = '/home/wwwroot/oldsite';这一行,将其值修改为你的新路径。 - 找到
$cfg_mainsite = 'http://www.yourdomain.com/oldsite';这一行,将其值修改为你的新网站URL。
修改后应该类似这样:
$cfg_cmspath = '/home/wwwroot/newsite'; $cfg_mainsite = 'http://www.yourdomain.com/newsite';
- 找到
-
保存并退出:
- 在
vim中,按Esc,然后输入wq并回车。
- 在
第三步:修改网站根目录
-
移动网站文件:将旧路径下的所有文件移动到新路径下。
mv /home/wwwroot/oldsite /home/wwwroot/newsite
如果新路径已经存在,请先清空它或确保内容正确。
-
设置正确的权限:
chown -R [网站运行用户]:[网站运行用户] /home/wwwroot/newsite # 如果用户是www,则: chown -R www:www /home/wwwroot/newsite chmod -R 755 /home/wwwroot/newsite chmod -R 777 /home/wwwroot/newsite/data # data目录需要可写权限
使用phpMyAdmin(可视化操作,适合新手)
如果你不熟悉命令行,可以使用phpMyAdmin。
第一步:修改数据库
-
登录phpMyAdmin:在你的主机控制面板中找到phpMyAdmin并登录。
-
选择数据库:在左侧列表中选择你的织梦CMS数据库。
-
执行批量替换:
- 点击顶部的 "SQL" 选项卡。
- 在文本框中粘贴与方法一相同的SQL语句(记得替换
[旧路径]和[新路径])。 - 点击 "执行" 按钮。
UPDATE dede_arctype SET typedir = REPLACE(typedir, '[旧路径]', '[新路径]'); UPDATE dede_archives SET arcurl = REPLACE(arcurl, '[旧路径]', '[新路径]'); UPDATE dede_archives SET body = REPLACE(body, '[旧路径]', '[新路径]'); -- ... (粘贴其他所有UPDATE语句)
第二步:修改配置文件
- 通过FTP或文件管理器:登录你的FTP工具或主机自带的文件管理器。
- 下载并编辑:下载
data/common.inc.php文件到本地,用文本编辑器(如VS Code, Notepad++)打开。 - 修改路径:找到
$cfg_cmspath和$cfg_mainsite,将它们的值修改为你的新路径和新URL。 - 上传文件:保存修改后的文件,并重新上传到服务器的
data/目录下,覆盖原文件。
第三步:修改网站根目录
- 通过FTP/文件管理器:将旧路径下的所有文件和文件夹,移动或复制到新的路径下。
- 设置权限:如果你的主机控制面板支持,可以直接在文件管理器中修改目录权限,通常需要将网站根目录和
data目录设置为755,data目录下的文件设置为777。
后续检查与修复
完成以上步骤后,访问你的新网站地址。
- 检查首页:看是否能正常打开,图片、CSS、JS样式是否错乱。
- 检查栏目和文章:点击各个栏目,打开文章,检查链接是否正确,图片是否能正常显示。
- 检查后台:登录网站后台 (
/newsite/dede/),检查各项功能是否正常。 - 修复链接:如果发现某些链接或图片仍然指向旧路径,可能需要:
- 更新HTML缓存:在后台“系统” -> “系统设置” -> “性能选项”中,点击“更新HTML”。
- 重新生成:对于栏目和文章,可以尝试在后台重新生成一下。
常见问题
-
网站无法访问,显示500错误:
- 检查
data/common.inc.php的路径是否正确。 - 检查
data目录的权限是否为777。 - 检查
include/config.cache.inc.php文件是否存在,如果存在且内容不正确,可以删除它,让系统在下次访问时自动重新生成。
- 检查
-
图片不显示,链接错误:
- 这通常是数据库替换不彻底,请仔细检查数据库中是否还有其他表(如自定义模型表)包含旧路径,并补充执行
UPDATE语句。
- 这通常是数据库替换不彻底,请仔细检查数据库中是否还有其他表(如自定义模型表)包含旧路径,并补充执行
-
后台登录后跳转到旧路径:
- 检查
$cfg_mainsite是否已正确修改,清空浏览器缓存和Cookie后再试。
- 检查
希望这份详细的指南能帮助你顺利完成网站路径的更改!再次强调,备份是成功的关键。
