URL 重寫
Azure Front Door 支援 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 進行快取。
下一步
- 了解如何建立 Azure Front Door 設定檔。
- 深入了解 Azure Front Door 規則集
- 了解 Azure Front Door 路由架構。