2245 字
8 分钟阅读
站点替换域名教程

WordPress 更换域名完整步骤
更换 WordPress 域名需要同时修改 WordPress 数据库、Nginx 配置、SSL证书以及站点缓存。如果只修改其中一部分,可能会出现跳转错误、后台无法登录、资源加载失败等问题。
以下步骤适用于 Docker + Nginx + WordPress 环境。
一、修改 Nginx 域名配置
首先修改 Nginx 的站点配置。
进入:
nano /etc/nginx/sites-enabled/wordpress找到:
server_name 旧域名;修改为
server_name 新域名;检查配置:
nginx -t如果显示:
syntax is ok
test is successful重新加载:
systemctl reload nginx二、更新 WordPress 数据库域名
WordPress 的站点地址保存在数据库中。
进入 MariaDB:
docker exec -it wordpress_db mariadb -u root -p选择数据库:
USE wordpress;查看当前域名:
SELECT option_name, option_value
FROM wp_options
WHERE option_name='siteurl'
OR option_name='home';结果类似:
siteurl https://旧域名
home https://旧域名修改:
UPDATE wp_options
SET option_value='https://新域名'
WHERE option_name='siteurl';
UPDATE wp_options
SET option_value='https://新域名'
WHERE option_name='home';检查:
SELECT option_name, option_value
FROM wp_options
WHERE option_name='siteurl'
OR option_name='home';确认已经变成新域名。
三、替换文章内容中的旧域名
WordPress 文章内容、图片地址、媒体链接可能保存旧域名。
搜索:
SELECT ID,post_title
FROM wp_posts
WHERE post_content LIKE '%旧域名%';看到文章存在旧域名
执行:
UPDATE wp_posts
SET post_content =
REPLACE(
post_content,
'https://旧域名',
'https://新域名'
);四、替换 GUID(RSS用)
检查:
SELECT ID,guid
FROM wp_posts
WHERE guid LIKE '%旧域名%';替换:
UPDATE wp_posts
SET guid =
REPLACE(
guid,
'https://旧域名',
'https://新域名'
);五、替换文章附件地址
检查:
SELECT meta_id,meta_key,meta_value
FROM wp_postmeta
WHERE meta_value LIKE '%旧域名%';如果有:
执行:
UPDATE wp_postmeta
SET meta_value =
REPLACE(
meta_value,
'https://旧域名',
'https://新域名'
);六、检查主题设置
检查 options:
SELECT option_name,option_value
FROM wp_options
WHERE option_value LIKE '%旧域名%';这里可能包含:
主题设置
菜单链接
小工具
自定义 CSS
如果发现普通文本,可以替换。
例如:
UPDATE wp_options
SET option_value =
REPLACE(
option_value,
'https://旧域名',
'https://新域名'
);⚠️ 如果涉及序列化数据,不建议直接替换。
七、清理缓存
进入 WordPress 容器:
docker exec -it wordpress bash删除缓存:
rm -rf /var/www/html/wp-content/cache/*重启:
docker restart wordpress八、验证旧地址是否残留
数据库检查:
SELECT COUNT(*)
FROM wp_posts
WHERE post_content LIKE '%新域名%';返回:
0检查 options:
SELECT COUNT(*)
FROM wp_options
WHERE option_value LIKE '%新域名%';九、更新 SSL 证书
查看当前证书:
certbot certificates申请新域名:
certbot --nginx -d 新域名测试自动续期:
certbot renew --dry-run完成检查
确认:
Nginx 已修改新域名
siteurl 修改
home 修改
数据库 旧域名替换
SSL 更新
缓存清理
图片加载正常
后台登录正常
这个流程是针对当前 Docker WordPress + MariaDB + Nginx 的迁移流程,不需要重新安装 WordPress,也不会影响主题、文章和上传图片。










