RewriteRule ^ - [L] AKA RewriteRule插入符号L

时间:2013-06-25 16:26:46

标签: regex mod-rewrite caret

虽然我可以打开Rewrite Logging并弄乱这条规则来弄清楚它的作用(如果有的话),我打赌有人已经知道了。这是规则本身:

RewriteRule ^ - [L]

这是在上下文中:

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]

我猜这意味着“匹配一切”。我曾经认为“匹配所有东西”将是一个点,使得更明显的是没有丢失的代码,并且如果插入符号是唯一的东西,正则表达式将会错误。所以我看到外面的机会,这意味着别的东西。

1 个答案:

答案 0 :(得分:20)

  • ^是一种有点非正统的说法“匹配任何东西”,就像你说的那样
  • -表示“不采取任何行动”
  • [L]表示“最后一条规则”,即在此之后停止处理RewriteRules

我假设在此之后还有其他规则,因为RewriteCond / RewriteRule的这种组合表示如果当前请求是针对现有文件或目录,{ {1}} 忽略任何后续mod_rewrite


在代码中表示,这相当于:

RewriteRules