Mod rewrite Apache访问规则优先级

Mod rewrite Apache访问规则优先级,mod-rewrite,Mod Rewrite,我知道。htaccess规则是自上而下解析的,但如果我的URL匹配两条规则,会使用哪一条,为什么 我有一些简单的规则,比如 ^(.*)$ index.php?pag=cms&title=$1 ^store/(.*)$ index.php?pag=store&id=$1 基本上,任何URL都会匹配第一条规则,那么其他URL会发生什么呢?如果URL匹配两条规则,则第一条规则会被重写。这并不是说第二条规则不起作用。它确实存在,但它无法匹配,因为后续规则会激发它前面的规则的输出 如果您

我知道。htaccess规则是自上而下解析的,但如果我的URL匹配两条规则,会使用哪一条,为什么

我有一些简单的规则,比如

^(.*)$ index.php?pag=cms&title=$1
^store/(.*)$ index.php?pag=store&id=$1

基本上,任何URL都会匹配第一条规则,那么其他URL会发生什么呢?

如果URL匹配两条规则,则第一条规则会被重写。这并不是说第二条规则不起作用。它确实存在,但它无法匹配,因为后续规则会激发它前面的规则的输出

如果您不希望重写失败并在第一个匹配规则处停止,可以使用
[L]
标志将该规则标记为最后一个

^(.*)$ index.php?pag=cms&title=$1  [L]
^store/(.*)$ index.php?pag=store&id=$1 # won't fire now

如果URL匹配两条规则,则第一条规则将被重写。这并不是说第二条规则不起作用。它确实存在,但它无法匹配,因为后续规则会激发它前面的规则的输出

如果您不希望重写失败并在第一个匹配规则处停止,可以使用
[L]
标志将该规则标记为最后一个

^(.*)$ index.php?pag=cms&title=$1  [L]
^store/(.*)$ index.php?pag=store&id=$1 # won't fire now