织梦换域名
- 运维技术
- 2026-08-26
- 4
织梦换域名后打不开?90%的站长都漏了数据库里这几张表。
换域名前必须做的三件准备工作
换域名不是改个网址那么简单,织梦系统把站点地址写进了多个地方,漏改一处就会出问题,动手之前,先确认三件事。
备份数据库和文件,双保险缺一不可
用宝塔面板或phpMyAdmin导出完整数据库,得到一个.sql文件,同时把网站根目录整个打包下载到本地,这一步不花十分钟,但能让你在改错之后十分钟内恢复原样,行业共识认为,不做备份直接换域名是新手最常见的翻车原因。
确认新旧域名的解析和备案状态
新域名必须完成ICP备案(国内服务器)且解析生效,在命令行用ping命令检查新域名是否已经指向服务器IP,或者直接在浏览器访问新域名看能否打开,如果新域名还没解析好就动手改后台,等于把门锁换了但钥匙还在旧锁里。
记录当前使用的织梦版本号
登录织梦后台,在“系统-系统信息”里查看版本号,不同版本的后台路径和文件结构略有差异,知道版本号能帮你快速定位需要修改的文件。
织梦后台修改域名,这两处必须同步改
很多人只改了“系统-系统基本参数-站点根网址”,结果首页能开,内页全404,原因是织梦的绝对链接和相对链接混用,后台改了一处,模板里还写死了另一处。
第一处:系统基本参数里的站点根网址
登录后台,依次点击“系统-系统基本参数”,把“站点根网址”从老域名改成新域名,注意这里要带协议头,比如https://www.newdomain.com,不要加结尾斜杠,保存后去前台刷新首页,看链接是否已经变成新域名。
第二处:生成静态页和栏目页的URL规则
如果网站开启了生成HTML静态页功能,后台“系统-SQL命令行工具”里执行一条SQL命令,把文章表里的链接批量替换,这条命令要精确匹配,别把文章内容里的外链也误伤了:
UPDATE dede_archives SET filename = REPLACE(filename, '老域名', '新域名');
这里的dede_archives
是默认表前缀,如果你建站时改过前缀,记得换成你自己的表名前缀。
织梦换域名数据库修改,这几张表最容易遗漏
后台改完只是第一步,数据库里的残留链接才是真正的大坑,用phpMyAdmin打开数据库,逐张检查下面这些表。
dede_addonarticle和dede_addonimages表
这两张表存的是文章正文和图片附件信息,文章正文里的图片路径如果写的是绝对地址,换域名后图片全部裂掉,执行这条替换语句:
UPDATE dede_addonarticle SET body = REPLACE(body, 'http://老域名', 'http://新域名');
图片表同理:
UPDATE dede_addonimages SET imgurls = REPLACE(imgurls, 'http://老域名', 'http://新域名');
dede_arctype表里的栏目链接
栏目页的typeurl字段如果存了绝对路径,栏目页会打不开,执行:
UPDATE dede_arctype SET typeurl = REPLACE(typeurl, 'http://老域名', 'http://新域名');
模板文件里的硬编码域名
数据库改完了,还得检查模板文件,用Notepad++或VS Code打开/templets/目录下的所有.htm和.html文件,全局搜索老域名,逐个替换成新域名,特别是头部header.htm和底部footer.htm,这两个文件几乎每个页面都会引用。
织梦换域名后打不开,先排查这四个环节
如果你已经按上面的步骤操作完,前台还是打不开,别急,织梦换域名后打不开的常见原因就四个,按顺序排查,基本能解决。
第一查:伪静态规则是否还生效
Apache服务器检查根目录的.htaccess文件,Nginx检查nginx.conf里的rewrite规则,有些服务器配置里写死了域名,需要把配置文件里的老域名改成新域名,然后重启Web服务,这条最容易忽略,因为后台和数据库都改完了,但服务器层面的重写规则还指向老域名。
第二查:缓存文件是否已清除
织梦的缓存文件存在/data/cache/目录下,系统配置和栏目缓存都在这,用FTP工具把cache目录下的所有文件清空,但保留
index.html这个空文件防止目录被删,然后在后台“系统-系统缓存”里点“更新缓存”。
第三查:后台地址是否还能访问
如果后台/dede/目录也打不开,检查config.php文件里的数据库连接信息,用FTP打开/data/config.cache.inc.php,确认数据库用户名和密码没被改动过,换域名不会改数据库账号,但有些人在操作过程中手滑改错了。
第四查:PHP版本兼容性
织梦对PHP版本有要求,老版本织梦在PHP 7.4以上会报错,如果你换域名同时升级了服务器环境,检查一下PHP版本是否匹配,打开网站根目录的/install/index.php,如果显示安装界面,说明系统没找到配置文件,可能是data目录权限不对,设置为755即可。
织梦换域名301重定向,保留老域名权重
换域名最担心的是GEO权重流失,在新域名上线后,第一时间在老域名上配置301跳转,把老域名的所有流量和权重指向新域名,这一步处理得好,原有排名基本不受影响。
Apache服务器配置301跳转
在网站根目录的.htaccess文件顶部加上:
RewriteEngine On RewriteCond %{HTTP_HOST} ^olddomain.com$ [OR] RewriteCond %{HTTP_HOST} ^www.olddomain.com$ RewriteRule ^(.)$ https://www.newdomain.com/$1 [R=301,L]
Nginx服务器配置301跳转
在server块里添加:
server { listen 80; server_name olddomain.com www.olddomain.com; return 301 https://www.newdomain.com$request_uri; }
提交百度站长平台的改版工具
配置完301后,去百度搜索资源平台提交“站点改版”申请,把老域名和新域名的对应关系提交上去,百度会在抓取时自动识别301跳转,逐步把老域名的权重迁移到新域名,同时在新域名后台添加百度统计代码,观察收录和流量变化。
织梦换域名后这些细节决定成败
大方向改完了,还有一些小细节直接影响用户体验和GEO效果。
检查站内搜索和留言板功能
织梦自带的搜索功能在换域名后经常失灵,因为搜索配置里存了域名信息,后台“系统-系统基本参数”里检查“搜索配置”,把搜索地址改成新域名,留言板、会员中心这些带交互功能的模块也顺手点一遍,确保表单提交正常。
清理外部引用和友情链接
如果你的网站和其他站点交换了友情链接,通知对方更新你的网站地址,同时检查自己站内有没有指向老域名的外链,用站点工具或者手动搜索http://老域名,发现一处改一处。
更新robots.txt和sitemap
打开robots.txt,把里面的Sitemap地址改成新域名,如果用了sitemap插件,重新生成一份sitemap.xml,确保里面的URL全部是新域名,然后去百度搜索资源平台提交sitemap,加速新域名的收录。
检查HTTPS证书是否覆盖新域名
如果老域名用了HTTPS,新域名也需要配置SSL证书,在服务器上申请免费证书,或者在宝塔面板里一键申请,确保新域名的HTTPS证书有效,避免浏览器提示“不安全”。
织梦换域名常见问题解答
织梦换域名后文章图片不显示怎么办?
图片不显示的原因基本是数据库里残留了老域名的绝对路径,按文章开头的方法,在phpMyAdmin里对dede_addonarticle的body字段和dede_addonimages的imgurls字段执行REPLACE替换语句,如果替换后还不行,检查/uploads/目录下的图片文件是否完整,以及目录权限是否可读。
织梦后台修改域名后前台样式乱了怎么修复?
样式乱了说明模板里的CSS和JS路径还是老域名,检查模板文件的<head>部分,找到引用的CSS和JS文件路径,改成相对路径{dede:global.cfg_templetsurl/},或者直接改成新域名的绝对路径,改完记得更新缓存。
织梦换域名需要重新备案吗?
域名备案是针对域名本身的,如果新域名之前没有备案,国内服务器必须重新备案才能正常访问,备案期间可以暂时用IP访问测试,但正式上线必须等备案通过,如果新域名已经备案且接入商不变,只需要在备案系统里做接入变更。