php - Apache の書き換えに関する質問
我想大声告诉你
我想大声告诉你 2017-05-16 12:59:47
0
1
492

ApacheのRewrite機能を学ぶとき。 flags の L が何をするのかわかりません
たとえば、次のコード:

リーリー

次のコードは実行したくないので、直接コメントして削除すれば良いのではないでしょうか?なぜ L

を使用する必要があるのですか
我想大声告诉你
我想大声告诉你

全員に返信(1)
習慣沉默

設定ファイルから判断すると、後の文は確かに不要です。ただし、これは指定した構成例にのみ限定されます。 L没用,L がまだ独自のアプリケーション シナリオを持っているという意味ではありません

仮説

リーリー

この構成では、リクエストは 123.html であり、リクエストが Apache に到達すると、Apache はルールを上から下に照合し始めます。
最初のステップでは、RewriteRule /([0-9]+) を照合します。 /test1.php?id=$1 は、停止するマークがないため、一致が成功したことがわかりました。そのため、コードの実行を続けます RewriteRule /([0-9]+).html /test1.php?id=, 发现匹配通过, 因为没有标记停止,所以继续向下执行代码
第二步,匹配RewriteRule /(.*) /test2.php?id=, 发现匹配通过,因为是最后一条规则,且是通过的规则,则最终请求被导向test2.php?id=123.html 2 番目のステップ、一致 RewriteRule /(.*) /test2 .php?id =$1 の場合、これは最後のルールであり、渡されたルールであるため、一致が渡されたことがわかり、最後のリクエストは test2.php? のページに送信されます。 id=123.html

しかし、そうであれば:

リーリー

最初の試合が終わった後、マークが見つかりましたL,则apache停止向下继续匹配,而是直接就导向了test1.php?id=123的页面; 而其他的请求(比如:abc.html)只有当第一条规则不通过的时候,才会继续匹配第二条规则, 请求被导向至test2.php?id=abc.html

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート