2008-07-21
WordPress2.5标签bug-2.6升级失败-修改数据库密码的办法
把这次失败分享出来,应该对大家会有帮助。我记录得稍详细一些。关于WordPress2.6、2.5的版本比较问题,以及关于密码遗失的解决,本文都提供了解决办法。并且,都是通过实践摸索得来。相信会对大家有帮助。
之所以把WordPress升级到2.6,不是为了赶时髦,而是因为2.5.1里有一个Tag的问题无法解决。这个问题是这样的:
一个Tag既有名称(Name),又有缩略名(Slug),在页面上,Tag显示为Name,而在系统中,Tag被记录为Slug,每一个Tag的Name和Slug都是一一对应的。其中,Name可以定义为中文或英语,Slug要被系统记录,所以只能是英语字符,如果你将Tag的Slug定义为中文,在2.5.1中,系统会自动将其转化为一串英文+数字的字符。问题就处在这里。中文博客的Tag名称通常定义为中文,而URL里的Slug要展示英语,系统又只能用一串无意义的字符来把Name翻译成Slug,从而出现在为文章添加标签的时候,标签不断出现重复的现象:同一个Name,对应两个Slug,一个是你自己设置的正确Slug,一个是系统根据Name自动翻译的错误Slug。这就导致写博客时添加标签非常麻烦。按照这篇文章的说法,有两种解决问题的办法:其一,改文件;其二,据说会在2.6中修订这个bug。
改文件的办法我尝试过,但是未果。看到这次2.6中文版发布,我就期待能通过升级解决这个中英文转化的问题。所以昨晚下载了2.6,备份2.5,上传,升级。毕竟已经是第三次给WordPress升级了,一路上算是轻车熟路。但是就在我准备登录检验这个bug有没有修复的时候,2.6的问题出现了:
- 后台登陆失败。症状非常奇妙,并非提示密码错误,而是不断重复登陆,在两个URL之间切换,始终无法正常显示后台界面。这种情况可能是由于某个插件不兼容或者某个旧版本中的文件未及时清除引起的,我翻一下WordPress论坛,发现不是我一个人的问题,所以也不太担心。
- 这个问题严重了。所有独立文章页面都无法显示。输入URL后都提示该URL找不到文章,也就是说整个博客只有首页和分类页面可以显示文章。稍微了解一点SEO的朋友都知道这种情况意味着什么:大部分从搜索引擎通过关键词进来的访问,都将看不到文章。昨天一看到是这个情况,立马就冒汗了……
幸亏我还有备份,赶紧把2.5.1恢复出来,时间太晚,就睡觉了。今天晚上再过来解决这个问题。
Google了一些,关于这个独立文章页面无法显示文章的问题,很说有人提到。多亏找到这篇文章:http://bbs.wopus.org/thread-374-1-1.html,至少知道了出现这个情况的原因。原来是WIN主机造成的问题:自动给文章URL里添加了index.php,而解决办法只有在Permalink设置里,添加上Catagory和Tag属性。这样虽然可以解决问题,但不适用于我这样已经有400多篇文章的blog。一旦对全站所有文章链接做出这样的改动,SEO收录和更新方面的影响将是非常大的,极有可能会在一长段时间里,都无法通过所搜引擎顺利抵达文章页面。
这就相当于给WordPress2.6判了死刑。这个问题不修正,我就不可能升级到2.6,而同样,我正在借助Tag整理全站文章,如果Tag的添加非常麻烦,Slug的中英文转化问题不能解决,那我也不可能再继续使用2.5.1。无奈之下,今晚选择退回2.3.3。
结果退回版本又碰到妖怪事情。数据库更新之后,后台又无法登录。这次的症状是不断提示密码错误。换帐号也一样。从admin到用户帐号,一个都无法登录,这把我郁闷的……干脆,直接改数据库。从控制面板登录数据库,从Users里找到admin,直接修改Pass字段。这里有个技术问题,Pass字段显示的一串字符也是经过系统编译的,不能直接用作密码。我Google了一下,找到这篇文章:原来可以把Pass字段改成这段字符:5d41402abc4b2a76b9719d911017c592,(这段字符是系统对“hello”的编译结果)然后回到前台,用户名admin,密码“hello”就可以了。
终于,我又一夜回到解放前……几个礼拜之前升级2.5.1的时候,万万没有想到会有现在这许多问题……
标签的问题还要重新摸索……希望2.3.3下的Simple Tags比较好用……
