検索
ホームページ運用・保守NginxNginx Location ディレクティブの URI 一致ルールとは何ですか?

1. はじめに

location ディレクティブは http モジュールの中核となる設定であり、事前定義された URL マッチング ルールに基づいてユーザーから送信されたリクエストを受け取ります。その結果、リクエストはバックエンドサーバーに転送され、不正なリクエストは直接拒否され、403、404、500 エラー処理などが返されます。

2. ロケーション命令の構文

location [=|~|~*|^~|@] /uri/ { … } または location @name { … }

3. URI マッチング モード

location ディレクティブは 2 つのマッチング モードに分かれています:
1> 通常の文字列マッチング: with = Rules先頭文字 (~)
2> で始まるか、先頭文字なしで始まる場合 (~)

2> 通常の一致: ~ または ~* で始まる場合は通常の一致を示し、~* は通常の一致が大文字と小文字を区別しないことを示します

4 、location uri マッチング ルール


nginx がリクエストを受信すると、リクエストの uri 部分をインターセプトし、location ディレクティブで定義されたすべての uri マッチング パターンを検索します。サーバー モジュールでは、さまざまな URL リクエストに一致する複数のロケーション命令と、複数の異なるロケーション構成の URI マッチング パターンを定義できます。全体的なマッチング原則は、最初に通常の文字列パターンに一致し、次に通常のパターンに一致します。 uri 部分のみが認識されます。たとえば、リクエストは /test/abc/user.do?name=xxxx


リクエストが来た後、このリクエストに一致する nginx のプロセスは次のようになります。 :


1> まず、location = /test/abc/user.do { … }


2> のように、= で始まる完全一致を検索します。最大のプレフィックスを使用して通常の一致を検索します。 原則として、次の 2 つの場所がある場合、後者が一致します
* location /test/ { … }
* location /test/abc { … }

##3> マッチング 共通フォーマットに達した後も検索は終了せず、現在のマッチング結果を一時的に保存し、通常のマッチング パターン

4> の検索を続けます。すべての正規一致パターンの場所で最初に一致するアイテムが見つかった後、このアイテムが最終的な一致結果として使用されます
したがって、通常一致アイテムの一致ルールは定義された順序の影響を受けますが、通常の一致モードは影響を受けません

5> 正規に一致する項目が見つからない場合は、3 でキャッシュされた結果が最終的な一致結果になります
6> 一致が見つからない場合は、404 が返されます

5. 完全一致とあいまい一致の違い
location =/ { … } と location / { … } の違い:
* 前者は完全一致であり、以下にのみ応答します。 / リクエスト。すべての /xxx または /xxx/xxxx タイプのリクエストは、プレフィックスの形式では一致しません。
* 後者は、リクエストにプレフィックス / が付いている限り、一致します。例: /abc、/test/abc、/test/abc/aaaa

6、正規および非正規のマッチング

1> location ~ /test /. .jsp$ { … }: 正規一致。標準の正規表現構文をサポートします。
2> location ^~ / { … }: ^~ は、通常のマッチングをオフにすることを意味します。この通常のマッチング パターンが検索されると、通常のマッチング パターンは検索されなくなります。

rree

以上がNginx Location ディレクティブの URI 一致ルールとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事は亿速云で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
Nginxユニット:さまざまなプログラミング言語をサポートしますNginxユニット:さまざまなプログラミング言語をサポートしますApr 16, 2025 am 12:15 AM

Nginxunitは複数のプログラミング言語をサポートし、モジュラー設計を通じて実装されています。 1。言語モジュールの読み込み:構成ファイルに従って対応するモジュールをロードします。 2。アプリケーションの起動:呼び出し言語が実行されたときにアプリケーションコードを実行します。 3。リクエスト処理:リクエストをアプリケーションインスタンスに転送します。 4。応答返品:処理された応答をクライアントに返します。

nginxとapacheを選択する:あなたのニーズに合った適切nginxとapacheを選択する:あなたのニーズに合った適切Apr 15, 2025 am 12:04 AM

NginxとApacheには独自の利点と短所があり、さまざまなシナリオに適しています。 1.Nginxは、高い並行性と低リソース消費シナリオに適しています。 2。Apacheは、複雑な構成とリッチモジュールが必要なシナリオに適しています。コア機能、パフォーマンスの違い、ベストプラクティスを比較することで、ニーズに最適なサーバーソフトウェアを選択するのに役立ちます。

nginxを開始する方法nginxを開始する方法Apr 14, 2025 pm 01:06 PM

質問:nginxを開始する方法は?回答:nginxスタートアップnginx検証nginxはnginxを開始しました他のスタートアップオプションを自動的に開始

Nginxが開始されるかどうかを確認する方法Nginxが開始されるかどうかを確認する方法Apr 14, 2025 pm 01:03 PM

nginxが開始されるかどうかを確認する方法:1。コマンドラインを使用します:SystemCTLステータスnginx(Linux/unix)、netstat -ano | FindStr 80(Windows); 2。ポート80が開いているかどうかを確認します。 3.システムログのnginx起動メッセージを確認します。 4. Nagios、Zabbix、Icingaなどのサードパーティツールを使用します。

nginxを閉じる方法nginxを閉じる方法Apr 14, 2025 pm 01:00 PM

NGINXサービスをシャットダウンするには、次の手順に従ってください。インストールタイプを決定します:Red Hat/Centos(SystemCtl Status Nginx)またはDebian/Ubuntu(Service Nginx Status)サービスを停止します:Red Hat/Centos(SystemCtl Stop Nginx)またはDebian/Ubuntu(Service Nginx Stop)無効自動起動(オプション):Debuntos/Centos/Centos/Centos/Centos/Centos (syst

Windowsでnginxを構成する方法Windowsでnginxを構成する方法Apr 14, 2025 pm 12:57 PM

Windowsでnginxを構成する方法は? nginxをインストールし、仮想ホスト構成を作成します。メイン構成ファイルを変更し、仮想ホスト構成を含めます。 nginxを起動またはリロードします。構成をテストし、Webサイトを表示します。 SSLを選択的に有効にし、SSL証明書を構成します。ファイアウォールを選択的に設定して、ポート80および443のトラフィックを許可します。

nginx403エラーを解く方法nginx403エラーを解く方法Apr 14, 2025 pm 12:54 PM

サーバーには、要求されたリソースにアクセスする許可がなく、NGINX 403エラーが発生します。ソリューションには以下が含まれます。ファイル許可を確認します。 .htaccess構成を確認してください。 nginx構成を確認してください。 SELINUXアクセス許可を構成します。ファイアウォールルールを確認してください。ブラウザの問題、サーバーの障害、その他の可能なエラーなど、他の原因をトラブルシューティングします。

Linuxでnginxを開始する方法Linuxでnginxを開始する方法Apr 14, 2025 pm 12:51 PM

Linuxでnginxを開始する手順:nginxがインストールされているかどうかを確認します。 systemctlを使用して、nginxを開始してnginxサービスを開始します。 SystemCTLを使用して、NGINXがシステムスタートアップでNGINXの自動起動を有効にすることができます。 SystemCTLステータスNGINXを使用して、スタートアップが成功していることを確認します。 Webブラウザのhttp:// localhostにアクセスして、デフォルトのウェルカムページを表示します。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール