18

Rewrite Logging を有効にして、このルールをいじって、それが何をするのか (もしあれば) を理解することはできますが、誰かが既に知っているに違いありません。ルール自体は次のとおりです。

RewriteRule ^ - [L]

ここに文脈があります:

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

「すべてを合わせる」という意味だと思います。「Match Everything」は、欠落しているコードがないことをより明確にするためのドットであり、キャレットだけが含まれている場合は正規表現がエラーになると考えていました。だから私は、それが何か別の意味を持っている可能性を外部に見出しています。

4

1 に答える 1

23
  • ^あなたが言うように、「何でも一致する」というやや非正統的な言い方です
  • -「何もしない」という意味
  • [L]「最後のルール」を意味します。つまりRewriteRules、この時点で処理を停止します

このRewriteCond/の組み合わせはRewriteRule、現在の要求が既存のファイルまたはディレクトリに対するものであるmod_rewrite場合、後続RewriteRules.


コードで表現すると、これは次のようになります。

do_rewrites(req)
{
  if (is_file(req) || is_dir(req))
    return;

  // other rules
  ...
}
于 2013-06-25T21:27:49.817 に答える