我有一个问题重写2个参数是在同一位置的URL。
我想要以下URL结构:类别(无页面或字母设置)类别/第2页(与第1页不同)类别/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]
你的第二条规则没有被忽略。相反,匹配第二个规则的任何内容也将匹配第一个规则,因此将处理第一个规则(并且[L]
修饰符阻止进一步处理)。
基本上,第二条规则与第一条相同,但附加了一个条件,即字符page-
也必须存在于两个捕获的部分之间。这个page-
部分匹配第一条规则的([^/.]+)
条件,因此当处理第一条RewriteRule
时,它将被匹配。
试着颠倒前两条规则的顺序