别担心,按照以下步骤逐一排查,绝大多数问题都能解决,问题主要集中在数据库配置和网站根目录路径上。

核心原因分析
您的网站内容分为两部分:
- 静态文件:HTML页面、图片、CSS、JS等,这些是实实在在的文件,存放在您服务器的某个文件夹里(网站根目录)。
- 数据库:存放了网站的所有动态信息,比如文章标题、内容、作者、栏目分类,以及最重要的——对应的静态文件路径。
搬家时,您把这两部分都搬到了新的服务器,数据库里记录的路径还是旧服务器上的路径,当新服务器上的网站去读取数据库时,它根据旧路径去找文件,自然就找不到了,所以页面就会显示空白、错乱或者“没有内容”。
详细排查与解决步骤(按优先级排序)
请严格按照以下步骤操作,每一步都确认无误后再进行下一步。
第一步:检查数据库配置文件 (data/common.inc.php)
这是最最关键的一步,也是90%的问题所在,这个文件存储了连接数据库的所有信息。

-
找到文件:通过FTP或文件管理器,登录到您的新服务器,进入DedeCMS的根目录,找到
data/common.inc.php文件。 -
:用文本编辑器(如Notepad++, Sublime Text,不要用记事本)打开这个文件,检查并修改以下几行:
//数据库连接信息 $_cfg['db_host'] = 'localhost'; // 数据库主机,通常保持 'localhost' 不变 $_cfg['db_user'] = '新的数据库用户名'; // 修改为你在新服务器上创建的数据库用户名 $_cfg['db_pass'] = '新的数据库密码'; // 修改为你在新服务器上创建的数据库密码 $_cfg['db_name'] = '新的数据库名'; // 修改为你在新服务器上创建的数据库名 $_cfg['db_prefix'] = 'dede_'; // 数据库表前缀,如果搬家前后缀不同,这里要改 $_cfg['db_language'] = 'gbk'; // 或 'utf-8',确保编码一致 //网站根目录信息 $_cfg['cfg_basehost'] = 'http://你的新域名.com'; // 修改为你的新域名,**必须带 http:// 或 https://** $_cfg['cfg_cmspath'] = '/'; // 网站在服务器上的根目录,通常为 '/',如果你的网站在子目录,则写 '/子目录名/'
-
保存并上传:修改完成后,保存文件,然后通过FTP重新上传到服务器的
data/目录下,覆盖原文件。
特别注意:

- 域名:
cfg_basehost必须填写完整的新域名,包括http://或https://。 - 路径:
cfg_cmspath是网站在服务器上的物理路径,如果网站直接放在根目录下,,如果放在/blog/目录下,/blog/,这个错误会导致网站所有链接地址错误。
第二步:更新数据库中的网站路径
即使第一步修改了配置文件,数据库里存储的文章、栏目等的路径可能还是旧的,你需要执行一个SQL语句来批量替换。
-
登录phpMyAdmin:通过您的主机控制面板进入phpMyAdmin,选择你的DedeCMS数据库。
-
执行SQL查询:点击顶部的 "SQL" 选项卡。
-
输入替换命令:在文本框中输入以下命令,然后点击“执行”。
-- 将旧域名替换为新域名 UPDATE dede_archives SET redirecturl=REPLACE(redirecturl, 'http://你的旧域名.com', 'http://你的新域名.com'); UPDATE dede_archives SET url=REPLACE(url, 'http://你的旧域名.com', 'http://你的新域名.com'); -- 将旧目录路径替换为新目录路径 -- 如果你的网站从 /olddir/ 搬到 /newdir/,或者从根目录 / 搬到 /blog/ UPDATE dede_archives SET filepath=REPLACE(filepath, '你的旧网站目录', '你的新网站目录'); UPDATE dede_arctype SET typedir=REPLACE(typedir, '你的旧网站目录', '你的新网站目录'); UPDATE dede_arctype SET sitepath=REPLACE(sitepath, '你的旧网站目录', '你的新网站目录'); UPDATE dede_arctype SET defaultname=REPLACE(defaultname, '你的旧网站目录', '你的新网站目录'); UPDATE dede_feedback SET msg=REPLACE(msg, '你的旧网站目录', '你的新网站目录');
如何填写命令:
- 将
http://你的旧域名.com替换为你搬家前的完整域名。 - 将
http://你的新域名.com替换为你搬家后的完整域名。 - 将
你的旧网站目录和你的新网站目录替换为实际的路径,从/home/oldsite/搬到/home/newsite/,如果都是根目录,可以不执行这部分,或者把 替换成 。
第三步:重新生成网站
更新数据库后,网站可能还需要重新生成静态文件才能正常显示。
- 登录DedeCMS后台:使用你的管理员账号登录网站后台。
- 进入“生成”:在左侧菜单栏找到“系统” -> “生成” -> “一键更新网站”。
- 执行更新:
- 先点击“更新主页HTML”。
- 然后点击“更新栏目HTML”。
- 最后点击“更新文档HTML”。
- 如果栏目和文章非常多,这个过程可能会比较慢,请耐心等待,不要刷新或关闭页面。
这个步骤会根据数据库里最新的信息,重新创建所有的HTML页面。
其他可能的原因(如果以上步骤无效)
如果按照前三步操作后问题依旧,请检查以下几点:
-
目录权限问题:
- 确保网站根目录以及其下的
data/、uploads/、templets/等目录的权限设置正确。 - 通常Linux服务器下,目录权限设置为
755,文件权限设置为644。 data/目录的权限可以设置为777(为了安全,生成完后再改回755),或者确保Web服务器用户(如www-data,nginx,apache)有写入权限。
- 确保网站根目录以及其下的
-
index.php文件缺失或错误:- 检查网站根目录下是否存在
index.php文件,并且内容正确,这个文件是网站入口。
- 检查网站根目录下是否存在
-
robots.txt或.htaccess文件:- 检查根目录下是否有
robots.txt文件,它可能禁止了搜索引擎抓取,但通常不影响直接访问。 - 检查
.htaccess文件(如果存在),里面的重定向规则可能指向了旧域名或旧路径,需要修改。
- 检查根目录下是否有
-
服务器环境问题:
- PHP版本:检查新服务器的PHP版本是否与旧服务器兼容,或者是否满足DedeCMS的要求。
- 数据库版本:检查MySQL/MariaDB版本是否兼容。
-
缓存问题:
- 清空浏览器缓存,使用无痕模式访问网站。
- 有些DedeCMS版本有后台缓存,可以在后台“系统” -> “系统设置” -> “系统基本参数” -> “性能选项”中清空缓存。
总结与排查清单
| 问题步骤 | 检查要点 | 解决方法 |
|---|---|---|
| 数据库配置 | data/common.inc.php 文件中的数据库信息、域名、路径是否正确。 |
修改并保存上传该文件。 |
| 数据库中的文章、栏目等记录的URL和路径是否还是旧的。 | 在phpMyAdmin中执行SQL批量替换。 | |
| 重新生成 | 后台是否执行了重新生成静态文件的步骤。 | 在后台“一键更新网站”中重新生成。 |
| 目录权限 | 网站目录和文件权限是否正确。 | 修改目录权限为755,文件为644。 |
| 文件完整性 | index.php 等关键文件是否缺失或损坏。 |
从原备份中恢复或重新上传。 |
| 服务器环境 | PHP和数据库版本是否兼容。 | 联系主机商确认或调整环境。 |
建议您从第一步开始,一步一步地排查,绝大多数情况下,问题都会在前三步得到解决,祝您搬家顺利!
