Modèle de correspondance d’URL
Aperçu rapide
Les modèles de correspondance permettent de spécifier des groupes d'URL : un modèle de correspondance correspond à un ensemble spécifique d'URL.
Structure du modèle de correspondance
Tous les modèles de correspondance sont spécifiés sous forme de chaînes de caractères. Les modèles de correspondance se composent de trois parties : schéma, hôte et chemin d'accès. Le schéma et l'hôte sont séparés par ://.
<schéma>://<hôte><chemin d'accès>
schéma
Le composant schéma peut être l'un des éléments suivants : http ou https.
hôte
Le composant hôte peut prendre l'une des trois formes suivantes :
Form | Correspondances |
* | Tout autre hôte. |
*. Suivi d'une partie du nom d'hôte | L'hôte en question et tous ses sous-domaines. |
Un nom d'hôte complet sans caractères génériques | Uniquement l'hôte en question. |
L'hôte ne doit pas inclure de numéro de port.
* Notez que le caractère générique ne peut apparaître qu'au début.
chemin d'accès
Le composant chemin d'accès doit commencer par un /.
Ensuite, il peut contenir n'importe quelle combinaison du caractère générique * et de n'importe quel caractère autorisé dans les chemins d'accès aux URL ou les chaînes de requête. Contrairement à l'hôte , le composant chemin d'accès peut contenir le caractère générique * au milieu ou à la fin, et les caractères génériques * peuvent apparaître plus d'une fois.
La valeur du chemin d'accès est comparée à la chaîne qui est le chemin d'accès à l'URL plus la chaîne de requête de l'URL. Ceci inclut le ? entre les deux, si la chaîne de requête est présente dans l'URL.
Par exemple, si vous souhaitez faire correspondre des URL sur n'importe quel domaine dont le chemin d'accès se termine par foo.bar, vous devez utiliser un tableau de modèles de correspondance comme ['*://*/*foo.bar', '*://*/*foo.bar?*']. Le ?* est nécessaire, plutôt que simplement bar*, afin d'ancrer la terminaison * comme s'appliquant à la chaîne de requête de l'URL et non à une partie du chemin d'accès à l'URL.
Ni l'identifiant du fragment d'URL, ni le # qui le précède, ne sont considérés comme faisant partie du chemin d'accès.
Exemples
Motif | Exemple de correspondance | Exemple de non-correspondance |
https://*/path Faire correspondre les URL HTTPS sur n'importe quel hôte, dont le chemin d'accès est « chemin d'accès ». |
https://mozilla.org/path https://a.mozilla.org/path https://something.com/path |
http://mozilla.org/path (schéma non correspondant) https://mozilla.org/path/ https://mozilla.org/a https://mozilla.org/ https://mozilla.org/path?foo=1 |
https://*/path/ Faire correspondre les URL HTTPS sur n'importe quel hôte, dont le chemin d'accès est « chemin d'accès/ » et qui n'a pas de chaîne de requête d'URL. |
https://mozilla.org/path/ https://a.mozilla.org/path/ https://something.com/path/ |
http://mozilla.org/path/ (schéma non correspondant) https://mozilla.org/path https://mozilla.org/a https://mozilla.org/ https://mozilla.org/path/?foo=1 |
https://mozilla.org/* Faire correspondre les URL HTTPS uniquement à « mozilla.org », avec n'importe quel chemin d'accès et chaîne de requête d'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 (schéma non correspondant) https://mozilla.com/path |
https://mozilla.org/a/b/c/ Faire correspondre uniquement cette URL ou cette URL avec n'importe quel fragment d'URL. |
https://mozilla.org/a/b/c/ https://mozilla.org/a/b/c/#section1 |
Tout autre élément. |
https://mozilla.org/*/b/*/ Faire correspondre les URL HTTPS hébergées sur « mozilla.org », dont le chemin d'accès contient un composant « b » quelque part au milieu. Fera correspondre les URL avec des chaînes de requête, si la chaîne se termine par un /. |
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/*/ (chemin d'accès non correspondant) https://mozilla.org/a/b/ https://mozilla.org/a/b/c/d/?foo=bar |
Modèles de correspondance non valides
Modèle non valide | Raison |
resource://chemin d'accès/ | Schéma non pris en charge. |
https://mozilla.org | Pas de chemin d'accès. |
https://mozilla.*.org/ | Le caractère « * » dans l'hôte doit figurer au début. |
https://*zilla.org/ | Le caractère « * » dans l'hôte doit être le seul caractère ou être suivi de « . ». |
http*://mozilla.org/ | Le caractère « * » dans le schéma doit être le seul caractère. |
https://mozilla.org:80/ | L'hôte ne doit pas inclure de numéro de port. |
https://* | Chemin d'accès vide : il devrait s'agir de « https://*/* ». |