前几天给blog换了域名。参照网上的教程及自己摸索完成的。现将基本步骤整理一下,既作个纪念,亦为后来的朋友提供参考。

首先,要准备新的域名及其数据库、空间。我所用的空间为DA(DirectAdmin )面板,里面可以很方便地自助添加新的域名,然后再进mysql数据库管理界面,新建一个新的数据库。

然后,将旧域名空间里的文件复制到新的空间里。因为我新旧域名在同一虚拟主机的同一账号下,所以用DA面板的文件管理,可以很方便地将一个域名下的所有文件复制到新域名下。若新旧域名的空间分在二处,则建议使用面板的打包下载与打包上传来复制,否则用flashfxp来一个一个传文件,则能慢到逼疯人。

接着,最关键的一步:修改数据库。网上的教程,一般推荐导出旧的数据库后,再将其导入新的数据库,最后通过三条sql命令来替换里面的域名,而不推荐直接替换。然而,我个人却推荐直接替换法。因为wp的插件,可能会在数据库中建立新的表,而这些表又得通过新的命令来替换。但一则不是每位网友都清楚新建了哪些表,二则更非每位网友都能自己写sql指令。相形之下,直接替换法则简单易行,只要注意文件编码避免出现乱码即可。

直接替换法不推荐使用windows自带的记事本,可以使用我所用的notepad++。下载数据库文件后,解压,然后用notepad++打开,通过“替换”将旧域名换成新域名,保存。然后进入phpmyadmin,将修改后的数据库文件导入即可。若要提高效率,可在上传前将数据库文件压缩再传。

最后一步,编辑wp-config.php,把里面相关数据修改为新的,保存,就ok了。

当然,为了使不知道换域名的朋友,能继续通过旧域名访问新域名,还得继续给旧域名做个301重定向。虽然DA面板自带了这个功能,但我试过后感觉仍不够好用,还是修改.htaccess文件来得方便彻底。打开旧域名下的该文件,清空原内容而输入:
# BEGIN WordPress
Options +FollowSymLinks
RewriteEngine on
rewritecond %{http_host} ^www.your-old-domain.com [nc]
rewriterule ^(.*)$ http://www.your-new-domain.com/$1 [L,R=301]
# END WordPress

OK,齐活!

——庚寅八月初十
于北地悼芹轩