换域名这事,说简单是改两处解析,说麻烦是漏一步就白屏。我上个月刚把自己一个放企业官网的旧域名换掉,前后折腾了两个晚上,踩过的坑都还在。下面按实际操作的顺序说,尽量让你少走弯路。
先别急着把旧域名停掉。新域名拿到手后,先确认它已经完成实名认证,国内注册商一般要等认证通过才能解析。然后去旧域名的DNS服务商那里,把TTL值临时调小,比如从3600秒改成300秒,这样后面改解析生效快。这个细节很多人忽略,结果改完记录等半天不生效,以为哪里配错了。
接着去新域名的DNS管理里加记录。如果服务器有独立IP,就加一条A记录,主机记录填@,记录值填服务器公网IP;再给www加一条A记录或者CNAME到主域名。如果用了CDN,就按CDN厂商给的目标加CNAME。别把旧域名的解析直接删掉,先留着,等新域名完全跑通再说。
解析加完后,去服务器面板绑定新域名。宝塔面板在网站设置里有个“域名管理”,把新域名和带www的域名都加进去;如果是自己配Nginx,就在server_name里补上新域名,然后nginx -t测试再reload。Apache就改ServerAlias。这里注意,有些程序会校验Host头,绑定后如果访问返回403,多半是server_name没匹配上。
SSL证书也要跟着换。新域名签发证书后,把证书路径更新到服务器配置里,别继续用旧域名的证书。现在很多面板支持一键申请Let’s Encrypt,到期自动续,省事。如果用了CDN,记得在CDN后台也上传新证书,不然浏览器还是会报证书不匹配。

网站程序里的站点地址得改。WordPress最典型,后台设置里的WordPress地址和站点地址都要换成新域名,不然前台能开、后台跳回旧域名。数据库里如果还有旧域名的绝对路径,可以用插件做替换,或者进phpMyAdmin执行UPDATE语句,把wp_options里的siteurl和home改掉。其他CMS也类似,找配置文件里的domain或base_url。别只改首页,文章里的图片链接、内链如果写死了旧域名,也要一起替换,否则新站打开一堆裂图。
然后是301重定向。旧域名不要直接停解析,保留一段时间,把旧域名全站301到新域名,这样搜索引擎和收藏了旧地址的用户都能平滑过来。Nginx里可以写return 301 $scheme://新域名$request_uri;,Apache用Redirect permanent。重定向至少保留三个月,稳妥点半年。百度站长和Google Search Console里都提交新域名,做站点验证,再提交改版规则,能加快收录切换。
国内服务器还要看备案。新域名如果解析到大陆机房,备案要同步做新增网站备案或者变更,不然被扫描到会被拦截。这个周期一般七到二十个工作日,建议提前弄,别等解析生效了才发现打不开。邮件服务、第三方登录回调、支付回调里如果填了旧域名,也要逐个检查,尤其是微信登录和支付授权域名,漏了就是回调失败。
最后做一轮测试。用手机流量和不同网络访问新域名,看首页、内页、后台、图片、表单提交是否正常;用curl -I看返回码是不是200;检查旧域名是不是301到新域名;再看SSL证书链是否完整。全部没问题后,再把旧域名解析停掉或者保留做跳转。整个过程快的话一两个小时,慢的话主要卡在备案和DNS生效上。别怕麻烦,按顺序来,基本不会出大问题。