Umschreiben einer URL

Azure Front Door bietet Unterstützung für das Umschreiben von URLs (URL-Rewrite), sodass Sie den Anforderungspfad ändern können, der an Ihren Ursprung weitergeleitet wird. Mit diesem leistungsstarken Feature können Sie Bedingungen definieren, die bestimmen, wann die URL oder die angegebenen Header umgeschrieben werden sollen. Diese Bedingungen basieren auf Informationen in der Anforderung und der Antwort.

Mithilfe von URL-Rewrite können Sie Ihre Endbenutzer basierend auf Faktoren wie ihrem Gerätetyp oder dem Typ der angeforderten Datei an verschiedene Ursprünge umleiten. Die URL-Rewrite-Aktion kann einfach innerhalb des Regelsatzes konfiguriert werden, sodass Sie das Routingverhalten präzise steuern können.

Screenshot: URL-Rewrite-Aktion in einer Regelsatzkonfiguration.

Quellmuster

Das Quellmuster ist der URL-Pfad in der anfänglichen Anforderung, den Sie ersetzen möchten. Derzeit verwendet das Quellmuster einen präfixbasierten Abgleich. Sie können einen Schrägstrich (/) als Wert für das Quellmuster angeben, um alle URL-Pfade abzugleichen.

Im Kontext einer URL-Rewrite-Aktion wird nur der Pfad nach den abzugleichenden Mustern in der Routenkonfiguration für das Quellmuster berücksichtigt. Der Regelsatz berücksichtigt z. B. nur /source-pattern als umzuschreibende Quellmuster, wenn das Format für die eingehende URL contoso.com/pattern-to-match/source-pattern lautet. Nachdem die URL-Rewrite-Aktion angewendet wurde, lautet das Format für die ausgehende URL contoso.com/pattern-to-match/destination.

Wenn Sie das Segment /pattern-to-match der URL entfernen müssen, können Sie den Ursprungspfad für die Ursprungsgruppe in der Routenkonfiguration auf / festlegen.

Destination

Der Zielpfad stellt den Pfad dar, der das Quellmuster ersetzt. Wenn der URL-Pfad der Anforderung z. B. contoso.com/foo/1.jpg lautet, das Quellmuster /foo/ ist und das Ziel als /bar/ angegeben wird, wird der Inhalt von contoso.com/bar/1.jpg vom Ursprung bereitgestellt.

Nicht übereinstimmenden Pfad beibehalten

Mit „Nicht übereinstimmenden Pfad beibehalten“ können Sie steuern, wie der restliche Pfad nach dem Quellmuster gehandhabt wird. Wenn Sie „Nicht übereinstimmenden Pfad beibehalten“ auf Ja festlegen, wird der verbleibende Pfad an den neuen Pfad angefügt. Wenn Sie dagegen die Einstellung Nein (Standard) verwenden, wird der verbleibende Pfad nach dem Quellmuster entfernt.

Dieses Beispiel zeigt das Verhalten von „Nicht übereinstimmenden Pfad beibehalten“:

Nicht übereinstimmenden Pfad beibehalten Quellmuster Destination Eingehende Anforderung Vom Ursprung bereitgestellter Inhalt
Ja / /foo/ contoso.com/sub/1.jpg /foo/sub/1.jpg
Ja /sub/ /foo/ contoso.com/sub/image/1.jpg /foo/image/1.jpg
Nein /sub/ /foo/2.jpg contoso.com/sub/image/1.jpg /foo/2.jpg

Wichtig

Azure Front Door (klassisch) wird am 31. März 2027 eingestellt. Um Dienstunterbrechungen zu vermeiden, ist es wichtig, dass Sie Ihre (klassischen) Azure Front Door-Profile bis März 2027 zur Azure Front Door Standard- oder Premium-Stufe migrieren. Weitere Informationen finden Sie unter Einstellung von Azure Front Door (klassisch).

Azure Front Door (klassisch) unterstützt das URL-Rewrite durch Konfigurieren eines benutzerdefinierten Weiterleitungspfads beim Einrichten der Weiterleitungstypregel. Wenn nur ein Schrägstrich (/*) definiert ist, repliziert Front Door standardmäßig den eingehenden URL-Pfad in der weitergeleiteten Anforderung. Der Hostheader, der in der weitergeleiteten Anforderung verwendet wird, basiert auf der Konfiguration des ausgewählten Back-Ends. Ausführlichere Informationen finden Sie in der Dokumentation zum Back-End-Hostheader.

Der wichtigste Aspekt beim URL-Rewrite liegt in der Möglichkeit, einen beliebigen übereinstimmenden Teil des eingehenden Pfads in den weitergeleiteten Pfad zu kopieren, wenn ein benutzerdefinierter Weiterleitungspfad mit einer Platzhalterübereinstimmung verwendet wird. Die folgende Tabelle veranschaulicht ein Beispiel für eine eingehende Anforderung und den entsprechenden weitergeleiteten Pfad bei Verwendung des benutzerdefinierten Weiterleitungspfads /fwd/. Der Abschnitt, der als a/b/c bezeichnet wird, stellt den Teil dar, der die Platzhalterübereinstimmung ersetzt.

Eingehender URL-Pfad Übereinstimmungspfad Benutzerdefinierter Weiterleitungspfad Weitergeleiteter Pfad
/foo/a/b/c /foo/* /fwd/ /fwd/a/b/c

Beispiel für URL-Rewrite

Sehen wir uns eine Routingregel mit der folgenden Kombination aus konfigurierten Front-End-Hosts und Pfaden an:

Hosts Paths
www.contoso.com /*
/foo
/foo/*
/foo/bar/*

Die folgende Tabelle zeigt Beispiele für eingehende Anforderungen und die entsprechenden Routen, die am besten übereinstimmen. Sie enthält auch Beispiele für benutzerdefinierte Weiterleitungspfade und die resultierenden weitergeleiteten Pfade.

Betrachten Sie beispielsweise die zweite Zeile der Tabelle. Wenn die eingehende Anforderung www.contoso.com/sub ist und der benutzerdefinierte Weiterleitungspfad auf / festgelegt ist, ist der weitergeleitete Pfad /sub. Wenn der benutzerdefinierte Weiterleitungspfad jedoch auf /fwd/ festgelegt ist, lautet der weitergeleitete Pfad /fwd/sub. Die hervorgehobenen Teile der Pfade geben die Teile an, die zur Platzhalterübereinstimmung gehören.

Eingehende Anforderung Genaueste Pfadübereinstimmung / /fwd/ /foo/ /foo/bar/
www.contoso.com/ /* / /fwd/ /foo/ /foo/bar/
www.contoso.com/sub /* /sub /fwd/sub /foo/sub /foo/bar/sub
www.contoso.com/a/b/c /* /a/b/c /fwd/a/b/c /foo/a/b/c /foo/bar/a/b/c
www.contoso.com/foo /foo / /fwd/ /foo/ /foo/bar/
www.contoso.com/foo/ /foo/* / /fwd/ /foo/ /foo/bar/
www.contoso.com/foo/bar /foo/* /bar /fwd/bar /foo/bar /foo/bar/bar

Hinweis

Azure Front Door (klassisch) unterstützt URL-Rewrite nur zwischen statischen Pfaden. Die Beibehaltung von nicht übereinstimmenden Pfaden wird mit Azure Front Door Standard und Premium unterstützt. Weitere Informationen finden Sie unter Beibehalten eines nicht übereinstimmenden Pfads.

Optionale Einstellungen

Cachekonfiguration: Wenn diese Option deaktiviert oder nicht angegeben ist, versuchen die mit dieser Routingregel übereinstimmenden Anforderungen nicht, den zwischengespeicherten Inhalt zu verwenden. Stattdessen rufen sie die Inhalte immer aus dem Back-End ab. Weitere Informationen finden Sie unter Zwischenspeicherung mit Azure Front Door.

Nächste Schritte