网站迁移之后更换域名的方法

最近不幸被监管,关了我的网站注销了我的备案。为了不使网站失效无奈更换了域名,迁移了服务器。一般在更换域名之后,需要对数据库内的原有域名进行替换,避免出现各种奇奇怪怪的问题。

使用 SQL 语句直接在数据库中替换域名

在 phpMyAdmin 中直接运行下面的命令替换旧域名为新域名即可。复制代码后,替换代码中 old.com, new.com, 如果您的 WordPress 站点使用了自定义数据表前缀,同时修改下面命令中的 ‘wp_’ 数据表前缀。

UPDATE wp_options SET option_value = replace(option_value, 'http://old.com', 'http://new.com') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET guid = replace(guid, 'http://old.com','http://new.com');
UPDATE wp_posts SET post_content = replace(post_content, 'http://old.com', 'http://new.com');
UPDATE wp_postmeta SET meta_value = replace(meta_value,'http://old.com','http://new.com');
UPDATE wp_usermeta SET meta_value = replace(meta_value, 'http://old.com', 'http://new.com');
UPDATE wp_comments SET comment_content = REPLACE (comment_content, 'http://old.com', 'http://new.com');
UPDATE wp_comments SET comment_author_url = REPLACE (comment_author_url, 'http://old.com','http://new.com');

大多数情况下,写入 WordPress 中的域名都存在于上面几个数据表中,但是也不排除主题或插件添加的自定义数据表也包含旧域名,如果执行了上面的命令后,还有一些旧域名没有被替换掉,可以参考下面直接编辑 .sql 文件的方法进行替换。

使用代码编辑器编辑 .sql 导出文件直接替换

导出 .sql 文件,然后使用你喜欢的代码编辑器打开导出的 .sql 文件,搜索替换旧域名为新域名。
然后直接删除站点数据库中的所有数据表,再导入到数据库即可。

设置 301 跳转把旧域名的流量导入新域名

如果您的站点已经被搜索引擎收录了,可以在 Nginx 中做一个 301 跳转设置,把旧域名的流量导入到新域名。

server {
    listen 80;
    server_name old.com new.com;
    return 301 http://new.com$request_uri;
}

最后,再次提醒,修改 WordPress 数据库之前一定要做好备份,万一修改过程中出了问题,我们还可以很简单的把数据恢复过来,不至于造成太大的损失。


版权信息:
本站一切资源仅用作交流学习,请勿用作商业及违法行为!如造成任何后果,本站概不负责!
Last modification:2020.03.04-22:09

文章标签:
没有标签