URLマッチパターン
概要
マッチパターンは、URLのグループを指定する方法です。マッチパターンは、特定のURLセットを一致させます。
マッチパターンの構造
すべてのマッチパターンは、文字列として指定されます。 マッチパターンは、3つの部分で構成されています。 スキーム、ホスト 、パス. スキームとホストは、://で区切られています。
<scheme>://<host><path>
スキーム
スキームコンポーネントは、httpまたはhttpsのいずれかになります。
ホスト
ホストコンポーネントは、次の3つの形式のいずれかを取ることができます。
フォーム | 一致 |
* | 任意のホスト |
*. ホスト名の一部が続きます | 指定されたホストとそのサブドメインのいずれか。 |
ワイルドカードのない完全なホスト名 | 指定されたホストのみ。 |
ホストには、ポート番号を含むことはできません。
*ワイルドカードは、開始点にのみ表示できます。
パス
パスコンポーネントは、/で始まる必要があります。
その後、*ワイルドカードと、URLパスまたはクエリ文字列で許可されている文字のいずれかの組み合わせを含むことができます。 また ホストとは異なり、パスコンポーネントは、中間または末尾に*ワイルドカードを含むことができ、*ワイルドカードは複数表示できます。
パスの値は、URLパスである文字列とURLクエリ文字列と一致します. クエリ文字列がURLに表示されている場合、 これには、2つの間にある?が含まれます。
例えば、URLパスの末尾がfoo.barで終わるドメインのURLを一致させたい場合、['*://*/*foo.bar', '*://*/*foo.bar?*']のようなマッチパターンの配列を使用する必要があります。URLパスの一部ではなく、URLクエリ文字列に適用するエンディング*を固定するために、単なるバー*ではなく、?*が必要です。
URLフラグメント識別子も、それ以前の#も、パスの一部とはみなされません。
例
パターン | 一致する例 | 一致しない例 |
https://*/path パスが「パス」であるホストのHTTPS URLを一致させます。 |
https://mozilla.org/path https://a.mozilla.org/path https://something.com/path |
http://mozilla.org/path (一致しないスキーム) https://mozilla.org/path/ https://mozilla.org/a https://mozilla.org/ https://mozilla.org/path?foo=1 |
https://*/path/ パスが「パス/」であり、URLクエリ文字列がないホストのHTTPS URLを一致させます。 |
https://mozilla.org/path/ https://a.mozilla.org/path/ https://something.com/path/ |
http://mozilla.org/path/ (一致しないスキーム) https://mozilla.org/path https://mozilla.org/a https://mozilla.org/ https://mozilla.org/path/?foo=1 |
https://mozilla.org/* URLパスとURLクエリ文字列のある「mozilla.org」でのみ、HTTPS URLを一致させます。 |
https://mozilla.org/ https://mozilla.org/path https://mozilla.org/another https://mozilla.org/path/to/doc https://mozilla.org/path/to/doc?foo=1 |
http://mozilla.org/path (一致しないスキーム) https://mozilla.com/path |
https://mozilla.org/a/b/c/ このURL、またはURLフラグメントのあるこのURLのみを一致させます。 |
https://mozilla.org/a/b/c/ https://mozilla.org/a/b/c/#section1 |
その他。 |
https://mozilla.org/*/b/*/ パスが、真ん中のどこかにコンポーネント「b」を含む、「mozilla.org」でホストされているHTTPS URLを一致させます。 文字列が/で終わる場合、クエリ文字列を持つURLと一致します。 |
https://mozilla.org/a/b/c/ https://mozilla.org/d/b/f/ https://mozilla.org/a/b/c/d/ https://mozilla.org/a/b/c/d/#section1 https://mozilla.org/a/b/c/d/?foo=/ https://mozilla.org/a?foo=21314&bar=/b/&extra=c/ |
https://mozilla.org/b/*/ (一致しないパス) https://mozilla.org/a/b/ https://mozilla.org/a/b/c/d/?foo=bar |
無効なマッチパターン
無効なパターン | 理由 |
resource://path/ | サポートされていないスキーム。 |
https://mozilla.org | パスなし。 |
https://mozilla.*.org/ | ホストの「*」は、開始点にある必要があります。 |
https://*zilla.org/ | ホストの「*」は、唯一の文字であるか、その後に[.]が続く必要があります。 |
http*://mozilla.org/ | スキームの「*」は、唯一の文字である必要があります。 |
https://mozilla.org:80/ | ホストには、ポート番号を含むことはできません。 |
https://* | 空のパス:は、「https://*/*」である必要があります。 |