当前位置:网站首页 >  百科

DedeCMS域名迁移后网站各类异常故障分步实操修复指南

时间:2026年05月20日 05:29:57 来源:易频IT社区

修复前置准备

DedeCMS域名迁移后网站各类异常故障分步实操修复指南(0)

你需要提前准备:登录新服务器FTP/主机面板获取网站根目录权限,登录数据库管理面板phpMyAdmin(地址一般为你的域名/phpmyadmin,账号密码可在主机面板查看)。操作前必须先备份整站文件和数据库,避免操作失误无法回滚

步骤1:修正核心配置文件的域名信息

90%的迁移后打不开故障,都是因为没修改核心配置文件的域名,操作步骤如下:

  • 1. 打开网站根目录下的data/common.inc.php文件
  • 2. 找到以下两行配置,将旧域名替换为你的新域名:
``` $cfg_basehost = 'http://旧域名.com'; $cfg_cmsurl = $cfg_basehost; ```

修改完成后的示例:

``` $cfg_basehost = 'http://你的新域名.com'; $cfg_cmsurl = $cfg_basehost; ```

如果是HTTPS或者带端口的域名,直接填写完整地址即可,保存后覆盖原文件。如果你开启了伪静态,还需要打开根目录的.htaccess(Apache)或者Nginx的vhost配置文件,把里面所有旧域名替换成新域名。

步骤2:批量替换数据库中残留的旧域名

DedeCMS的文章内容、图片路径、附件地址都存储在数据库中,不替换会出现图片不显示、链接跳旧域名的问题,新手直接用phpMyAdmin可视化操作即可:

新手操作步骤:

  • 1. 打开phpMyAdmin,选择你DedeCMS对应的数据库,点击顶部导航的「SQL」,打开查询输入框
  • 2. 复制以下SQL命令,把其中的旧域名、新域名、表前缀替换成你自己的(默认表前缀是dede_),直接执行即可:
``` 替换文章正文中的旧域名 UPDATE dede_addonarticle SET body = REPLACE(body, 'http://旧域名.com', 'http://新域名.com'); 替换文档链接中的旧域名 UPDATE dede_archives SET arcurl = REPLACE(arcurl, 'http://旧域名.com', 'http://新域名.com'); 替换上传附件路径中的旧域名 UPDATE dede_uploads SET url = REPLACE(url, 'http://旧域名.com', 'http://新域名.com'); 替换系统配置中的旧域名 UPDATE dede_sysconfig SET value = REPLACE(value, 'http://旧域名.com', 'http://新域名.com'); ```

DedeCMS域名迁移后网站各类异常故障分步实操修复指南(5)

执行后提示更新多少行即为替换成功,没有报错就是完成操作。如果是VPS用户,也可以直接登录MySQL进入对应数据库,执行上述相同SQL即可,批量替换效率更高。

步骤3:更新缓存重新生成静态页

替换域名后仍显示旧内容或者错位,一般是缓存未更新导致,操作步骤:

  • 1. 登录新网站后台,地址为:你的新域名/dede(修改过后台目录的请进对应目录)
  • 2. 点击左侧菜单 生成 → 更新系统缓存,勾选所有选项后点击确定更新
  • 3. 缓存更新完成后,依次点击「更新主页HTML」「更新栏目HTML」「更新文档HTML」,全选所有内容后重新生成静态页

如果仍有个别图片不显示,检查根目录uploads文件夹的权限,Linux服务器设置为755即可,Windows服务器给IUSR用户添加读取权限。

步骤4:常见特殊故障修复方案

1. 迁移后后台空白或者404

一般是目录权限错误,检查data目录权限,Linux设置为755,确认data目录下的common.inc.php、config.cache.inc.php两个文件存在,权限设置为644。如果文件丢失,可从官方原版提取,官方下载地址:https://www.dedecms.com/download.html

2. 首页正常,所有内页404

一般是伪静态规则错误,Apache环境直接把以下规则复制到根目录.htaccess文件即可:

``` RewriteEngine On RewriteBase / RewriteRule ^index\.html$ /index.php [L] RewriteRule ^list-([0-9]+)-([0-9]+)\.html$ /list.php?tid=$1&page=$2 [L] RewriteRule ^list-([0-9]+)\.html$ /list.php?tid=$1 [L] RewriteRule ^view-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /view.php?arcID=$1&cid=$2&page=$3 [L] RewriteRule ^view-([0-9]+)-([0-9]+)\.html$ /view.php?arcID=$1&cid=$2 [L] RewriteRule ^view-([0-9]+)\.html$ /view.php?arcID=$1 [L] ```

DedeCMS域名迁移后网站各类异常故障分步实操修复指南(10)

Nginx环境把以下规则添加到域名vhost配置的server段,添加后重启Nginx生效:

``` rewrite ^/index.html$ /index.php last; rewrite ^/list-([0-9]+)-([0-9]+).html$ /list.php?tid=$1&page=$2 last; rewrite ^/list-([0-9]+).html$ /list.php?tid=$1 last; rewrite ^/view-([0-9]+)-([0-9]+)-([0-9]+).html$ /view.php?arcID=$1&cid=$2&page=$3 last; rewrite ^/view-([0-9]+)-([0-9]+).html$ /view.php?arcID=$1&cid=$2 last; rewrite ^/view-([0-9]+).html$ /view.php?arcID=$1 last; ```

最后还要检查后台「系统设置 → 系统基本参数 → 核心设置」里的伪静态开关,和你的服务器配置保持一致。

3. 后台验证码不显示

打开data/common.inc.php,找到$cfg_gdtype = "1";,修改为$cfg_gdtype = "2";,保存刷新即可解决,这是GD库版本兼容问题。

按照以上步骤操作完成后,清除浏览器缓存重新打开网站,所有域名迁移引发的故障都可以解决,新手按照步骤一步步操作即可零门槛完成修复。

相关推荐

最新

热门

推荐

精选

标签

易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。

Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图