This post was updated 953 days ago and some of the ideas may be out of date.
说明:
这是我修改WP域名的总结,其中:
- ijuanyi.com 请自行替换为你的老域名地址
- jyblog.cn 请自行替换为你的新域名地址
第一步:
修改WP后台域名,直接打开后台可能会卡到登录界面,
为了节约时间直接在根目录打开wp-config.php󠄐󠄹󠅀󠄪󠄢󠄡󠄦󠄞󠄧󠄣󠄞󠄢󠄡󠄦󠄞󠄡󠄥󠄤󠄬󠅒󠅢󠄟󠄮󠄐󠅅󠄹󠄴󠄪󠄾󠅟󠅤󠄐󠄼󠅟󠅗󠅙󠅞󠄬󠅒󠅢󠄟󠄮󠅄󠅙󠅝󠅕󠄪󠄡󠄧󠄦󠄠󠄩󠄥󠄨󠄢󠄨󠄥󠄬󠅒󠅢󠄟󠄮
在require_once ABSPATH . 'wp-settings.php' 前面添加:󠄐󠄹󠅀󠄪󠄢󠄡󠄦󠄞󠄧󠄣󠄞󠄢󠄡󠄦󠄞󠄡󠄥󠄤󠄬󠅒󠅢󠄟󠄮󠄐󠅅󠄹󠄴󠄪󠄾󠅟󠅤󠄐󠄼󠅟󠅗󠅙󠅞󠄬󠅒󠅢󠄟󠄮󠅄󠅙󠅝󠅕󠄪󠄡󠄧󠄦󠄠󠄩󠄥󠄨󠄢󠄨󠄥󠄬󠅒󠅢󠄟󠄮
define("WP_HOME","https://jyblog.cn");
define("WP_SITEURL","https://jyblog.cn");
第二步:
批量替换数据库内容,此方法可以解决域名更改后图片不显示的问题
UPDATE wp_options SET option_value = replace( option_value, 'ijuanyi.com','jyblog.cn' ) WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET post_content = replace( post_content, 'ijuanyi.com','jyblog.cn' ) ;
UPDATE wp_posts SET guid = replace( guid, 'ijuanyi.com','jyblog.cn' ) ;
第三步:
修改nginx配置,让原域名可以301跳转到新域名
打开站点 - 配置文件 - 将 server_name ijuanyi.com 改成你的新域名;󠄐󠄹󠅀󠄪󠄢󠄡󠄦󠄞󠄧󠄣󠄞󠄢󠄡󠄦󠄞󠄡󠄥󠄤󠄬󠅒󠅢󠄟󠄮󠄐󠅅󠄹󠄴󠄪󠄾󠅟󠅤󠄐󠄼󠅟󠅗󠅙󠅞󠄬󠅒󠅢󠄟󠄮󠅄󠅙󠅝󠅕󠄪󠄡󠄧󠄦󠄠󠄩󠄥󠄨󠄢󠄨󠄥󠄬󠅒󠅢󠄟󠄮
拉到最下面,插入:
(评论获取一下代码不过分叭 QAQ)
[reply]
#301重定向到新域名
server
{
listen 80;
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name *.ijuanyi.com ijuanyi.com; #老域名地址
index index.php index.html index.htm default.php default.htm default.html;
root /www/wwwroot/Blog; #目录地址,请注意更改
#SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则
#error_page 404/404.html;
#HTTP_TO_HTTPS_START
if ($server_port !~ 443){
rewrite ^(/.*)$ https://$host$1 permanent;
}
#HTTP_TO_HTTPS_END
ssl_certificate #老证书地址;
ssl_certificate_key #老证书钥匙地址;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
add_header Strict-Transport-Security "max-age=31536000";
error_page 497 https://$host$request_uri;
return 301 https://jyblog.cn$request_uri; #重定向到新域名
#HTTP_TO_HTTPS_END
#SSL-END
}
修改以下五处内容!
- server_name
- root
- ssl_certificate
- ssl_certificate_key
- return 301https://jyblog.cn$request_uri
[/reply]
大功告成!
参与讨论