如何快速实现 WordPress 博客域名更换?

如题,如何快速更换使用 WordPress 搭建的网站、博客的域名,除了在域名服务商那更换域名的解析和 web服务器端的配置外,还应该从数据库端做些什么?熟悉 WordPress 的用户都知道在 WordPress 后台,设置 –> 常规 里有一项 “站点地址(URL)”,可以实现网站地址的配置。难道改了这个就可以完全实现域名的更换服务吗?

经过实践得知,这个后台的配置只能修改部分数据库中网站域名的记录,就是 wp_options 表里option_name 为 home 和 siteurl 对应option_value的值。而数据库中其它表如 wp_postswp_postmetawp_comments均有本站域名的存储。

上周将我的站点域名从 wiki.i-fanr.com 更换成 i-fanr.com,从数据库中批量查询域名对应的字符,总结了以下批量修改的SQL语句:

UPDATE wp_options SET option_value = REPLACE(option_value, 'http://wiki.i-fanr.com', 'http://i-fanr.com') WHERE option_name = 'home' OR option_name = 'siteurl';

UPDATE wp_posts SET post_content = REPLACE (post_content, 'http://wiki.i-fanr.com', 'http://i-fanr.com');

UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, 'http://wiki.i-fanr.com','http://i-fanr.com');

UPDATE wp_comments SET comment_content = REPLACE (comment_content, 'http://wiki.i-fanr.com', 'http://i-fanr.com');

UPDATE wp_comments SET comment_author_url = REPLACE (comment_author_url, 'http://wiki.i-fanr.com','http://i-fanr.com');

UPDATE wp_posts SET guid = REPLACE (guid, 'http://wiki.i-fanr.com', 'http://i-fanr.com') WHERE post_type = 'attachment';

如果你也需要更换你的域名,只需要将以上的域名替换成你更换前后的域名,另外,如果你的表前缀不是默认的 wp_,还需要做相应的修改。

WordPress 插件市场中同样可以收到类似的域名替换插件,实现原理是一样的,就是通过插件在激活的时候执行了以上的 SQL 语句。

评论

这篇文章目前有 2 条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Sidebar