Freigeben über


Umschreiben einer URL

Azure Front Door unterstützt URL-Rewrite zum Ändern des Pfads einer Anforderung, die an Ihren Ursprung geroutet wird. Mit URL-Rewrite können Sie Bedingungen festlegen, um sicherzustellen, dass die URL oder die angegebenen Header nur dann erneut generiert werden, wenn bestimmte Bedingungen erfüllt sind. Diese Bedingungen basieren auf den Anforderungs- und Antwortinformationen.

Mit diesem Feature können Sie Ihre Endbenutzer basierend auf ihren Gerätetypen oder dem Typ der angeforderten Datei zu einem anderen Ursprung umleiten. URL-Rewrite-Aktion finden Sie in der Regelsatzkonfiguration.

Screenshot: URL-Rewrite-Aktion in einer Regelsatzkonfiguration.

Quellmuster

Das Quellmuster ist der URL-Pfad in der anfänglichen Anforderung, die Sie ersetzen möchten. Derzeit verwendet das Quellmuster eine auf Präfixen basierende Übereinstimmung. Sie können einen Schrägstrich (/) als Quellmusterwert verwenden, um alle URL-Pfade abzugleichen.

Für das Quellmuster in einer URL-Rewrite-Aktion wird nur der Pfad nach den Mustern berücksichtigt, die in der Routenkonfiguration übereinstimmen sollen. Wenn Sie z. B. das folgende Format für die eingehende URL haben contoso.com/pattern-to-match/source-pattern, wird nur /source-pattern von dem Regelsatz als Quellmuster berücksichtigt, das umgeschrieben werden soll. Das Format der ausgehenden URL lautet nach dem Anwenden des URL-Rewrite contoso.com/pattern-to-match/destination.

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

Destination

Der Zielpfad, der zum Ersetzen des Quellmusters verwendet wird. Wenn der Anforderungs-URL-Pfad beispielsweise contoso.com/foo/1.jpg lautet, das Quellmuster /foo/ und das Ziel /bar/ ist, wird der Inhalt von contoso.com/bar/1.jpg vom Ursprung bereitgestellt.

Nicht übereinstimmenden Pfad beibehalten

Mit „Nicht übereinstimmenden Pfad beibehalten“ können Sie den restlichen Pfad nach dem Quellmuster an den neuen Pfad anfügen. Wenn die Option „Nicht übereinstimmenden Pfad beibehalten“ auf Nein (Standard) festgelegt ist, wird der verbleibende Pfad nach dem Entfernen des Quellmusters festgelegt.

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 Dienstebene Azure Front Door Standard oder Premium 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 Konfigurieren der Weiterleitungstypregel. Wenn nur ein Schrägstrich (/*) definiert ist, kopiert Front Door standardmäßig den eingehenden URL-Pfad in die URL, die in der weitergeleiteten Anforderung verwendet wird. Der in der weitergeleiteten Anforderung verwendete Hostheader wird für das ausgewählten Back-End konfiguriert. Weitere Informationen finden Sie unter Back-End-Hostheader.

Die Stärke von URL-Rewrite besteht darin, dass der benutzerdefinierte Weiterleitungspfad einen beliebigen Teil des eingehenden Pfads, der mit einem Platzhalterpfad übereinstimmt, in den weitergeleiteten Pfad kopiert.

Die folgende Tabelle zeigt ein Beispiel für eine eingehende Anforderung und den entsprechenden weitergeleiteten Pfad bei Verwendung eines benutzerdefinierten Weiterleitungspfads von /fwd/ für einen Übereinstimmungspfad mit einem Feldhalter. Der a/b/c-Teil des Pfads stellt den Teil dar, der den Platzhalter 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 erste Spalte der folgenden Tabelle enthält Beispiele für eingehende Anforderungen, und die zweite Spalte zeigt, welcher Pfad der Route am genauesten übereinstimmt. Die nächsten drei Spalten in der Tabelle sind Beispiele für benutzerdefinierte Weiterleitungspfade.

Die zweite Zeile zeigt beispielsweise, dass der weitergeleitete Pfad für die eingehende Anforderung www.contoso.com/sub für den benutzerdefinierten Weiterleitungspfad / folgendermaßen lauten würde: /sub. Wenn der benutzerdefinierte Weiterleitungspfad /fwd/ wäre, lautet der weitergeleitete Pfad /fwd/sub. Die hervorgehobenen Teile der Pfade zeigen den Teil, der mit dem Platzhalter übereinstimmt.

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

Es gibt zusätzliche, optionale Einstellungen, die Sie für alle Routingregeleinstellungen angeben können:

  • 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