2个虚拟文件夹的mod_rewrite问题

时间:2011-07-23 02:26:36

标签: php mod-rewrite pagination

我在重写URL中同一位置的2个参数时遇到问题。

我想要以下网址结构: 类别(没有设置页面或letetr) category / page-2(第1页的不同页面) category / e / page-2(设置字母和页面)

问题是我的第二条规则被忽略了。 :(

这是我的代码:

    RewriteRule ([^/.]+)/([^/.]+)$ index.php?cat=$1&letter=$2 [L,NC]
    RewriteRule ([^/.]+)/page-([^/.]+)$ index.php?cat=$1&page=$2 [L,NC]
    RewriteRule ^([^/.]+)$ index.php?cat=$1 [L,NC]

1 个答案:

答案 0 :(得分:0)

你的第二条规则不会被忽视。相反,与第二个规则匹配的任何内容也将与第一个规则匹配,因此会处理第一个规则(而[L]修饰符会阻止进一步处理)。

基本上,第二个规则与第一个规则相同,但附加条件是两个捕获的部分之间也必须存在字符page-。此page-部分与第一个规则的([^/.]+)条件匹配,因此在处理第一个RewriteRule时将匹配该部分。

尝试颠倒前两个规则的顺序。