WordPress站点搬家换域名记录

之前整个网站放在国外的一家空间上,因为电信访问速度感人加上想换域名的原因,于是就把整个wordpress网站搬到阿里云来了。记录一下搬家的整个过程避免以后碰到类似情况踩坑。

搬家前一定要做好整个网站的备份和数据库的备份,切记!!

第一步:备份wordpress目录下所有文件并转移到新主机:

最常见的方法是直接在FTP下载目录下所有文件,然后再上传到新的主机。

如果主机支持在线压缩,最好将整个网站的文件压缩,下载压缩包,再通过FTP上传压缩包至新主机,然后再解压。这样速度快又不容易出错。

第二步:导出、导入数据库:

在旧主机里找到数据库管理,将数据表导出sql格式。笔者这里使用的是PHPmyadmin将数据库数据进行导出和导入的。将原来主机上的wordpress数据库导出自己本地电脑上后。再把刚导出来的文件用一样的方试导入到新主机里的数据库中去。

第三步:修改数据库中有关旧域名的字段(笔者搬家的时候替换了域名,如果不需要换域名的可以跳过这一步)

wordpress数据库中保存着有关域名的链接等内容,如果不批量把“旧域名”字段替换成“新域名”,会导致部分页面404。直接在数据库批量执行sql语句就好,很简单。

介绍下SQL替换命令:

UPDATE 表名 SET 字段 = REPLACE(字段,’替换内容’,’替换值’);
实例如下:

UPDATE wp_options SET option_value = REPLACE(option_value,’旧地址’,’新地址’);
注意上面的标点要都要用英文半角。其中wp_options就是表名,option_value就是表wp_options里的一个字段,wp_options里有siteurl和home的值。

一般只要执行以下三个命令,就可完成域名的修改:

/*修改option_value里的站点url和主页地址:*/
UPDATE wp_options SET option_value = REPLACE(option_value, 'http://旧地址', 'http://') WHERE option_name = 'home' OR option_name = 'siteurl';
 
/*更正文章中内部链接及附件的地址:*/
UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://旧地址' , 'http://新地址');
 
/*更正wordpress文章默认的永久链接:*/
UPDATE wp_posts SET guid = REPLACE(guid, 'http://旧地址' ,'http://新地址');

第四步:修改wp-config.php数据库配置:

找到新网站根目录的wp-config.php,打开修改数据库配置,以下是几个可能需要修改的地方

define(‘DB_NAME’, ‘wp3′);//这里输入新数据库名称
define(‘DB_USER’, ‘root’);//这里输入数据库用户名
define(‘DB_PASSWORD’, ’123′);//这里是输入数据库密码
define(‘DB_HOST’, ‘localhost’);//这里是数据库服务器,一般都是localhost

做完以上几步之后,打开新的站点,应该就可以访问和使用了。但是这里笔者出现了一些问题,打开后有部分乱码。看了下是媒体链接的问题,但是现在进入后台又出现了一些问题,它会302到原来的后台去。于是通过查阅谷歌,找到了解决办法。

修改wp-config.php(自动更新地址)

1、在wp-config.php中,添加下面一行内容:

define('RELOCATE',true);

2、登录后台地址,WP将自动更新安装地址(SITEURL),手动修改博客地址(HOME)地址即可,成功后一定记得删除上面添加的内容。 这里笔者修改的地方是:设置-媒体-文件上传-默认上传路径。这个地方修改为新主机的媒体地址(主要是修改为wordpress的存放目录)。

做完以上的修改之后,搬家终于搞定了,于是开始写文章记录一下这次搬家的过程。然后又来了一个坑,我写了文章之后,发现无法保存草稿也无法发布新文章。这是怎么回事,之前的空间都弄得好好的,这里却出现了问题。

于是谷歌百度了快两小时后,找到了问题所在。

起初,是按照网上的方法装了一个插件:经典编辑器(Classic Editor),再到设置里面换成经典编辑器,然后发布,发现能保存草稿了也能发布了。但是区块编辑器还是用不了。最后发现是固定连接的问题,之前一直都是用的自定义链接,这里在后台-设置-固定链接-选第一个(朴素)之后,区块编辑器就能够使用了。