在建站过程中难免会遇到域名更换的情况,一般cms更换域名无需特殊操作,只需重新解析绑定新域名即可,然而对wordpress来说似乎并不这么简单。
如果直接重新解析绑定域名的话,你会发现网站还是会跳转到旧域名。
另外千万不要进入后台->设置->常规当中直接修改网站url,一旦修改网站就再也打不开了!
这是因为wordpress的链接全部都是以绝对路径的方式存在数据库中的,更换域名就必须把数据库中所有关于旧域名的绝对路径全部替换掉,这听起来很复杂,实际操作起来非常简单,下面来详细说明一下wordpress搭建的网站如何更换域名。
方法一:插件大法(推荐,但只能用于网站后台能正常访问时使用)
如今已经有很多插件可以解决更换域名的需求,这里介绍一款用的比较多的插件,可以直接在后台插件中搜索安装或者私信我发送,插件名称:automatic-domain-changer。
1. 首先不要急着重新解析绑定域名;
2. 用旧域名登录wordpress后台,安装启用上述域名更换插件,插件设置入口在工具->更换域名,先备份数据库(更换域名需要修改数据库,为了以防万一,务必备份数据库),插件提供了数据库备份按钮,但不保证一定可用,不放心的朋友可以自己进phpmyadmin或其它软件进行备份;
3. 按照要求填入旧域名、新域名,按照自己的需求勾选选项,点击更换域名等待执行结束;
4. 重新解析和绑定新域名,用新域名打开网站看是否正常。
具体填写方式看下面截图:
方法二:代码法(如果你的网站已经做了误操作无法打开的时候再考虑)
1. 备份数据库;
2. 解析绑定新域名;
3. 进入数据库管理软件,复制下方代码运行,这里以phpmyadmin为例:
代码:
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://新域名' ) ;
update wp_posts set guid = replace( guid, 'http://旧域名', 'http://新域名' ) ;
将上方代码中的中文改成自己相应的域名,注意域名前缀,根据自身情况改成http://或https://,例如我要将网站域名themes.com修改成wp.com,那么代码就是:
update wp_options set option_value = replace( option_value, 'http://themes.com', 'http://wp.com' ) where option_name = 'home' or option_name = 'siteurl';
update wp_posts set post_content = replace( post_content, 'http://themes.com', 'http://wp.com' ) ;
update wp_posts set guid = replace( guid, 'http://themes.com', 'http://wp.com' ) ;
复制代码,进入phpmyadmin,粘贴到对应数据库上方的sql中,点击执行即可;
代码执行结束后网站后台就可以正常访问,最后还要进入后台按照上方插件法再替换一次域名,这样才能保证所有图片正常。