mod_rewrite匹配错误的模式

时间:2011-08-19 09:26:59

标签: mod-rewrite apache2

我的.htaccess如下:

RewriteEngine On
RewriteRule ^client/([0-9a-zA-Z]+)/(.*)$ licensee/client/$2?id=$1 [L,QSA]
RewriteRule ^licensee/(.*)/$ licensee/$2?id=$1 [L,QSA]

但是,如果我在浏览器中访问/client/asdf/,它会使用第二个重写规则而不是第一个重写规则。如果我注释掉第二个重写规则,它会按预期使用第一个规则。

我无法弄清楚第二条规则如何匹配/client/asdf/ - 我忽略了什么?

1 个答案:

答案 0 :(得分:0)

当您访问/ client / asdf /时,它与第一个RewriteRule匹配,因此新请求变为“licensee / client /?id = asdf”,与您的第二个规则匹配。