ブレークなしとブレークありの nginx 書き換えの違い
習慣沉默
習慣沉默 2017-05-16 17:09:28
0
1
641

nginx書き換えの構成時に問題が見つかりました

リーリー

これは正常ですが、休憩を削除すると、

リーリー

この時点でエラーが報告されました

「/404.html」の処理中の書き換えまたは内部リダイレクト サイクル

ブレークを追加する場合と追加しない場合の違いは何ですか? ブレークを追加しない場合、書き換え後はどうなりますか?私の疑問を解消してくださるよう神にお願いしてください

----------更新----------

404.html ファイルが存在します

breakをlastに変更しても上記のエラーが報告されるので、breakを追加したりbreakをlastに変更しなくても、上記の書き換えでuriが一致した場合に再度locationブロックが一致すると思うのですが、値がの変数 ($document_root、$fastcgi_script_name...) が変更されていないため、if ブロックが再度入力され、ループが 10 回を超えるまで続き、その後 500 エラーが報告されます

----------また更新----------

さらにテストを行った結果、ロケーション ブロックに書き換え後にブレーク フラグがない場合、または書き換え後に最後のフラグがある場合、元のロケーション ブロックを入力したままであれば、書き換え後にロケーション ブロックが再選択されることがわかりました。とすると、変数 ($ document_root, $fastcgi_script_name...) は変わりませんが、書き換え後に別のロケーションブロックにリダイレクトされると、この時点で変数が変わります

習慣沉默
習慣沉默

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

ブレークを追加しない場合、処理は停止せず、次の書き換えルールを探し続けます。

すべてのリクエストを 404.html に書き換えます。 404.html が存在しない場合、無限ループになります。

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