博客搬家意为为了使更换域名或是更换主机后的博客能正常运行所要做的工作。作为一名合格的博主,这些是必须要知道的。博客搬家分为以下几种情况:

1、更换域名但不换主机

2、不更换域名但更换主机

3、域名和主机全部更换

下面我们分情况来解决搬家的问题。

1、更换域名但不换主机
单换域名的步骤:原域名301重定向到新域名→更改数据库内容。

(1)301重定向
301重定向的目的是让原来搜索引擎收录的内容能够转向到新域名上,实现的方法有很多……

如果是Linux+Apache的主机可以选择更改.htaccess文件,在此文件中插入以下代码:

1
2
3
4
5
6
7
8
# BEGIN WordPress
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine on
rewritecond %{http_host} ^原域名[nc]
rewriterule ^(.*)$http://新域名/$1 [L,R=301]
</IfModule>
# END

如果是Windows主机可以选择修改WordPress博客根目录下的wp-blog-header.php,在<?php后加入:

1
2
3
4
5
6
7
8
9
10
11

if (strtolower($_SERVER['SERVER_NAME'])!=’原域名’)
{
$URIRedirect=$_SERVER['REQUEST_URI'];
if(strtolower($URIRedirect)==’/index.php’) {
$URIRedirect=’/’;
}
header(‘HTTP/1.1 301 Moved Permanently’);
header(‘Location:http://新域名’.$URIRedirect);
exit();
}

(2)使用phpmyadmin更改数据库内容
因为在博客里上传的图片的URL都是原来的域名,所以我们需要把原域名的链接批量修改为新域名。

在phpmyadmin中选择WP数据库后执行以下SQL语句:

如何为WordPress博客完整搬家-WP酷

1
UPDATE wp_posts SET post_content = REPLACE( post_content, '原域名', ' 新域名' ) ;

之后进入wp_options表中,将siteurl所对应的option_value、以及第二页的home更改为新域名即可。

2、不更换域名但更换主机
更换主机的步骤:原主机的所有数据移动至新主机上→修改wp-config.php

(1)备份原主机全站文件
使用FTP备份网站根目录下所有文件并上传到新主机,向主机客服询问FTP地址、用户名、密码后可使用FTP工具来执行上传/下载操作,推荐FileZilla和FlashFXP等。

(2)备份原主机数据库文件
使用phpmyadmin导出原主机中的数据库文件,默认单击执行即可。

如何为WordPress博客完整搬家-WP酷

之后会自动开始下载数据库文件,稍安勿躁。下载的数据库以.sql为后缀,进入新主机的phpmyadmin管理,执行导入操作。整个过程非常的傻瓜化。

(3)修改wp-config.php文件
位于wordpress根目录下的此文件保存着访问wordpress的数据库信息,修改该文件中保存的管理用户名、密码以及数据库名字,完成后保存。

wp-config.php文件示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<?php
/**
* WordPress 基础配置文件。
*
* 本文件包含以下配置选项:MySQL 设置、数据库表名前缀、密钥、
* WordPress 语言设定以及 ABSPATH。如需更多信息,请访问
* {@linkhttp://codex.wordpress.org/zh-cn:%E7%BC%96%E8%BE%91_wp-config.php
* 编辑 wp-config.php} Codex 页面。MySQL 设置具体信息请咨询您的空间提供商。
*
* 这个文件用在于安装程序自动生成 wp-config.php 配置文件,
* 您可以手动复制这个文件,并重命名为“wp-config.php”,然后输入相关信息。
*
* @package WordPress
*/
// ** MySQL 设置 - 具体信息来自您正在使用的主机 ** //
/** WordPress 数据库的名称 */
define('DB_NAME', 'database_name_here');

/** MySQL 数据库用户名 */
define('DB_USER', 'username_here');

/** MySQL 数据库密码 */
define('DB_PASSWORD', 'password_here');

/** MySQL 主机 */
define('DB_HOST', 'localhost');

/** 创建数据表时默认的文字编码 */
define('DB_CHARSET', 'utf8');

/** 数据库整理类型。如不确定请勿更改 */
define('DB_COLLATE', '');

/**#@+
* 身份认证密匙设定。
*
* 您可以随意写一些字符
* 或者直接访问 {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org 私钥生成服务},
* 任何修改都会导致 cookie 失效,所有用户必须重新登录。
*
* @since 2.6.0
*/
define('AUTH_KEY', 'put your unique phrase here');
define('SECURE_AUTH_KEY', 'put your unique phrase here');
define('LOGGED_IN_KEY', 'put your unique phrase here');
define('NONCE_KEY', 'put your unique phrase here');
define('AUTH_SALT', 'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT', 'put your unique phrase here');
define('NONCE_SALT', 'put your unique phrase here');

/**#@-*/

/**
* WordPress 数据表前缀。
*
* 如果您有在同一数据库内安装多个 WordPress 的需求,请为每个 WordPress 设置不同的数据表前缀。
* 前缀名只能为数字、字母加下划线。
*/
$table_prefix = 'wp_';

/**
* WordPress 语言设置,中文版本默认为中文。
*
* 本项设定能够让 WordPress 显示您需要的语言。
* wp-content/languages 内应放置同名的 .mo 语言文件。
* 要使用 WordPress 简体中文界面,只需填入 zh_CN。
*/
define('WPLANG', 'zh_CN');

/**
* 开发者专用:WordPress 调试模式。
*
* 将这个值改为“true”,WordPress 将显示所有用于开发的提示。
* 强烈建议插件开发者在开发环境中启用本功能。
*/
define('WP_DEBUG', false);

/* 好了!请不要再继续编辑。请保存本文件。使用愉快! */

/** WordPress 目录的绝对路径。 */
if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . '/');

/** 设置 WordPress 变量和包含文件。 */
require_once(ABSPATH . 'wp-settings.php');