URL-Übereinstimmungsmuster
Kurzübersicht
Übereinstimmungsmuster sind eine Möglichkeit, Gruppen von URLs anzugeben: Ein Übereinstimmungsmuster entspricht einem bestimmten Satz von URLs.
Übereinstimmung der Musterstruktur
Alle Übereinstimmungsmuster werden als Zeichenfolgen angegeben. Übereinstimmungsmuster bestehen aus drei Teilen: Schema, Host und Pfad. Das Schema und der Host sind durch :// getrennt.
<scheme>://<host><path>
Schema
Die Schemakomponente kann eine der folgenden sein: http oder https.
Host
Die Hostkomponente kann eine von drei Formen annehmen:
Formular | Übereinstimmungen |
* | Jeder Host. |
*. Gefolgt von einem Teil des Hostnamens | Der bestimmte Host und jede seiner Subdomänen. |
Ein kompletter Hostname ohne Platzhalter | Nur der bestimmte Host. |
Der Host muss keine Port-Nummer enthalten.
* Beachten Sie, dass der Platzhalter nur zu Beginn angezeigt werden kann.
Pfad
Die Pfadkomponente muss mit a / beginnen.
Danach kann es anschließend jede Kombination des *-Platzhalters und jedes der Zeichen enthalten, die in URL-Pfaden oder Abfragezeichenfolgen zulässig sind. Im Gegensatz zu Host , die Pfadkomponente kann den *-Platzhalter in der Mitte oder am Ende enthalten, und die *-Platzhalter können mehr als einmal angezeigt werden.
Der Wert für den Pfad stimmt mit der Zeichenfolge überein, die der URL-Pfad plus die URL-Abfragezeichenfolge ist. Dies beinhaltet ? zwischen den beiden, wenn die Abfragezeichenfolge in der URL vorhanden ist.
Wenn Sie beispielsweise URLs in jeder Domäne abgleichen möchten, in der der URL-Pfad mit foo.bar endet, müssen Sie ein Array von Übereinstimmungsmustern wie ['*://*/*foo.bar', '*://**foo.bar?*'] verwenden. Das ?* wird benötigt, anstatt nur bar*, um die Endung * als Anwendung auf die URL-Abfragezeichenfolge und nicht auf einen Teil des URL-Pfads zu verankern.
Weder die URL-Fragmentkennung noch das #, das ihm vorausgeht, werden als Teil des Pfads betrachtet .
Beispiele
Muster | Beispielübereinstimmungen | Beispiel Nicht-Übereinstimmungen |
https://*/path Stimmen Sie HTTPS-URLs auf jedem Host ab, dessen Pfad „Pfad“ ist. |
https://mozilla.org/path https://a.mozilla.org/path https://something.com/path |
http://mozilla.org/path (nicht übereinstimmendes Schema) https://mozilla.org/path/ https://mozilla.org/a https://mozilla.org/ https://mozilla.org/path?foo=1 |
https://*/path/ Stimmen Sie HTTPS-URLs auf jedem Host ab, dessen Pfad „path/“ ist und der keine URL-Abfragezeichenfolge hat. |
https://mozilla.org/path/ https://a.mozilla.org/path/ https://something.com/path/ |
http://mozilla.org/path/ (nicht übereinstimmendes Schema) https://mozilla.org/path https://mozilla.org/a https://mozilla.org/ https://mozilla.org/path/?foo=1 |
https://mozilla.org/* Stimmen Sie HTTPS-URLs nur bei „mozilla.org“ mit jedem URL-Pfad und URL-Abfragezeichenfolge ab. |
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 (nicht übereinstimmendes Schema) https://mozilla.com/path |
https://mozilla.org/a/b/c/ Stimmen Sie nur diese URL oder diese URL mit einem beliebigen URL-Fragment ab. |
https://mozilla.org/a/b/c/ https://mozilla.org/a/b/c/#section1 |
Alles andere. |
https://mozilla.org/*/b/*/ Stimmen Sie HTTPS-URLs ab, die auf „mozilla.org“ gehostet werden, deren Pfad eine Komponente „b“ irgendwo in der Mitte enthält. Passt URLs mit Abfragezeichenfolgen ab, wenn die Zeichenfolge mit a / endet. |
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/*/ (nicht übereinstimmender Pfad) https://mozilla.org/a/b/ https://mozilla.org/a/b/c/d/?foo=bar |
Ungültige Übereinstimmungsmuster
Ungültiges Muster | Grund |
resource://path/ | Nicht unterstütztes Schema. |
https://mozilla.org | Kein Pfad. |
https://mozilla.*.org/ | "*" im Host muss am Anfang stehen. |
https://*zilla.org/ | "*" im Host muss das einzige Zeichen sein oder von "." gefolgt werden. |
http*://mozilla.org/ | "*" im Schema muss das einzige Zeichen sein. |
https://mozilla.org:80/ | Der Host muss keine Port-Nummer enthalten. |
https://* | Leerer Pfad: Dies sollte „https://*/*“ sein. |