我知道.htaccess规则是从上到下解析的,但是如果我的URL匹配两个规则将使用哪个规则以及为什么呢?
我有简单的规则
^(.*)$ index.php?pag=cms&title=$1
^store/(.*)$ index.php?pag=store&id=$1
Run Code Online (Sandbox Code Playgroud)
基本上任何URL都匹配第一个规则,那么其他URL会发生什么?
如果URL匹配两个规则,则它是第一个重写的规则.这并不是说第二条规则不会触发.它确实但它无法匹配,因为后续规则触发了它之前的规则的输出.
如果您不希望重写为直通并停在第一个匹配规则,则可以使用该[L]标志将规则标记为最后一个.
^(.*)$ index.php?pag=cms&title=$1 [L]
^store/(.*)$ index.php?pag=store&id=$1 # won't fire now
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3196 次 |
| 最近记录: |