在谷歌搜索了一下关于WordPress的URL重写组件,好像比较多的一个规则就是那个有三种情况的:
第一个是像点石的那种目录格式:/%year%/%monthnum%/%day%/%postname%/;
第二种是:/post/%post_id%.html;
第三种也是想点石那样,后面多加.html:/%year%/%monthnum%/%day%/%postname%.html;
如果没有什么要求的话,这三个也够用了,详细规则见:http://www.wuliangzhihui.cn/space-2-do-blog-id-7.html。但是阿羡不肯那么快罢休,事隔四天了,他还在执着,所以我今天再次搜索关于WordPress的URL Rewrite组件,在中文搜索翻了天都找不到多少有用信息,于是灵光一动,使用英文Google来搜索一下:WordPress URL Rewrite。发现了不少好东西,虽然看不懂英文,但是发现很有用的信息,一个非常棒的组件,专门围绕WordPress的重写组件,解脱了编写规则的苦恼,彻底地解决了手工编写重写组件规则的烦恼。
下载地址:WordPressURLRewrite
这个东西可好了,他可以允许你在自定义那里填写任何WordPress支持的字段,包括:%year%,%monthnum% ,%day% ,%hour% ,%minute% ,%second% ,%postname%,%post_id%,%category% ,%author% 这些字段,而且任何加入其他符号,例如:“-”、“_”,又或者你想加入一个固定的单词,都可以为您生成符合的URL地址,非常强大,这样的话,阿羡要实现的/%category%/%postname%/就非常简单了,直接填写上去即可。
使用方法:
1、把WordPressURLRewrite32.dll和WordPressURLRewrite.ini复制到网站的目录;
2、加载DLL组件到该站(这里需要自己在服务器设置);
备注:如果箭头红色并且向下,试着给组件文件夹加上Users组的权限,重启一下站点就能箭头变成绿色并且向上。
这个WordPressURLRewrite组件是外国人的,所以不支持中文的tags,所以,为了兼容中文的tags,还需要多加载一个传统的组件dll,并且把规则写在httpd.ini:
[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
RewriteRule /tag/(.*)/ /index\.php\?tag=$1
这样就能支持任意字符的tags了,完美解决WordPress的URL重写问题。