博客迁移之路

其实DO的主机还是挺好的,国内访问速度也较快,教程也很详细实用,但就是有一个问题,对于我这个学生党而言,忒贵了。所以开启后续的博客迁移之路:(新旧主机均使用Centos7)

---------------------------------------跟着我左手右手一个慢动作-----------------------------

首先,把wp-content文件夹用SFTP(我使用的FileZilla软件)传送到本地windows,然后上传到新主机的wordpress安装目录下。因为wp-content目录下有我们的主题、sitemaps、插件,最最重要的是uploads文件夹,这存放着上传的图片,没有这玩意,以后打开新站点的博客,可能出现找不到图片的尴尬情况。

接着,按照同样的步骤把wp-config.php传到wordpress家目录下,大家都清楚这是wp的配置文件,里面存放着wp程序操作数据库的用户名密码,在这里有一个好方法,大家可以按照这个文件的内容在新主机上新建一个数据库+用户+密码,这样配置文件就可以直接用了。

之后wget一个跟老博客同样版本的wordpress.tar.gz,解压后删除wp-content和wp-config.php,之后放到wordpress家目录下,这样文件部分就解决了。

下面是数据库迁移:用phpmyadmin用默认方式导出wordpress的数据库,格式大概为wordpress.sql。在新主机上安装phpmyadmin,打开新站点ip/phpMyAdmin,导入原数据库,并在wp-options表的siteurl和home这两项修改原网址为新网址,这很重要,关系到能不能打开新站点的wordpress。(DO phpmyadmin 教程

这样直接通过 http://新站点ip/wordpress 就可以进去了,可以看到主页,但是点击任何一片博文,提示“the requested url /index.php was not found on this server. ”,这是因为我原来的博客修改了永久链接,需要在/etc/httpd/conf/httpd.conf修改允许重写(override),并且在wordpress家目录下的.htaccess文件修改为类似如下:

BEGIN WordPress

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /wordpress/                                        //这是wordpress家目录,链接重写起始位置,如果你是xx,改为/xx/

RewriteRule ^index.php$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /wordpress/index.php [L]                //这是家目录对应下的index.php,如果你是xx,改为/xx/index.php

</IfModule>

END WordPress

搞定!