share facebook facebook twitter menu hatena pocket slack

nginxでURLに渡すパラメータのメモ

比嘉 啓太

WRITTEN BY 比嘉 啓太

いつものように個人的なメモ

URLにパラメータを付与した際の動作
hoge.jp へのアクセスを foo.jp へ飛ばすと想定

関連:Nginxのリダイレクト設定のメモ

1. 何も無し

 location / {
    rewrite ^(.*)$ http://foo.jp redirect;
  }

hoge.jp?bar -> foo.jp/?bar となる

2. $request_uri

 location / {
    rewrite ^(.*)$ http://foo.jp$request_uri redirect;
  }

hoge.jp?bar -> foo.jp/?bar?bar となる

3. $uri

 location / {
    rewrite ^(.*)$ http://foo.jp$uri redirect;
  }

hoge.jp?bar -> foo.jp/?bar となる

4. $uri$args

  location / {
    rewrite ^(.*)$ http://foo.jp$uri$args redirect;
  }

hoge.jp?bar -> foo.jp/bar?bar となる

5. $uri?$args

 location / {
    rewrite ^(.*)$ http://foo.jp$uri?$args redirect;
  }

hoge.jp?bar -> foo.jp/?bar&bar となる

6. ?止め

 location / {
    rewrite ^(.*)$ http://foo.jp? redirect;
  }

hoge.jp?bar -> foo.jp/ となる

7. set $args ”;

 location / {
    set $args '';
    rewrite ^(.*)$ http://foo.jp$request_uri redirect;
  }

hoge.jp?bar -> foo.jp/?bar となる

メモ

動作に差がでるので注意

参考

ようへいの日々精進XP:深夜メンテナンスに役立ちそうな nginx 小ネタ
stackoverflow: Remove parameters within nginx rewrite

元記事はこちら

nginxでURLに渡すパラメータのメモ

比嘉 啓太

沖縄出身エンジニア。サーバ構築等のインフラを担当しています。最近はWindowsとUbuntuをさわっていることが多いです。

cloudpack

cloudpackは、Amazon EC2やAmazon S3をはじめとするAWSの各種プロダクトを利用する際の、導入・設計から運用保守を含んだフルマネージドのサービスを提供し、バックアップや24時間365日の監視/障害対応、技術的な問い合わせに対するサポートなどを行っております。
AWS上のインフラ構築およびAWSを活用したシステム開発など、案件のご相談はcloudpack.jpよりご連絡ください。