はじめに
はじめまして、youtuber系エンジニアのやっすんです!
今回は、locationの優先順位に関する以前の補足記事です。
https://qiita.com/yassun-youtube/items/520956830b2512e2eb5b
Youtubeにも説明動画があるので、確認してみてください!
locationのフローチャート
locationの優先順位は表にすると混乱するので、フローチャートにしました!
勘違いしやすいのは、前方一致ありで、最長一致として識別子なしが該当する場合です。
この場合、正規表現が1つでも該当すると、どんなに識別子なしのパスが一致していようとも、正規表現が優先されます!!
例
例えば、以下の場合を考えます。
URIで/testingを検索してみます。
= はないので、前方一致の有無を確かめます。
前方一致には、識別子なしの /testing と ^~ /test があります。
この場合、最長一致で識別子なしの /testingが優先されます。
次に正規表現の有無を確かめます。
正規表現 ~ /te があるので、識別子なしは無視されます。
結果として、/testingでアクセスすると、location ~/teの処理に進みます。
location /testing {...}
location ^~ /test {...}
location ~ /te {...}
まとめ
今回、以前紹介したlocationの書き方を補足しました!
フローチャートを見ながらやれば、間違えずに出来そうですか?
何か質問や感想があれば、コメントお願いします!