URL 重寫

Azure Front Door 支援 URL 重寫,可變更要路由傳送至您原點的要求路徑。 URL 重寫可讓您設定條件,以確保僅在符合特定條件時,才重寫 URL 或指定的標頭。 這些條件所根據的是要求和回應資訊。

此功能可讓您根據裝置類型或要求的檔案類型,將終端使用者重新導向至不同的原點。 在規則集設定中可以找到 URL 重寫動作。

規則集組態中 URL 重寫動作的螢幕快照。

來源模式

來源模式是您想要在初始要求中取代的 URL 路徑。 目前,來源模式使用基於前置詞的比對。 若要比對所有 URL 路徑,您可以將正斜線 (/) 定義為來源模式值。

針對 URL 重寫動作中的來源模式,只會考慮路由設定中要比對的模式後面的路徑。 例如若有下列傳入 URL 格式 contoso.com/pattern-to-match/source-pattern,規則集只會將 /source-pattern 視為要重寫的來源模式。 套用 URL 重寫之後,輸出 URL 的格式為 contoso.com/pattern-to-match/destination

在某些情況下必須移除 URL 的 /pattern-to-match 區段,請在路由設定中將原點群組的原點路徑設定為 /

Destination

目的地路徑會用來取代來源模式。 例如,如果要求 URL 路徑是 contoso.com/foo/1.jpg、來源模式是 /foo/,且目的地是 /bar/,則會從原點的 contoso.com/bar/1.jpg 提供內容。

保留未比對的路徑

保留不相符的路徑可讓您將來源模式後面剩餘的路徑附加至新路徑。 保留不相符的路徑設定為 [否] (預設值) 時,來源模式後面的剩餘路徑會遭到移除。

保留未比對的路徑 來源模式 Destination 傳入要求 從原點提供的內容
Yes / /foo/ contoso.com/sub/1.jpg /foo/sub/1.jpg
Yes /sub/ /foo/ contoso.com/sub/image/1.jpg /foo/image/1.jpg
No /sub/ /foo/2.jpg contoso.com/sub/image/1.jpg /foo/2.jpg

重要

Azure Front Door(傳統版)將於 2027 年 3 月 31 日淘汰。 為了避免任何服務中斷,請務必在 2027 年 3 月之前將 Azure Front Door (傳統) 配置檔移轉至 Azure Front Door Standard 或 進階版 層。 如需詳細資訊,請參閱 Azure Front Door(傳統版)淘汰

設定轉送路由類型規則時,Azure Front Door (傳統) 透過設定自訂轉送路徑支援 URL 重寫。 根據預設,如果只定義正斜線 (/*),Front Door 會將傳入 URL 路徑複製到轉送要求中使用的 URL。 用於轉送要求中的主機標頭,與針對所選後端設定的標頭相同。 如需詳細資訊,請參閱後端主機標頭

URL 重寫的強大之處在於,自訂轉送路徑會將傳入路徑中符合萬用字元路徑的任何部分,複製到轉送的路徑。

下表顯示針對具有萬用字元的比對路徑使用 /fwd/ 的自訂轉送路徑時,傳入要求和對應轉送路徑的範例。 路徑的 a/b/c 部分代表取代萬用字元的部分。

傳入 URL 路徑 比對路徑 自訂轉送路徑 轉送路徑
/foo/a/b/c /foo/* /fwd/ /fwd/a/b/c

URL 重寫範例

以設定下列前端主機與路徑組合的路由規則為例:

主機 路徑
www.contoso.com /*
/foo
/foo/*
/foo/bar/*

下表的第一個資料行顯示傳入要求的範例,而第二個資料行則顯示定義的最明確相符路由。 資料表中的接下來三個資料行是自訂轉送路徑的範例。

例如,第二列是 www.contoso.com/sub 的傳入要求,如果自訂轉送路徑為 /,則轉送路徑會是 /sub。 如果自訂轉送路徑為 /fwd/,則轉送路徑會是 /fwd/sub。 路徑中的粗體部分代表符合萬用字元的部分。

傳入要求 最明確的相符路徑 / /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

注意

Azure Front Door (傳統) 僅支援從一個靜態路徑到另一個靜態路徑的 URL 重寫。 Azure Front Door 標準和進階支援保留不相符的路徑。 如需詳細資訊,請參閱保留不相符的路徑

選擇性設定

還有額外的選用設定可供您在任何指定的路由規則設定中指定:

  • 快取設定 - 如果停用或未指定,則符合此路由規則的要求不會嘗試使用快取內容,而是一律從後端擷取。 如需詳細資訊,請參閱使用 Azure Front Door 進行快取

下一步