花了三个小时,终于成功的更改了wordpress的安装目录了。
这可真不是一个容易的事,网上虽然有很多说明(我发现关于wordpress的指南都有很多问题,就是细节通通不提)而最后搞死人的都是细节。

先介绍一下情况:我的原安装目录是 /wp/,现在想更换为 /blog/。
我不懂php,也不懂sql语法,只会一点简单的ftp上传,和使用大量的搜索来学习,所以,首先要有信心哦~

按照一般的原则,更改目录首先是在FTP上将wordpress的安装目录改名,但我认为这不可取,因为在很多配置并未改变的情况下直接改变安装目录的名称,会导致很多链接失误,从而引起blog不能访问,同时也会让后台管理无法登陆。所以,我的方法如下:

1)新建一个安装目录。  假设原安装目录为/wp,新目录为/blog,那么你应该在不动原目录的情况下新建一个名为blog的目录。

2)下载原目录/wp里的所有文件,重新上传至/blog目录,这样你会得到一个现有wordpress的镜像,也就是说你既可以用 http://nwgale.com/wp/ 来访问(以我的网站为例),也可以用 http://nwgale.com/blog/来访问,也同时可以用这两个地址来管理你的wordpress。
(注意!不要更改wp-config.php里的任何配置,这样,新的wordpress可以共享你之前建立好的数据库,用户名和密码,同理,如果你想在同一个空间里建立两个不同的wordpress的话,可以更改wp-config.php里的那个“表前缀”的选项,这样将会建立一个新的数据库,得到一个不同内容的wordpress).

3)用新的访问地址/blog登陆管理界面,在后台->设置 里找到“WordPress 地址(URL)”和“Blog 地址(URL)”,将访问地址改为新的地址。(以我为例,将http://nwgale.com/wp/改为http://nwgale.com/blog)做完这一步之后,你会发现新的blog已经完全生效了,当你点击home时,会返回/blgo/而不时/wp/,同理,当你上传照片时,会上载到/blog下相应的目录内。

4)删除你原来的wordpress安装目录(为了安全起见,我先改了目录名,在确认安全后再删除),如果你曾经豆瓣或者其它地方烧录过你的feed,可以在删除或者更改目录之前先去更改你的信息,因为有些网站会要求你发贴验证,不过这个不是很必要的。

(不要以为万事大吉了,继续向下看)

做完上一步之后,在后台检查了所有的插件等等,都可以正常使用,我以为万事大吉了,很happy的刷新了我的新网址http://nwgale.com/blog/,然后发现一个恐怖的事情,所有的图片链接变成了一个美丽的大红叉。(但是只要是用gallery上传的图片就可以正常显示)用右键查看图片地址,晕!依然是 http://nwgale.com/wp/wp-content/uploads/2008/06/xxxxx.jpg,我意识到,可能有某些参数配置有问题,导致图片链接信息没有改过来。在检查了所有的能够更改的参数配置之后仍然不行。在网上搜索,有人提到如下内容:

【步驟二】
連上 FTP Server,把安裝 WordPress 的目錄(本例中是 wordpress)的名稱改成 blog
並且刪除以下檔案、目錄:
   /wp-content/advanced-cache.php
   /wp-content/wp-cache-config.php
   /wp-content/cache
因為,(似乎)換了 WordPress 的安裝目錄之後,WP-Cache 就會失效。

但是,经我验证无效(也许是我的版本问题,我是2.51版)(下面是最痛苦的第5步)

5)有点怀疑图片链接信息被做为绝对路径写数数据库!!由于我的空间是得不到sql数据库信息的,于是安装了phpMyAdmin(强烈推荐安装这个软件,可以方便你修改数据库),设置完成后导出了我的整个sql文件,用记事本打开检查,果然发现很多类似X:FTP****LocalUser nwgale.comblog/wp-content/upload/*****wp/****.jpg这样的数据!无数多啊~~ 于是很开心的用DW打开sql文件,疯狂替换wp/为blog/。然后导入。
结果,导入失败!
怀疑替换内容太多,找到一个相关的JPG,只改一个,再导入做测试,仍然失败!
后来发现导出的所有单引号形状很怪,(可能是半全角的问题)替换所有单引号为正常,仍然失败!
总之我用尽了各种办法,都不能导回sql到服务器上去,哪怕是正常导出来,不做任何修改,仍然导回失败。
第5步,你可以只要了解就OK,可以跳过,不过正是第5步帮我发现了问题所以,因为做以说明。

6)在phpMyAdmin使用“搜索”工具,输入关键词wp/,发现将近100项含有wp/的绝对路径数据,分别被写入在若干表里。经过反复检查,确定以下两个表内的数据需要修改。分别是wp_postmeta,和wp_post。再次试验了一下单表导出,批量替换,仍然失败,决定用 phpMyAdmin自带的sql命令来改。在网上查了一下sql命令,批量更改数据的方法如下:
update 表的名字 set 字段名 = replace(字段名,’旧数据’,’新数据’)
这样一来就好办了,依葫芦画瓢,分别执行以下命令。
update wp_postmeta set meta_value = replace(meta_value,’wp/’,’blog/’)
(这句的意思是将wp_postmeta表里的meta_value字段里的所有的wp/改成blog/,下面这句同理,就不解释了)
update wp_posts set post_content = replace(post_content,’WP/’,’blog/’)
大家要注意的是,很多blog和论坛里,会将标准单引号( ‘ ) 改成全角(‘ ),我不知道我的blog是否也会这样,如果你是复制这句命令,一定要检查一下。(我就是吃了这个亏,狂执行了若干次也无效)

完事之后,再去首页刷新一下,整个世界都光明了~~~~
本来搞完之后已经很晚了,但是在这个过程费了太多气力,而去网上也没有找到很好的办法,所以把我的过程记录下来。希望对别人能有所帮助。同时,我很不能理解的是,wordpress的图片信息竟然记录的是绝对路径而不是相对路径,看样子以后都用gallery来管理图片会安全和合理一些。
可以访问 http://nwgale.com/blog/ 来看看效果。

From:http://nwgale.blog.163.com/blog/static/11169408200971665252464/

赞赏

微信赞赏支付宝赞赏

「赏不在多,觉得文章有用,就赞赏下吧!」

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据