nginxのlocationマッチングのルールは何ですか?

nginxのlocationマッチングルールは以下の通りです:

  1. 厳密に一致する場合(=):URIが指定された場所と完全に一致する場合は、その場所を使用します。例えば、location = /testは/testというURIにのみ一致します。
  2. プレフィックスマッチ(^〜):URIが指定されたlocationで始まる場合、そのlocationを使用します。このルールは正規表現マッチングよりも優先されます。例えば、location ^〜 /images/は、/images/で始まるURI(例:/images/logo.png)に一致します。
  3. 正規表現のマッチング(~および~*):正規表現を使用してマッチングを行います。~は大文字と小文字を区別し、~*は大文字と小文字を区別しません。例えば、location ~ \.(jpg|jpeg|png)$の場合、.jpg、.jpeg、あるいは.pngで終わるURIにマッチします。
  4. 最長一致プレフィックス: 正確な一致、プレフィックス一致、または正規表現にマッチしない場合、最長一致プレフィックスの場所を使用します。 たとえば、location /はどんなURIにも一致します。

複数の場所が条件に一致する場合、最初に一致した場所が使用されますので、一致規則の順序に注意してください。

bannerAds