こなさんち

しがないフリーランスエンジニアの備忘録。

location ディレクティブ@nginx

かなり使います
location ディレクティブ。

優先順位があるので、ちゃんと使いましょ。

location = / {
  # / のみが条件に一致。
  # ここにヒットしたら、何よりも優先されて以下はチェックされません。終了。
  [ A ] 
}
location  / {
  # / で始まる全てのURIに一致します。
  # 正規表現や文字列が長いものが優先的。
  [ B ] 
}
location /doc/ {
  # /doc/ で始まる全てのURIに一致します。
  # 正規表現のチェックは、続けて処理されます。
  [ C ] 
}
location ^~ /img/ {
  # /img/ で始まる全てのURIに一致したら、そこで検索終了。
  # ここにヒットしたら、何よりも優先されて以下はチェックされません。終了。
  [ D ] 
}
location ~* \.(gif|jpg|jpeg)$ {
  # 末尾が、gif, jpg, or jpeg の場合、一致します。
  # しかし、/img/ ディレクトリのすべての要求は、[ D ]で終了
  [ E ] 
}