# Jump: ある場所から別の場所にジャンプします。ループは最大 10 回実行でき、その後 nginx は 500 エラーを返します
PCRE サポート: Perl と互換性のある正規表現構文ルールのマッチング
Rewriteモジュールセット命令: 新しい変数を作成し、それらに値を代入します
2. 実行シーケンスを書き換えます
②実行位置のマッチング
#3. 選択した場所で書き換えコマンドを実行します
##3. ジャンプ シナリオを書き換えます#ユーザーが参照する URL を調整して、より標準化され、開発および製品担当者のニーズに合わせて見えるようにします。 検索エンジンが Web サイトのコンテンツを検索し、より良いユーザー エクスペリエンスを提供できるようにするために、企業は動的 URL アドレスを静的アドレスとして偽装してサービスを提供しますURL が新しいドメイン名に変更された後、企業は動的 URL アドレスを静的アドレスとして偽装してサービスを提供します。 、古いアクセスは新しいドメイン名にジャンプします。たとえば、JD.com の 360buy.com へのアクセスは jd.com サーバー上の特定のビジネス調整 (特殊変数に基づく URL など) 、ディレクトリ、クライアント情報の調整など4. 文法とflgタグの説明文法書き換えreplacement: ジャンプ後の内容を示します flag: リライトがサポートするフラグマークを示します フラグマークの説明: 最後: この記事 ルールの照合が完了した後、新しいロケーション URI ルールを下位に照合し続けます。通常はサーバーで使用され、
#1. 分類
##場所は、次の 3 つのカテゴリに大別できます。 #完全一致: location = / {…} 一般一致: location / {…}最初の完全一致=
2 番目に接頭辞の一致 ^~その後、変更を加えずにプレフィックス マッチング、つまり一般マッチング
#ただし、/images/ でリクエストされたすべての画像は場所によって処理されます ^~ /images/、^~ の方が優先度が高いため、この規則が到着します。
location /images/abc {}
最長の文字は、最も低い文字である /images/abc と一致します。他の場所の検索を続けると、^~ と ~ 存在
location ~ /images/abc {}
が /images/abc で始まるものと一致します。 2 番目です。これは、場所 ^~ /images が削除された場合にのみ採用されます
location /images/abc/1.html {}
/images/abc/1.html と一致します通常の ~ /images/abc/1.html と比較すると、通常の優先度が高くなります 高
優先度の概要:
(場所 = フル パス) > (場所 ^~ path) > (location ,* Regular sequence) > (location 部分の開始パス) > ; (location /)
5. マッチング ルールの定義
① 最初に必要なルール:
は Web サイトのルートに直接一致します。ドメイン名を使用して Web サイトのホームページにアクセスすることがより頻繁になります。これを使用すると、公式 Web サイトなどの処理が高速化されます。
静的なホームページにすることも、バックエンドの「アプリケーション サーバー」 (PHP、Apache) に直接転送することもできます (アプリケーション サーバーは次の図に示されています)
# #
location / { root html; index index.html index.html; }②2番目の必須ルール: httpサーバーとしてのnginxの強みである静的ファイルリクエストの処理(①静的リクエスト処理能力②高い同時処理能力③低リソース消費)があります。ディレクトリ マッチングまたはサフィックス マッチングの 2 つの構成モード。いずれかを選択するか、それらを組み合わせて使用します。
location ^~ /static/ { root /webroot/static/; } location ~* \.(html|gif|jpg|jpeg|png|css|js|ico)$ { root /webroot/res/ ; }③3 番目に必要なルール: は、「.php で動的リクエストを転送する」と「.php で動的リクエストを転送する」を使用するなどの一般的なルールです。バックエンド アプリケーション サーバーへの .jsp サフィックス非静的ファイル リクエストは、デフォルトでは動的リクエストです (ジャンプ/リバース プロキシ)
upstream tomcat_server { 192.168.126.12:80 192.168.126.23:80 }
location / { proxy_ pass http://tomcat_server;概要:
1. rewrite と location を比較します。
同じ点: どちらもジャンプを実装します。相違点: rewrite は、同じドメイン名内のリソースを取得するためのパスを変更します。Location は次のとおりです。パスのクラスへのアクセスまたはリバース プロキシを制御します。他のマシンに proxy_pass することもできます#2.rewrite はその場所に書き込まれ、実行シーケンス
特定のファイルに一致する
(場所 = フル パス) > (場所 ^~ フル パス) > (場所 ~* フル パス) > (場所 ~ 完全なパス)パス)> (場所 /)
一致するディレクトリを使用してファイルにアクセスします
(場所 = ディレクトリ) > (場所 ^~ ディレクトリ) > (場所 ~ ディレクトリ) > (location ~* directory)> (location /)
4. 大文字と小文字を区別しない場合にのみファイルとディレクトリが変更されるのはなぜですか?正規表現 式: 目的は次のとおりです。
ファイルをできるだけ正確に一致させる - できるだけ正確に一致させ、大文字と小文字を区別して正確に一致させます。
ディレクトリを区別しません - より正確に一致させます。大文字と小文字を区別します。 、より正確で優先度が高い
以上がNginx の位置マッチングとリライトジャンプメソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。