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

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
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート
    私たちについて 免責事項 Sitemap
    PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!