6

自分の IP アドレス以外で作成されたすべての nginx リクエストを にリダイレクトする必要があり/some-pageます。現在、このnginx構成を使用しています:

    if ($remote_addr != 127.0.0.1) {
        rewrite ^ http://www.example.com/some-page;
    }

私はリダイレクトされないので、これは私にとってはうまくいきますが、ブロックはリクエストが/some-page.

どうすればこれを修正できますか? リクエストパスを確認する方法がわかりません。

4

2 に答える 2

1

ifリクエストパスの別のチェックを行うことで、問題を解決しました。nginx はネストされたステートメントをサポートしていないことを知っていたので、回避策を提供するこのブログ投稿ifを検索して見つけました-チェックしたい各ステートメントで変数を更新し、最終ステートメントでそれを照合します。私の場合、私はこれを行いました。

    if ($remote_addr != 127.0.0.1) {
      set $check O;
    }
    if ($request_uri != "/some-page") {
      set $check "${check}K";
    }
    if ($check = OK) {
        rewrite ^ http://www.example.com/some-page;
    }
于 2013-08-01T16:01:26.280 に答える