人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

nginxのrewrite設定で特定のパスを除き特定ドメインへリダイレクトの設定方法が分かりません
下記のように設定したのですがうまくリダイレクトされませんでした
出来れば複数の特定パスを除きリダイレクトの方法も教えて下さい
if ($request_uri != ^/hogehoge/cgi-bin) {
rewrite ^/(.*) http://hogehoge.com/a/$1 last;
}

●質問者: technote7
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● studiocherry
ベストアンサー

下記のように設定したのですがうまくリダイレクトされませんでした


これだけでは、どのような動作を想定しているのか 分かりにくいです。
URIの例と希望動作を書いてもらえると 答える側としては回答がしやすいです。
ちなみに ログには、なにか記録されていましたか?

リダイレクトの希望動作が、

/hogehoge/cgi-bin 以下のファイルへアクセスした時は、リダイレクトしない。
それ以外の時は、リダイレクトする。

と推測して、回答します。
異なっている場合は、コメントで、質問内容を補足してください。

質問に書かれている != の場合、URI が、「/hogehoge/cgi-bin」に完全一致した場合以外は、すべてリダイレクトされると思います。

推測した条件で、リダイレクトしたい場合は、 != (一致しない)を !~ (含まない)に 変えたら良いと思います。

http://nginx.org/en/docs/http/ngx_http_rewrite_module.html

P.S.
細かいことですが、例示用URLを書く場合のドメインは、hogehoge.com ではなく example.com 等の例示用ドメインを使いましょう。 ( http://www.atmarkit.co.jp/fwin2k/win2ktips/801exampledom/exampledom.html )


technote7さんのコメント
!~で出来ました! 質問の内容不足にも関わらず回答頂いてありがとうございます また例示用ドメインも参考URL記載のexample.com等に変えたいと思います
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ