搞定WordPress的Permalinks
WordPress的Permalinks还是比较好用的,只需要在Options->Permalinks里设置一个/post/%post_id%,基本就可以了,但它的Permalinks样式偶不喜欢,偶喜欢的样式是:
单篇文章
- domain.tld/post/post_id
存档
- domain.tld/archive/year
- domain.tld/archive/year/month
- domain.tld/archive/year/month/day (这个其实根本用不着)
分类
- domain.tld/category/category_name
分页
- domain.tld/page/page_number
- domain.tld/archive/year/month/page/page_number
- domain.tld/category/category_name/page/pagenumber
作者 其实也没啥用
- domain.tld/author/author_name
feeds
- domain.tld/feed
- domain.tld/feed/rss
Permalink的样式固定以后,即使以后再更换其它的Blog系统,也按照这个样式来设定,加上把数据也导过去,基本上能够保证用户使用以前的链接也能正常访问新系统的内容。
WordPress生成Permalink的程序主要在wp-includes\classes.php里,有一个WP_Rewrite类。
如果要修改存档的Permalink,只要找到function get_date_permastruct()部分,在靠后的位置有一句
$this->date_structure = $front . $date_endian;
在它前面加上一句
$front = '/archive/';
就可以了,其余的也类似:
$this->front = '/author/'; $this->author_structure = $this->front . $this->author_base . '/%author%';
$this->category_structure .= '%category%'; //下面这一句是增加的 $this->category_structure = '/category/%category%';
然后再修改.htaccess文件,修改相应的规则就可以了,由于只是简单的替换了一下前面的固定单词,所以很好修改的。如果没有.htaccess文件,在Options里设置一下Permalinks就会自动生成了。
