A-A+

记wordpress一次更换域名和目录

2016年01月04日 笔记 暂无评论 阅读 1,644 次

      首先介绍一下,我的wordpress在安装的时候,因为只有一个IP地址,没有域名,所以一切安装及访问测试都是用IP进行的,并且没有安装在apache的根目录,因为根目录还有另一个网页,当我弄到第一个免费域名的时候,直接更改apache的根目录到wordpress,导致访问异常,在网上查了一下,究其原因就是开始建站太糊弄啦。

       总结了一下,访问方式由IP地址更换为域名,并把wordpress由二级目录移到根目录之后访问异常的原因。一、wordpress后台-设置-常规里有一个网站的地址,之前那块是一个IP地址的形式,需要更改。二、wordpress所有的上传图片都是已绝对路径的形式存在的,所以不论是更换域名还是更改目录都会导致无法显示图片。

(插一句,在所有更改之前建议备份数据,打包一下wordpress目录,导出用来存放该网站数据的数据库,防止更改过程中出现错误或误操作等)

       知道了愿意就好办了,首先从第一个问题开始,还原apache的配置,登录wordpress后台,设置-常规,把IP地址形式的网站路径改为当前的域名形式,我这里还提了一级目录所以以前的目录也需要更改(http://x.x.x.x/wordpress改为http://www.zhusl.com),改完后网站后台和显示页面会不能访问,这是正常的,不用担心,然后更改apache的配置文件,把根目录/var/www/html改为/var/www/html/wordpress,当然也可以建立虚拟主机。

     接下来解决数据库部分,这里只要更改两个表的数据就可以,如果对mysql比较熟悉的话,可直接登录数据库进行操作,不熟悉最好是利用别的管理工具更改如PhpMyAdmin等工具。要操作的两张表就是wp_postmeta和wp_post,我虽然mysql用的不是很好,但懒得再装东西了,查了一下在mysql表中修改数据的语句格式为:

update 表的名字 set 字段名 = replace(字段名,'旧数据','新数据'); 这样就可直接操作了,登录mysql,选中wordpress的库,直接执行: mysql> update wp_postmeta set meta_value = replace(meta_value,'http://x.x.x.x/wordpress/','http://www.zhusl.com/') 具体更换的数据得根据实际情况来改,我这是即改了域名又改了目录,就是删除了一级目录,执行成功,继续下一条: update wp_posts set post_content=replace(post_content,'http://x.x.x.x/wordpress','http://www.zhusl.com'); UPDATE wp_posts SET guid = replace( guid, 'http://x.x.x.x', 'http://www.zhusl.com' ) ; 其实主要是更改这部分数据,上一条语句,我在执行的时候只更改了一行数据,这一条就改的比较多。

      好了,改完之后网站就应该正常了,因为我当初定义菜单的时候对主页定义了超链接,也是用IP定义的,所以也改了一下,大家的话就不一定了。我做这些更改还是在上夜班的时候,大半夜的折腾好久,抱怨一句wordpress的图片路径竟然用绝对路径,幸好更改还不是太麻烦,希望帮助有同样需要的朋友能在遇到这种情况时少费些时间。http://www.zhusl.com

 

给我留言