Udostępnij za pośrednictwem


Regenerowanie adresów URL

Usługa Azure Front Door zapewnia obsługę ponownego zapisywania adresów URL, umożliwiając modyfikowanie ścieżki żądania kierowanej do źródła. Ta zaawansowana funkcja umożliwia zdefiniowanie warunków określających, kiedy adres URL lub określone nagłówki powinny zostać przepisane. Te warunki są oparte na informacjach znajdujących się w żądaniu i odpowiedzi.

Korzystając z ponownego zapisywania adresu URL, możesz przekierowywać użytkowników końcowych do różnych źródeł na podstawie czynników, takich jak typ urządzenia lub typ żądanego pliku. Akcja ponownego zapisywania adresu URL można łatwo skonfigurować w zestawie reguł, zapewniając szczegółową kontrolę nad zachowaniem routingu.

Zrzut ekranu przedstawiający akcję ponownego zapisywania adresu URL w konfiguracji zestawu reguł.

Wzorzec źródła

Wzorzec źródłowy reprezentuje ścieżkę adresu URL w początkowym żądaniu, które chcesz zamienić. Obecnie wzorzec źródłowy korzysta z podejścia do dopasowywania opartego na prefiksach. Aby dopasować wszystkie ścieżki adresu URL, możesz określić ukośnik (/) jako wartość wzorca źródłowego.

W kontekście akcji ponownego zapisywania adresu URL uwzględniana jest tylko ścieżka po wzorcach, które mają być zgodne z konfiguracją trasy dla wzorca źródłowego. Na przykład zestaw reguł uwzględnia tylko /source-pattern jako wzorzec źródłowy, który ma zostać przepisany, jeśli masz przychodzący format contoso.com/pattern-to-match/source-patternadresu URL . Po zastosowaniu ponownego zapisywania adresu URL format wychodzącego adresu URL będzie mieć wartość contoso.com/pattern-to-match/destination.

W przypadkach, gdy musisz usunąć /pattern-to-match segment adresu URL, możesz ustawić ścieżkę źródła dla grupy pochodzenia w konfiguracji trasy na /.

Element docelowy

Ścieżka docelowa reprezentuje ścieżkę, która zastępuje wzorzec źródłowy. Jeśli na przykład ścieżka adresu URL żądania to contoso.com/foo/1.jpg, a wzorzec źródłowy to /foo/, określając miejsce docelowe jako /bar/ wyniki zawartości obsługiwanej z contoso.com/bar/1.jpg źródła.

Zachowaj niezgodną ścieżkę

Zachowanie niedopasowanej ścieżki umożliwia kontrolowanie sposobu obsługi pozostałej ścieżki po obsłużeniu wzorca źródłowego. Ustawiając opcję Zachowaj niezgodną ścieżkę na Tak, pozostała ścieżka jest dołączana do nowej ścieżki. Z drugiej strony ustawienie wartości Nie (domyślne) spowoduje usunięcie pozostałej ścieżki po wzorcu źródłowym.

Oto przykład pokazujący zachowanie zachowania niezapasowanej ścieżki:

Zachowaj niezgodną ścieżkę Wzorzec źródła Element docelowy Żądanie przychodzące Zawartość obsługiwana ze źródła
Tak / /Foo/ contoso.com/sub/1.jpg /foo/sub/1.jpg
Tak /Sub/ /Foo/ contoso.com/sub/image/1.jpg /foo/image/1.jpg
Nie. /Sub/ /foo/2.jpg contoso.com/sub/image/1.jpg /foo/2.jpg

Ważne

Usługa Azure Front Door (klasyczna) zostanie wycofana 31 marca 2027 r. Aby uniknąć zakłóceń w działaniu usługi, należy przeprowadzić migrację profilów usługi Azure Front Door (wersja klasyczna) do warstwy Azure Front Door Standard lub Premium do marca 2027 r. Aby uzyskać więcej informacji, zobacz Wycofywanie usługi Azure Front Door (wersja klasyczna).

Usługa Azure Front Door (wersja klasyczna) zapewnia obsługę ponownego zapisywania adresów URL przez skonfigurowanie niestandardowej ścieżki przekazywania podczas konfigurowania reguły typu routingu do przodu. Domyślnie, jeśli zdefiniowano tylko ukośnik (/*), usługa Front Door replikuje przychodzącą ścieżkę adresu URL w przesłanym dalej żądaniu. Nagłówek hosta używany w przesłanym dalej żądaniu jest oparty na konfiguracji wybranego zaplecza. Aby uzyskać bardziej szczegółowe informacje, zobacz dokumentację nagłówka hosta zaplecza.

Kluczowym aspektem ponownego zapisywania adresu URL jest możliwość skopiowania dowolnej pasującej części ścieżki przychodzącej do ścieżki przekazanej podczas korzystania z niestandardowej ścieżki przekazywania z dopasowaniem symboli wieloznacznych. W poniższej tabeli przedstawiono przykład żądania przychodzącego i odpowiadającą mu ścieżkę przekazywania podczas korzystania z niestandardowej ścieżki przesyłania dalej ./fwd/ Sekcja oznaczona jako a/b/c reprezentuje część, która zastępuje dopasowanie symboli wieloznacznych.

Ścieżka przychodzącego adresu URL Dopasuj ścieżkę Niestandardowa ścieżka przesyłania dalej Ścieżka przekazywana dalej
/foo/a/b/c /Foo/* /Fwd/ /fwd/a/b/c

Przykład ponownego zapisywania adresów URL

Rozważ regułę routingu z następującą kombinacją hostów i ścieżek frontonu:

Hosts Ścieżki
www.contoso.com /*
/Foo
/Foo/*
/foo/bar/*

W poniższej tabeli przedstawiono przykłady żądań przychodzących i odpowiadających im najbardziej specyficznych tras pasujących. Zawiera również przykłady niestandardowych ścieżek przesyłania dalej i wynikowych ścieżek przekazywanych.

Rozważmy na przykład drugi wiersz tabeli. Jeśli żądanie przychodzące to www.contoso.com/sub, a niestandardowa ścieżka przesyłania dalej jest ustawiona na /, ścieżka przekazywana dalej będzie następująca /sub: . Jeśli jednak niestandardowa ścieżka przesyłania dalej jest ustawiona na /fwd/, ścieżka przekazywana dalej będzie następująca /fwd/sub: . Podkreślone części ścieżek wskazują części, które są częścią dopasowania symboli wieloznacznych.

Żądanie przychodzące Najbardziej specyficzna ścieżka dopasowania / /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/
pasek www.contoso.com/foo/ /Foo/* /bar /fwd/bar /foo/bar /foo/bar/bar

Uwaga

Usługa Azure Front Door (klasyczna) obsługuje tylko ponowne zapisywanie adresów URL ze ścieżki statycznej do innej ścieżki statycznej. Zachowanie niedopasowanej ścieżki jest obsługiwane w usługach Azure Front Door Standard i Premium. Aby uzyskać więcej informacji, zobacz Zachowywanie niedopasowanej ścieżki.

Ustawienia opcjonalne

Konfiguracja pamięci podręcznej — jeśli jest wyłączona lub nie została określona, żądania zgodne z tą regułą routingu nie próbują używać buforowanej zawartości i zamiast tego zawsze pobierają z zaplecza. Aby uzyskać więcej informacji, zobacz buforowanie za pomocą usługi Azure Front Door.

Następne kroki