位置照合コマンド
~ #波線は、大文字と小文字を区別して通常の照合を実行することを意味します
~* #大文字と小文字を区別せずに通常の照合を実行することを示します
^~ #^~は、オプションが一致する場合、通常の文字照合を意味します、このオプションのみに一致し、他のオプションとは一致しません
= #通常の文字の完全一致
@ #"@" 名前付きの場所を定義し、error_page、try_files などの内部方向に使用されます
。 位置一致の優先順位 (構成ファイル内の位置の順序に関係なく)
= 完全一致が最初に処理されます。完全に一致するものが見つかった場合、nginx は他の一致の検索を停止します。
クエリ一致では、通常の文字一致、正規表現ルール、および長いブロック ルールが優先されます。つまり、項目が一致する場合は、正規表現一致とより長い一致があるかどうかを確認する必要があります。
^~ はこのルールのみに一致し、nginx は他の一致の検索を停止します。それ以外の場合、nginx は他の位置指示の処理を続けます。
最後に、「~」と「~*」を使用して命令を照合します。対応する一致が見つかった場合、正規表現が存在しない場合、または一致する正規表現がない場合、nginx は他の一致の検索を停止します。逐語的に一致するディレクティブが使用されます。
場所の優先順位の公式ドキュメント
例えば
location = / { # 只匹配"/". [ configuration A ] } location / { # 匹配任何请求,因为所有请求都是以"/"开始 # 但是更长字符匹配或者正则表达式匹配会优先匹配 [ configuration B ] } location ^~ /images/ { # 匹配任何以 /images/ 开始的请求,并停止匹配 其它location [ configuration C ] } location ~* \.(gif|jpg|jpeg)$ { # 匹配以 gif, jpg, or jpeg结尾的请求. # 但是所有 /images/ 目录的请求将由 [Configuration C]处理. [ configuration D ] }
上記では、関連する内容を含め、nginx の位置一致ルールを紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。