Question2Answer让中文URL更简洁

如果启用伪静态,对于问题链接那么Question2Answer会使用这样的URL结构

/123/why-question2answer

这种URL结构在英文里是SEO友好的,能够很好的索引,但是如果使用的是中文版,这时候URL就会变成

/123/中文字串

编码后就是一串:

/123/%E4%B8%AD%E6%96%87%E5%AD%97%E4%B8%B2

这种中文URL在chrome等浏览器里是未编码的形式,但是在IE下会显示成编码的URL。虽然说现在百度也开始收录中文URL,但是这种编码的URL的一个问题就是太长了,不利于收录。所以我们要Hack一下,然后让Question2Answer支持如下的URL,却掉其中的中文标题:

/123

这样会更简介,更利于搜索引擎收录。

经过网友“气味”的提示,修改成这样的URL很简单,打开qa-include/qa-base.php,找到qa_path这个函数中的

$requestparts=explode(‘/’, $request);这一行,对于Question2Answer 1.5在1104行,然后在下面加入:

if (is_numeric($requestparts[0])) {
unset($requestparts[1]); 
}

OK,搞定!