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]

大功告成!