我在重写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]
答案 0 :(得分:0)
你的第二条规则不会被忽视。相反,与第二个规则匹配的任何内容也将与第一个规则匹配,因此会处理第一个规则(而[L]
修饰符会阻止进一步处理)。
基本上,第二个规则与第一个规则相同,但附加条件是两个捕获的部分之间也必须存在字符page-
。此page-
部分与第一个规则的([^/.]+)
条件匹配,因此在处理第一个RewriteRule
时将匹配该部分。
尝试颠倒前两个规则的顺序。