Mod_rewrite问题与2个虚拟文件夹


mod_rewrite problem with 2 virtual folders

我有一个问题重写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时,它将被匹配。

试着颠倒前两条规则的顺序