禁用Wordpress文章目录的category前缀
2012-04-10Wordpress默认的文章目录形式,是以/category/作为前缀的。虽然说使用起来也没什么不便,但看起来总觉的不太对劲。而且人家本来是一级目录吧,却显示成二级目录的样子,恐怕会对SEO造成一定的影响。
这不,今天我偶然发现了一款Wordpress插件,叫做WP No Category Base。这款插件就是专门去除/category/前缀的。使用方法很简单,Wordpress后台->安装插件->WP No Category Base->搜索->安装->激活,不需要做任何配置工作。一切如此简单!有缓存的刷新网站缓存,再打开你的网站首页,目录形式是不是变简洁了呢?
到这里,功能设置就算完成了。但为了搜索引擎能够找到目录的新家,所以不要忘了把旧目录做301重定向哦。
我使用的301重定向插件叫做Simple 301 Redirects,效果还不错。但是也有一个缺点,就是需要手工一条一条地添加原URL和变更后的URL。对于二级目录尚且好说,大不了一条条加进去就是了。但是对于目录再分页的URL,例如mawenjian.net/category/free/page/2这样子的URL,一条条添加就很麻烦了,而且稍有不慎就会漏掉。
那肿么办啊?改造Simple 301 Redirects插件!我们可以使用正则表达式进行URL判断,如果URL以/category/开头,那么我们就让它跳转到没有/category/的相应页面。这样一来,我们就不必逐条添加记录了,而且不必担心出现漏掉的情况。此外,这样做还有一个好处,就是提高了 Simple 301 Redirects 插件的效率。
改造开始!找到redirect()函数,应该是在第116行,在$userrequest = rtrim($userrequest,'/');语句之后添加如下代码:
if( preg_match('/^\/category\/([\m]{1,})/',$userrequest,$matches) ){
header ('HTTP/1.1 301 Moved Permanently');
header ('Location: http://网站网址/'. $matches[1]);
exit();
}
保存文件,上传,OVER!
发表回复