页面

2008年12月22日

WordPress换域名的数据库操作 - 建站程序交流 - 站长百科交流社区 - 已使用 Google 工具栏发送

WordPress换域名的数据库操作 - 建站程序交流 - 站长百科交流社区


WordPress换域名的数据库操作
前日将我的个人blog换了个域名。网上搜索到的换域名教程一般都要把数据库导出为sql文件,然后替换原域名。不过经我实际测试,不一定需要这么做。

下载替换是考虑到可能文章内或某些设置会有原有站点的链接,因此全面替换可以最大限度的保证正常使用。不过实际上,如果之前设置之类用的都是相对路径,而且文章里面没有同站其他文章的链接的话,就不需要如此复杂。经过数据库搜索,原有站点的网址仅出现在数据库中wp_posts表的guid字段,以及自己发表的评论中的网址记录。

那就很简单了。甚至不用替换也无所谓。因为guid从名字看就是一个标识符。而评论中的链接,有效无效无关大局。如果为了安全考虑,还是要替换的话,使用mysql提供的字符串替换语句就好了。

定位到wp_posts表,运行如下mysql语句

UPDATE `wp_posts` SET `guid` = replace( guid, "原域名", "新域名" ) ;

如此就可以完成替换。然后继续搜索所有的表,如果还有需要替换字段的可以逐一替换,基本就OK了。

这样,无需导出,用很短的时间就可以完成wordpress换域名的操作。当然前提还是网站中文章不要有同站的链接。如果在数据库中搜索原域名出来的结果很多也很杂乱,安全考虑还是要导出替换较好。

另外,为了支持服务商提供的UrlMirror,之前我把wp_config.php中的定义段改为了如下形式

$home = 'http://'.$_SERVER['HTTP_HOST'];  //博客首页
$wpurl = 'http://'.$_SERVER['HTTP_HOST'];  //WP程序的路径
define('WP_HOME', $home);
define('WP_SITEURL', $wpurl);

这个也有效防止了设置错误可能导致的首页错误。呵呵。建议不管是否有镜像都设置成这样比较好。这样设置完成后,wp后台的设置页面里面,WordPress 地址(URL)、Blog 地址(URL)两项是灰的不可改。实际上是会自动更改。呵呵。

没有评论: