我想知道以下是否可行
RewriteRule ^([^/]*)/([^/]*)$ /search.php?type=$1&query=$2 [L]
RewriteRule ^([^/]*)/([^/]*)/([^/]*)$ /search.php?type=$1&query=$2&condition=$3 [L]
RewriteRule ^([^/]*)/([^/]*)/([^/]*)/([^/]*)$ /search.php?type=$1&query=$2&page=$3[L]
正如您所看到的,第一行和第三行类似于唯一的区别是第三个参数的名称,第二个规则将用于诸如
之类的页面/isbn/1203910293/new
虽然第三条规则将用于诸如页面别名页码
之类的页面/title/harry-potter/2
我知道这似乎很愚蠢,因为我可以调用condition
参数,但如果使用参数page
答案 0 :(得分:0)
第三种规则模式^([^/]*)/([^/]*)/([^/]*)/([^/]*)$
将不匹配
/title/harry-potter/2
因为该规则需要四个部分,例如
/title/harry-potter/2/xyz
或至少是斜杠
/title/harry-potter/2/
相反,它将与第二个规则模式匹配,因为它也有三个部分,就像
一样/isbn/1203910293/new
如果您想匹配页码,您需要匹配类似于第二条规则的规则,但更具体,例如
RewriteRule ^([^/]*)/([^/]*)/(\d+)$ /search.php?type=$1&query=$2&page=$3 [L]