LOCATION [= |〜|〜* | ^〜】/ / URI {...} = 一致する正確な開始 〜開始は、大文字と小文字が区別正規マッチングを表す 〜* 初めは大文字と小文字を区別しない正規マッチングを示す ^〜始まりにURIを発現ストリングの従来の開始は、URLのパスに一致するものと理解されます。URLリクエストが/であるので、nginxのではないコーディングを行う静的 / 20である%/ AA、
それは定期的に〜^ /かもしれ静的 / / マッチしたAA(スペースに注意)。 !〜と!〜* 大文字と小文字は区別されず、大文字と小文字を区別しないマッチは、通常一致しない / 任意の要求が一致している、一般的なマッチを。 場合場所のために構成マッチングための複数: 最初の一致 =、^〜、最終的/一般的なマッチに、順に、正のマッチングファイル続い一致しました。マッチング停止したとき、一致の成功があった場合、現在のルールによる処理要求が一致しました。
================================================== ====================================
次のように前提はnginxの設定ファイルをインストール:(圧縮及び遅延の皇帝を無視することができます)
ユーザーnginxののnginxの。 worker_processes 2 ; error_logのログ / error.logに情報; PIDログ / nginx.pid。 イベント{ 使用するファイルディスクリプタ。 worker_connections 10240 ; } HTTP { のmime.typesを含みます。 default_typeアプリケーション / octet- ストリーム。 LOG_FORMATメイン ' $ REMOTE_ADDR - $ REMOTE_USER [$ time_local] "$依頼" ' ' $地位$ body_bytes_sent "$ HTTP_REFERER" ' ' "$ HTTP_USER_AGENT" "$ HTTP_X_FORWARDED_FOR" ' ; / メインのaccess.log。 sendfileの上; オフserver_tokens; keepalive_timeout 65 ; client_header_timeout 60 ; client_body_timeout 60 ; gzipの上; gzip_buffers 4 16K。 gzip_http_version 1.1 ; gzip_comp_level 2 ; gzip_typesテキスト /プレーンテキスト/ javascriptのアプリケーション/ X-javascrip tのテキスト/ CSSのテキスト/ XMLの アプリケーション / XMLアプリケーション/ XML + RSS。 サーバー{ 聞いて 80を。 SERVER_NAME www.source.com; 文字セットUFT - 8 。 access_logのログ / メインsource.com.access.log;
测试区の
位置 / { 返す 400 。 } 場所 / テスト{ リターン 401 。 }
location ~ ^/test {
return 402;
}
場所〜^ /試験/ AAA {
403を返します。
}
}
}
それぞれがマスター設定ファイルを変更した後、次の2つのコマンドを実行する必要があります。
[ルート@ localhostの〜]#nginxの-t
[ルート@ localhostの〜]#killallを-HUP nginxの //重启nginxの
理論のテスト:故意にそれはLinuxのために一致し、障害への次の試合のリードから上にあるかどうかを確認するために、以前の優先度の低い場所に置きます
最初のテスト:テスト野生の複数の優先順位は、位置/テストを追加しました
[ルート@ localhostのconfに]#カール-v 127.0.0.1:80/test
<HTTP / 1.1 401権限
試験結果:位置より/試験高い優先順位/
第二の試験:場所通常の優先度のテスト、私たちは^〜/テストを追加し、テストの開始と定期的な一致を使用
[ルート@ localhostの〜]#カール-v 127.0.0.1:80/test
<HTTP / 1.1 402支払いが必要です
試験結果:優先度の高い/テストと〜^ /テストは、つまり、通常の場所は、野生の場所の優先度よりも大きいです
第三のテスト:より多くの定期的な優先順位のテスト、私たちは主に次を検証するために、通常の2を使用し、より規則的な構成、高い優先順位ではありません。
[ルート@ localhostの〜]#カール-v 127.0.0.1:80/test/aaa
<HTTP / 1.1 402支払いが必要です
テスト結果:402結果は、試合への後の最初の肯定である、返された定期的な試合の下に行くことはありません。定期的に無効である下のように、要求/テスト/ AAAので、^ /テストを打ちます
第四テスト:私たちは、正確なマッチに参加する、つまり、nginxのの=、私たちの次のテストマッチ正確に優先順位
[ルート@ localhostの〜]#カール-v 127.0.0.1:80/test/aaa
見つかりませんでした<HTTP / 1.1 404
テスト結果は:404を返します。これは、説明して正確に一致=最高の優先度を関係なく、それが置かれた場所の、。