wordpress更改安装目录教程及相关问题解决
今天,牛博哄哄的博客从原来的根目录转到了blog目录了,其中遇到了不少问题。结合网上搜索到的资料,在此与大家分享同时记录自己的网志。wordpress更改安装目录教程及相关问题解决如下:

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

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

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

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

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

4)删除你原来的wordpress安装目录(为了安全起见,我先改了目录名,在确认安全后再删除),如果你曾经豆瓣或者其它地方烧录过你的feed,可以在删除或者更改目录之前先去更改你的信息,因为有些网站会要求你发贴验证,不过这个不是很必要的。
(不要以为万事大吉了,继续向下看)
做完上一步之后,在后台检查了所有的插件等等,都可以正常使用,我以为万事大吉了,很happy的刷新了我的新网址http://www.niuhh.com/blog/,然后发现一个恐怖的事情,所有的图片链接变成了一个美丽的大红叉。(但是只要是用gallery上传的图片就可以正常显示)用右键查看图片地址,晕!依然是http://nwgale.com/blog/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.com\wp/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://www.niuhh.com/blog/  来看看效果。

如何将 Wordpress 的访问或安装目录更换为另一个目录呢?

于是上网搜索方法,很容易搞定,总结如下:

1、将程序文件移动到根目录下,任何文件均无需改动;

2、通过数据库管理功能 ( 如 phpMyAdmin) 进入数据库操作页面,将 wp_options 表中的 siteurl 的值 “http://你的域名/blog/”改为 “http://你的域名/”。

3、利用改动后的新地址,如这里的 “http://www.niuhh.com/”进入后台,修改将 “WordPress address (URI)” 和 “Blog address (URI)” 的值都改为 “http://www.niuhh.com/”。

wordpress更改安装目录后相关问题解决
wordpress更改安装目录或者更换域名后,一个最重要的问题就是以前被搜索引擎收录的文章还是原地址,如果此时不做处理,会损失访客的。

为了不白白浪费以前的工作和流量,可以通过了301重定向,把老站的文章通通转到过来。而且在linux主机下,通过修改根目录.htaccess文件就可以简单实现这个功能。

如果你想实现由:

http://www.niuhh.com/archives/40.html

直接转到下面链接的效果,以下的方法将很简单实用。

http://www.niuhh.com/archives/40.html

在使用301重定向时需要有几个前提条件:

  1. 保持新旧两站文章固定链接一致,搬迁时最好使用wp-dbmanager插件进行备份和还原数据库;
  2. 旧域名和空间必须要继续运行一定时间,大概要有两三个月;
  3. 空间主机类型为linux主机;

如果上面的条件都没有问题的话,打开旧空间跟目录的.htaccess文件,删除所有的语句,并加入保存以下语句:

# BEGIN WordPress
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine on
rewritecond %{http_host} ^www.your-old-domain.com [nc]
rewriterule ^(.*)$ http://www.your-new-domain.com/$1 [L,R=301]
</IfModule>
# END WordPress

通过这样301重定向不但平滑的过度了博客新老域名或者安装目录的更换,而且不会为带来很多的流量损失。