ネット上で、次のような RewriteRule を定義するいくつかの方法を見つけました。
RewriteRule .? 404.php [L]
RewriteRule . 404.php [L]
RewriteRule ^ 404.php [L]
しかし、なぜこれらがガベージ URL を入力するときに機能するのでしょうか? 最初の(.?)
意味は、404.php につながるゼロまたは 1 つの文字が存在する必要があることを意味するためです (一連の文字や単語ではありません)。同様に、それぞれ char と行頭のみ.
を^
探します (数文字または単語を含む行ではありませんよね?)。それがRegExのヘルプに基づいて私が考えるものです。私が間違っている?または ...?