首页 » 灰常折腾 » WordPress更换域名的方法

WordPress更换域名的方法

在折腾WordPress的过程中,我们难免要更换域名,鉴于更换域名的过程中遇到一些问题,将操作过程分享出来方便大家以后参考。

1.备份数据

养成良好的备份习惯,可以在我们操作的过程中如果出现任何不可预估的错误时能够迅速恢复到原来的状态,不影响网站的正常运行。这里的备份包括数据库的备份和网站源码的备份。

2.将新的域名解析到服务器:

解析成功后,用旧域名A和新域名B都能成功访问网站,在访问新域名时会自动跳转到A站。

3.Wordpress后台设置新URL:

登陆WordPress后台,依次打开设置->常规,将该页面内的WordPress 地址(URL)和站点地址(URL)由原来的旧域名更改为新域名,更改之后点击保存更改按钮,这时网站后台显示为自动退出的界面,这表示新的域名已经修改成功。

4.修改网站图片地址和特殊链接:

执行完以上两步只是完成了网站首页和网站文章之类的URL,对于文章中的一些链接以及图片的URL仍然是旧的URL,如要更新这些URL地址,需要我们手动操作mysql数据库,依次执行以下sql语句:
1
UPDATE wp_posts SET post_content = replace( post_content, ‘A’,’B’);
2
UPDATE wp_comments SET comment_content = replace(comment_content, ‘A’, ‘B’);
3
UPDATE wp_comments SET comment_author_url = replace(comment_author_url, ‘A’, ‘B’) ;

5.注意事项:

通常情况下,完成以上三步就可以实现Wordpress域名由旧到新的更换,但是还有一种较为常见的情况,会导致其他页面的URL都修改成功,单独首页的URL还是旧的域名,打开网站后台,查看设置里面的WordPress 地址(URL)发现它会自动恢复为旧域名,重新修改保存之后,它仍会自动恢复。这种问题是由于在网站的根目录下.htaccess文件的重定向规则导致的,将.htaccess以下的代码:
1
RewriteCond %{HTTP_HOST} !^www.A.com$ [NC]
2
RewriteRule ^(.*)$ http://www.A.com/$1 [L,R=301]
修改为:
1
RewriteCond %{HTTP_HOST} !^www.B.com$ [NC]
2
RewriteRule ^(.*)$ http://www.B.com/$1 [L,R=301]
ps:其中的A代表旧域名,B代表新域名。