打包备份原站点的代码

登录VPS或者主机空间,VPS的话直接用tar或者zip备份 tar -zcvf blog.tar.gz /var/www/blog 主机空间的话登录管理面板应该有相应的打包工具

备份数据库

强烈建议使用 phpMyAdmin 直接将数据库导出为 sql

更换数据库中的域名(如果不更换域名则可以跳过此步骤)

用 Vim 或者 Notepad++ 编辑导出的sql文件,搜索 http://原域名.com 直接替换为 http://新域名.com

更新配置文件中的数据库配置

将第一步中打包的代码文件解压缩,编辑 config.inc.php 在55行左右,将数据库信息更改为新服务器的数据库信息,其中
charset 一般不需要更改,更改完成之后再次打包

将代码和数据库上传至新服务器

代码上传之后直接解压缩就可以了,要注意解压缩之后的目录结构,应该和原服务器上目录结构一样;数据库仍然使用 phpMyAdmin 直接导入 sql 文件就ok

做好新域名解析和301跳转

首先做好新域名解析,然后在新服务器中使用伪静态的方式将原域名通过 301 redirect 到新域名,防止流量流失

Done!

PS:由于我的站点原来是跑在 Nginx 上,迁移之后是在 Apache 上,我这里把这两种 Web 服务的伪静态贴上,需要的童鞋直接拿去用了

Apache(.htaccess)

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
</IfModule>

Nginx(.conf)

location / {
        index index.html index.php;
        if (-f $request_filename/index.html){
            rewrite (.*) $1/index.html break;
        }
        if (-f $request_filename/index.php){
            rewrite (.*) $1/index.php;
        }
        if (!-f $request_filename){
            rewrite (.*) /index.php;
        }
    }

Written with StackEdit.