博客的访问地址从原来的「http://menghao.net/blog/」折腾到了根目录「menghao.net」下面。当然,如果还是用老地址访问,会被Apache的.htaccess规则转向到根目录下。

我参考了官方的「Giving WordPress Its Own Directory」,如果感兴趣可以去看看。这里记一下折腾过程,以作备忘。

  1. 进入管理后台的「Settings」,在「General」设置里面,把「WordPress address (URL)」一栏设置成Wordpress的存放地址,比如「http://menghao.net/wordpress」;然后再把「Blog address (URL)」一栏设置成你想要的博客地址,比如「http://menghao.net」。然后提交保存。
  2. 为了保证新的博客地址能被顺利访问到,需要把「index.php」和「.htaccess」这两个文件从原来的Wordpress目录下拷贝到新的访问目录下。我这里就是直接拷贝到「http://menghao.net」的根目录下就可以了。
  3. 由于「index.php」中需要引用Wordpress的文件,所以完成拷贝之后,用文本编辑器打开「index.php」文件,把其中的
    require('./wp-blog-header.php');

    修改为

    require('./wordpress/wp-blog-header.php');

    然后保存文件。如果你是在本地进行修改的,别忘了把修改好的文件上传到远端服务器。

  4. 一切就绪后,登录到Wordpress的后台,把「Permalinks」一栏重新设置一下,如果需要的话。不过我的Permalinks一直都是采用「/archives/%post_id%.html」这样的设置,即便更换了Wordpress的存放目录,也不会影响访问。不过还是推荐提交一下更新,因为这一步操作之后,Wordpress会将目前的Permalinks设置写入到「.htaccess」文件中。
  5. 最后,从「http://menghao.net/blog/」转换到「http://menghao.net/」的我,还希望那些不知道我更换了访问地址的人仍然可以通过原来的地址正确访问到我的博客,那么这时候需要修改一下「.htaccess」文件。打开「.htaccess」,在里面加入一行:
    Redirect /blog http://menghao.net

    这样,所有访问到「http://menghao.net/blog/」的请求将被跳转到根目录下。

好了,这样就OK了。

不过,我的有些插件出问题了。
目前发现的,就是我那用了很长时间舍不得扔掉的「Emotions」插件,报的是目录路径不存在。这是由于插件本身要读取表情所在的目录,而这个目录的路径在插件代码中被写死了,所以一旦Wordpress的目录与设置的博客访问目录不一致,插件就会出现问题。
修改方法是,将Emotions目录下的「emotions.php」文件用文本编辑器打开,把第51行的

if ($handle = opendir('wp-content/plugins/emotions/images/')) {

修改为

if ($handle = opendir('wordpress/wp-content/plugins/emotions/images/')) {

也就是人为的把写死的表情图片的路径再写死一次,这办法虽然不是一劳永逸的,不过也算是最简单有效的办法了。

嗯,目前为止一切正常。

另外,关于「.htaccess」文件的写法和应用,一直都是一个非常Wonderful的事,对于我。所以推荐一个网站,可以通过下拉框和点击按钮完成书写「.htaccess」文件的重任,比较好用:http://www.htaccesseditor.com/sc.shtml,遠慮しないで o(∩_∩)o

以上。