织梦网站迁移是一个涉及多个环节的系统性工作,需要谨慎操作以确保数据完整性和网站正常运行,以下是详细的迁移步骤及注意事项,帮助顺利完成织梦网站的迁移过程。

迁移前准备工作
-
评估网站环境
在迁移前,需明确目标服务器与原服务器的环境差异,包括操作系统(Linux/Windows)、Web服务器(Apache/Nginx)、数据库版本(MySQL 5.6+/MariaDB)、PHP版本(建议7.0+)以及是否需要开启特定扩展(如GD库、curl等),若环境差异较大,需提前在目标服务器配置兼容环境。 -
备份原网站数据
- 数据库备份:通过织梦后台“系统”-“数据库备份/恢复”功能生成SQL文件,或通过SSH登录服务器使用
mysqldump -u用户名 -p密码 数据库名 > backup.sql
命令导出数据库。 - 文件备份:通过FTP或SSH下载整个网站目录(通常包含dede、data、uploads等文件夹),确保所有文件(包括附件、模板、插件)完整下载。
- 数据库备份:通过织梦后台“系统”-“数据库备份/恢复”功能生成SQL文件,或通过SSH登录服务器使用
-
准备目标服务器
- 在目标服务器安装Web环境(如LAMP/LNMP栈)和对应版本的PHP、MySQL。
- 创建数据库并导入原数据库结构(暂不导入数据),确保数据库用户拥有足够权限(SELECT、INSERT、UPDATE、DELETE、ALTER等)。
核心迁移步骤
文件迁移
- 上传文件:将原网站目录下的所有文件通过FTP或SCP上传至目标服务器的Web根目录(如
/var/www/html/
)。 - 权限设置:确保关键目录权限正确:
dede/
(后台目录):建议设为755或750,禁止外部访问。data/
(缓存目录):设为755,确保可写。uploads/
(附件目录):设为755。- 文件权限一般设为644,目录设为755。
数据库迁移
- 修改数据库配置:
打开目标服务器网站目录下的data/common.inc.php
文件,修改数据库连接信息:$cfg_dbhost = 'localhost'; // 数据库地址 $cfg_dbname = '新数据库名'; // 数据库名 $cfg_dbuser = '数据库用户名'; // 用户名 $cfg_dbpwd = '数据库密码'; // 密码 $cfg_dbprefix = 'dede_'; // 表前缀(需与原表前缀一致)
- 导入数据库:
使用phpMyAdmin或SSH命令mysql -u用户名 -p新数据库名 < backup.sql
导入备份数据库,若表前缀修改,需通过phpMyAdmin的“查找替换”功能统一替换SQL文件中的前缀。
修改网站配置
- 更新绝对路径:
登录织梦后台,进入“系统”-“系统基本参数”-“核心设置”,修改“网站根目录”和“网站主页链接”为新的绝对路径(如/var/www/html/
)。 - 修改模板中的路径:
检查所有模板文件(.htm
)中的绝对路径,例如{dede:global.cfg_cmspath/}
等变量是否正确,避免因路径错误导致资源无法加载。 - 清理缓存:
删除data/cache/
目录下的所有缓存文件,重新生成缓存。
处理特殊问题
- 伪静态规则迁移:
若原网站使用伪静态,需将Apache的.htaccess
或Nginx的nginx.conf
规则文件同步至目标服务器,并确保Web服务器模块已启用(如Apache的mod_rewrite)。 - 附件路径问题:
若附件存储在本地,需检查dede/attachment/
目录下的文件是否完整,并确保数据库中的附件路径与实际路径一致,可通过织梦后台“文件管理器”批量修复路径。 - 跨域问题:
若网站涉及跨域请求(如调用外部API),需在目标服务器配置跨域策略(如修改Nginx的add_header
指令)。
迁移后测试与优化
-
功能测试
(图片来源网络,侵删)- 逐一测试网站前台页面(首页、列表页、内容页)、后台登录、会员中心、表单提交等功能。
- 检查图片、CSS、JS等资源是否正常加载,可通过浏览器开发者工具(F12)排查404错误。
- 测试数据库操作(如发布文章、评论)是否正常,确保数据读写无误。
-
性能优化
- 启用Gzip压缩(通过
.htaccess
或Nginx配置)。 - 配置浏览器缓存(设置
Cache-Control
和Expires
头)。 - 若网站流量较大,可考虑启用CDN加速静态资源。
- 启用Gzip压缩(通过
-
安全加固
- 修改织梦后台默认登录地址(如将
dede/login.php
改为自定义目录)。 - 更新织梦程序至最新版本,修补已知漏洞。
- 禁用不必要的后台功能模块(如“采集”),减少安全风险。
- 修改织梦后台默认登录地址(如将
常见问题处理
问题现象 | 可能原因 | 解决方案 |
---|---|---|
后台无法登录 | 数据库配置错误或缓存未清理 | 检查common.inc.php 中的数据库信息,删除data/cache/ 下的缓存文件 |
图片无法显示 | 路径错误或权限问题 | 检查模板中的图片路径,确保uploads/ 目录权限为755 |
首页空白 | PHP版本不兼容或缓存问题 | 升级PHP版本或重新生成首页缓存 |
相关问答FAQs
Q1: 迁移后网站出现“Fatal error: Allowed memory size exhausted”错误怎么办?
A1: 该错误通常是由于PHP内存不足导致的,可通过以下方式解决:
- 修改
php.ini
文件中的memory_limit
值(如调整为256M
); - 在织梦后台“系统设置”-“性能选项”中关闭不必要的缓存功能;
- 检查插件是否存在内存泄漏,禁用可疑插件。
Q2: 迁移后网站栏目页列表为空,但内容管理中有数据,如何修复?
A2: 可能原因是栏目缓存未更新或SQL表前缀不一致,解决步骤如下:

- 进入织梦后台“系统”-“一键更新网站”,勾选“更新栏目HTML”并执行;
- 检查
data/common.inc.php
中的$cfg_dbprefix
是否与数据库表前缀一致; - 若仍无效,通过phpMyAdmin执行
REPAIR TABLE 表名
修复数据表。