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

nginxのlocationディレクティブは、リクエストのURIをマッチし、適切な処理プログラムに転送するために使用されます。そのマッチングルールは以下の通りです。

  1. 完全一致マッチ: もしlocationディレクティブの引数がリクエストのURIと完全に一致する場合、完全一致マッチが行われる。例えば、location /index.htmlはリクエストのURIがhttp://example.com/index.htmlと一致する。
  2. プレフィックスマッチング:もしlocationディレクティブの引数が「^~」で始まる場合は、プレフィックスマッチングが行われます。例えば、location ^~ /images/は、リクエストのURIが/images/で始まるすべてのリクエストにマッチします。例えば、http://example.com/images/logo.pngが対象です。
  3. 正規表現マッチング:locationディレクティブのパラメータが「~」または「~」で始まっている場合、正規表現マッチングが行われます。ここで「~」は大文字と小文字を区別し、「~」は区別しません。例えば、location ~ .(jpg|png|gif)$は、URIが.jpg、.png、または.gifで終わるリクエスト全てと一致します。例: http://example.com/logo.jpg。
  4. 最も長い文字列一致: 精確な一致、プレフィックス一致、または正規表現一致が成功しない場合、最も長い通常の文字列一致を選択します。例えば、location /はすべてのリクエストに一致します。

複数のlocationディレクティブのマッチングルールが同時に満たされる場合、nginxは最初に成功したマッチングディレクティブを処理します。

bannerAds