konakona
WordPress从2.9升级到最新版后带来的各种困扰
WordPress从2.9升级到最新版后带来的各种困扰

部门的博客,去年底因需要的缘故,将博客从一个我记不太清叫什么的轻量级开源博客程序改为wordpress。

当时用的是2.8还是2.9,并且为了兼容之前的博客内页地址/blog/read.php?id=[id] 所以在wordpress的“设置”——“固定链接” 改为read.php?id=%post_id%

然后修改其.htaccess 将所有请求都指向blog/index.php

 

搞定后就去做其他项目去了,于是这是此博客上线后1年里出现的各种问题。

1.  其他同事反应:有时打开博客内容页时会变成XMLRSS:

这个问题经检查是下载使用的主题里的functions.php问题,事实证明:不要相信别人的技术会比自己好,也不要省那点时间哈…

2. 内页链接无法打开,总是跳回博客首页。

这是wordpress升级到最新版以后的事(我估计是3.0以上版本都存在这个问题),点击“设置”——“固定链接”里有几个默认地址选择(如下图)。

http://blog.crazyphper.com/wp-content/uploads/2011/11/wordpress.jpg

会发现都多了一个index.php。这是3.0以下版本没有的。

并且无论怎么切换这些选项,.htaccess里关键的重定向部分永远是下面这样毫无改变。

RewriteRule . /blog/index.php/$1 [L]

这个代码也是官方手册里推荐的写法,但是我想说一点都不适用。

正确起写法的应该是

RewriteRule ^(.*)$ index.php/$1 [L,QSA]

 

OK,一切都搞定了,换了新的主题和新的htaccess,但还发现一个问题,如果我依然采用/blog/read.php?id=[id] 或者[id].html 这样的伪链接,94%的内页都能正常打开,但有一小部分仍然无法打开,对于一个开源这么久的成熟程序代码有这样的“随机”定律我真的非常无语。

 

我现在已经将部门博客全面采用?p=[id]的格局,为了100%能打开每一个链接,哎……牺牲掉原有的收录,重新开始,因为也已经被惩罚了。

来做一个小型模拟测试还原当时的情形好了。

将你的“固定链接”设置为 %post_id%.html 保存,并将.htaccess 修改为以下内容:

RewriteRule ^(.*)$ index.php/$1 [L,QSA]

然后我建议将.htaccess修改为只读属性。使你在极度放松、信任的情况下不会被“程序升级”撇一道。

然后刷新博客首页,此时所有的链接都应该是 [id].html 这样的伪静态格式。

我相信你现在随便点几个都能打开内页。

但我还发现了有一个bug非常隐蔽,公司博客/217.html在 firefox、ie、opera里无论怎么点都会回到博客首页。唯独google chrome会打开正确内页…… 但如果你把地址改成?p=217 你就什么浏览器都能打开了。所以不是数据问题,而是wordpress内部程序问题。不光只是217。

这是什么情况?谁能给我解释下。我懒得继续深入研究这种莫名其妙的问题,它本就不该发生!真是wordpress的败笔。

现在我已经将博客所有地址恢复为默认的?p = [id] 格式,这是wordpress的基本内页查看链接。

这是wordpress身上的各种莫名其妙问题,而我自己的博客因为一直都是用?p=[id]的URL,所以从来没有这个情况发生过。

 

哎,今天真是吸收到了不少教训,博客真是用得好,一个博客PR升到3,用不好,整站PR跟着掉1级。

 

刚看完《黑暗侵袭》 ,非常棒的人性恐怖篇,ACFUN在线观看地址

看完以后说不出的忧郁啊……

赞赏
首页      程序开发      PHP      wordpress      WordPress从2.9升级到最新版后带来的各种困扰
https://secure.gravatar.com/avatar/3b712b34a0e1b689cfb524c9c6bcdc47?s=256&r=g

团哥

文章作者

继续玩我的CODE,让别人说去。 低调,就是这么自信。

发表评论

textsms
account_circle
email

konakona

WordPress从2.9升级到最新版后带来的各种困扰
部门的博客,去年底因需要的缘故,将博客从一个我记不太清叫什么的轻量级开源博客程序改为wordpress。 当时用的是2.8还是2.9,并且为了兼容之前的博客内页地址/blog/read.php?id=[…
扫描二维码继续阅读
2011-11-11