核心步骤概览
- 准备工作:备份!备份!备份!(网站文件和数据库)
- 移动文件:将网站文件从根目录移动到二级目录。
- 修改配置文件:更新
data/common.inc.php中的路径信息。 - 更新数据库:修改数据库中所有包含旧URL的记录。
- 修改模板文件:更新模板中的静态资源路径。
- 测试与验证:检查网站是否正常运行,包括前台和后台。
第一步:准备工作(至关重要!)
在进行任何操作之前,请务必备份你的网站。

(图片来源网络,侵删)
-
备份网站文件:
- 通过FTP或文件管理器,将你网站根目录下的所有文件和文件夹下载到你的本地电脑,这包括
dede、data、images、include、templets等所有目录。
- 通过FTP或文件管理器,将你网站根目录下的所有文件和文件夹下载到你的本地电脑,这包括
-
备份数据库:
- 登录你的主机控制面板(如cPanel、宝塔面板等)。
- 进入phpMyAdmin数据库管理工具。
- 选择你的织梦数据库。
- 点击“导出”,选择“快速”或“自定义”,格式选择“SQL”,然后点击“执行”,将数据库文件下载到本地。
这一步是防止操作失误导致网站无法恢复的“后悔药”。
第二步:移动文件
-
通过FTP/文件管理器操作:
(图片来源网络,侵删)- 登录你的FTP或主机控制面板的文件管理器。
- 进入网站根目录(通常是
public_html或www)。 - 创建一个新的目录,命名为
dede(或你想要的任何二级目录名称)。 - 将除
dede目录本身外的所有文件和文件夹(index.php,data,include,templets等)剪切并粘贴到新创建的dede目录中。
移动前根目录内容:
/public_html/ ├── index.php ├── robots.txt ├── data/ ├── dede/ (后台管理目录) ├── include/ ├── images/ └── ... (其他文件)移动后根目录内容:
/public_html/ └── dede/ (现在包含了原来的所有文件,除了后台目录本身) ├── index.php ├── robots.txt ├── data/ ├── dede/ (后台管理目录,原封不动) ├── include/ ├── images/ └── ... (其他文件)
第三步:修改配置文件
这是最关键的一步,织梦的核心配置文件 data/common.inc.php 中存储了网站的绝对路径和数据库信息。
-
定位文件:通过FTP或文件管理器,打开
/dede/data/common.inc.php文件。
(图片来源网络,侵删) -
修改
cfg_cmspath:- 在文件中找到
$cfg_cmspath这一行。 - 将它的值从网站的绝对根路径修改为你的二级目录的绝对路径。
修改前:
$cfg_cmspath = '/home/your_username/public_html'; // 这是根目录的绝对路径
修改后:
$cfg_cmspath = '/home/your_username/public_html/dede'; // 这是二级目录的绝对路径
- 如何获取绝对路径?
- 方法一:在文件管理器中,右键点击你的
dede文件夹,查看“属性”或“信息”,通常会显示路径。 - 方法二:在
common.inc.php文件中找到$cfg_basedir,它的值通常就是cfg_cmspath应该设置的值。
- 方法一:在文件管理器中,右键点击你的
- 在文件中找到
-
修改
cfg_admin_dir(可选,但推荐):- 找到
$cfg_admin_dir这一行,默认值是dede。 - 为了安全,你可以把它修改成一个别人不容易猜到的名字,
myadmin。 - 注意:如果你修改了这一项,你访问后台的地址就变成了
http://www.yourdomain.com/dede/myadmin/。
- 找到
-
保存文件:保存对
common.inc.php的修改。
第四步:更新数据库(核心步骤)
织梦的数据库中,很多地方都存储了网站的完整URL,如果不更新,前台页面会显示404,图片和链接也无法正常工作。
-
登录phpMyAdmin:再次进入你的数据库管理界面。
-
执行SQL更新语句:
- 选择你的数据库。
- 点击“SQL”标签页,在输入框中执行以下SQL语句,请务必将
http://www.yourdomain.com替换成你自己的域名,/dede/替换成你的二级目录名。
SQL语句:
-- 1. 更新 dede_archives 文章表中的正文内容 UPDATE dede_archives SET body = REPLACE(body, 'http://www.yourdomain.com', 'http://www.yourdomain.com/dede'); -- 2. 更新 dede_addonarticle 文章附加表中的内容 UPDATE dede_addonarticle SET body = REPLACE(body, 'http://www.yourdomain.com', 'http://www.yourdomain.com/dede'); -- 3. 更新 dede_arctype 栏目表中的描述和内容 UPDATE dede_arctype SET description = REPLACE(description, 'http://www.yourdomain.com', 'http://www.yourdomain.com/dede'); UPDATE dede_arctype SET content = REPLACE(content, 'http://www.yourdomain.com', 'http://www.yourdomain.com/dede'); -- 4. 更新 dede_feedback 评论表中的内容 UPDATE dede_feedback SET msg = REPLACE(msg, 'http://www.yourdomain.com', 'http://www.yourdomain.com/dede'); -- 5. 更新 dede_config 系统配置表中的站点信息 UPDATE dede_config SET value = REPLACE(value, 'http://www.yourdomain.com', 'http://www.yourdomain.com/dede') WHERE varname = 'cfg_basehost'; -- 6. 更新所有自定义表单中的内容(如果你的网站使用了自定义表单,需要根据表名调整) -- 如果你的表单表是 dede_myt,字段是 content,则执行: -- UPDATE dede_myt SET content = REPLACE(content, 'http://www.yourdomain.com', 'http://www.yourdomain.com/dede');
- 重要提示:
dede_是织梦默认的表前缀,如果你的数据库表前缀不是dede_(比如是cms_),请务必将上述所有SQL语句中的dede_修改为你自己的表前缀。
-
执行:点击“执行”按钮,数据库中的所有旧URL都会被替换为新的URL。
第五步:修改模板文件
虽然数据库更新可以解决大部分问题,但模板文件(.htm 文件)中可能存在硬编码的路径,特别是引入CSS、JS、图片等资源时。
-
定位模板目录:你的模板文件通常在
/dede/templets/目录下,以及/dede/templets/default/目录中。 -
检查并修改:
- 打开你的模板文件(如
index.htm,article_article.htm等)。 - 查找类似
{dede:field name='phpurl'/}或直接写死的/images/这样的路径。 - 最佳实践:织梦模板有自己的标签来处理路径,尽量使用这些标签,而不是写死绝对路径。
- CSS/JS路径:使用
{dede:global.cfg_templets_dir/}/style.css - 图片路径:使用
[field:litpic/]或{dede:field name='litpic'/}来获取文章缩略图,而不是写死路径。
- CSS/JS路径:使用
- 如果发现确实有写死根目录路径的地方,手动将其修改为二级目录的路径,例如将
/images/改为/dede/images/。
- 打开你的模板文件(如
第六步:测试与验证
- 访问前台:在浏览器中打开
http://www.yourdomain.com/dede/,检查网站首页、栏目页、文章页、图片等是否正常显示。 - 访问后台:在浏览器中打开
http://www.yourdomain.com/dede/dede/(如果你没有修改后台目录名),使用你的管理员账号登录,检查后台各项功能是否正常。 - 检查全站:点击所有栏目、链接,确保没有404错误。
- 检查静态化:如果你的网站开启了“生成HTML”,检查生成的静态文件路径是否正确,有时可能需要重新生成一下首页和栏目页。
常见问题与解决方案
-
问题1:后台登录后显示空白或404。
- 原因:通常是
data/common.inc.php文件中的$cfg_cmspath或$cfg_admin_dir路径不正确。 - 解决:重新检查并修正
common.inc.php文件中的路径。
- 原因:通常是
-
问题2:前台页面样式丢失,图片不显示。
- 原因:CSS和图片的路径不正确,通常是模板中写死了根目录路径。
- 解决:按照第五步,修改模板文件中的路径,或使用织梦提供的模板标签。
-
问题3:网站首页可以打开,但点击栏目或文章后404。
- 原因:数据库中的URL没有被完全更新,或者伪静态规则没有适配新的路径。
- 解决:
- 再次检查数据库,确保所有相关的URL都已更新。
- 如果你的网站开启了伪静态,你可能需要重新设置伪静态规则,在宝塔面板中,进入“网站设置” -> “伪静态”,选择“织梦”,然后保存并重启Nginx/Apache,新的规则会自动适配二级目录。
-
问题4:移动后网站速度变慢。
- 原因:可能存在过多的301重定向,或者浏览器缓存问题。
- 解决:清理浏览器缓存,检查服务器是否正确处理了根目录的访问(可以设置一个301重定向到二级目录,但这不是必须的)。
按照以上步骤仔细操作,你的织梦网站就能成功迁移到二级目录了,祝你操作顺利!
