02 Nov 2007WordPress 搬家简单教程
WordPress 搬家其实挺简单,只需要两个步骤,一备份,二恢复。在这之上还得分两种情况,一种是换域名,一种是不换域名只换空间。
不换域名的话,搬家没有任何困难,只需要把目录下所有的文件拷贝到新空间的相应目录下,把数据库导入就完了,所以这里只讲换域名的情况。
下面是整个流程:
换域名意味着你原来 blog 上的帖子里如果使用了原目录结构的链接,所有链接在新的 Blog 里就会失效,当然没人想这样,所以就得在数据库里做一个改变,把旧链接换成新的。怎么改呢?
方法一:直接在 MySQL 后台用 replace 命令把新域名替换旧域名。这个方法要求会 MySQL 命令,我是菜鸟,不懂 MySQL 命令,期待牛人告知方法。
方法二:用 WordPress 自带的数据库备份插件把整个数据库备份到本地硬盘上,用 Notepad++ 之类的文本编辑器打开本地数据库,然后直接 Find & Replace 之。
然后,查找”DEFAULT CHARSET=latin1″ 用”DEFAULT CHARSET=utf8″替换。
好了,这下数据库修改好了,我们还需要把数据内容导入到新的数据库中。打开 phpMyAdmin,建立一个新的数据库,然后在 Operations -> Collation 里把编码改成 “utf8_general_ci”, 再用 Import 选项把修改好的数据库导入到新的下。
接下来,要把默认域名更新。打开 wp-options 这个表,按 Browse 浏览,然后把 siteurl 和 home 两个变量的值替换成新的域名。
下一步,打开 wp-config.php,把里面的参数更新(数据库名,用户,密码)。
然后你可以把你的原 Blog 下的所有文件拷贝到新域名的相应目录下了。拷贝完后打开你的新 Blog 页面,Ta-da!!! …………很可能会看到所有文章内容变了 ??? 号,别着急,我们还有一步关键的步骤。
打开 wp-includes/wp-db.php, 修改:
$this->dbh = @mysql_connect($dbhost,$dbuser,$dbpassword);
//加上下面这行
$this->query(“SET NAMES ‘utf8’” );
保存,退出,这下再打开应该没有问题了。
哦,如果你除了看到乱码,还看到“不能使用未经定义的函数”之类的错误的话,到 WordPress 后台把原来使用的插件激活就可以了。
最后还有一点,如果不想让 Blog 的访问产生断层的话,最好把新的域名事先激活,确认了域名已经 propagate 了整个互联网后再搬家,不然某些地方的读者可能暂时不能访问你的新地址。
参考文章:http://zhiqiang.org/blog/359.html
更新:根据Albert 的经验,为了避免各个版本 WP 数据库结构不一样,最好在搬家前确认两边的 WP 版本一致。
Til next time,
Jason at 00:00