1階層深くリダイレクトする。
久々にnginxの設定を変更する機会があって、わりとハマってしまった。
要件はこんな感じ
/数値(4桁以上)のリクエストを/hoge/数値(4桁以上)へリダイレクトする
例えば/1234 => /hoge/1234みたいな感じ
ただし/1234/みたいなケースはリダイレクトしないようにする
自分が検証してみた感じ結果は2種類
location ~ '^/([0-9]{4,})$' { return 302 /hoge/$1; }
location / { rewrite '^/([0-9]{4,})$' /hoge/$1 permanent; }
自分の好みでゆうと前者の方なんだけど、パフォーマンス的な違いはあるんだろうか???
まだまだ勉強が足りないorz
ちなみにハマってしまったのはキャッシュの影響で設定が反映されなかったこと
もしやと思ってシークレットモードでリクエストを投げたら正常に動作したので、ブラウザ側のキャッシュなのかなーと思っている。
皆さんパスの書き換えの時はシークレットモードを使いましょう!

- 作者: 久保達彦,道井俊介
- 出版社/メーカー: 技術評論社
- 発売日: 2016/01/16
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (5件) を見る