使用 Azure 應用程式閘道 重寫 URL - Azure 入口網站
本文說明如何使用 Azure 入口網站 來設定 Azure 應用程式閘道 v2 SKU 實例來重寫 URL。
注意
URL 重寫功能僅適用於 Standard_v2 和 Web 應用程式防火牆_v2 SKU 應用程式閘道。 在已啟用 Web 應用程式防火牆 的閘道上設定 URL 重寫時,Web 應用程式防火牆 評估會在重寫的要求標頭和 URL 上進行。 如需詳細資訊,請參閱搭配 Web 應用程式防火牆 使用 URL 重寫或主機標頭重寫(WAF_v2 SKU)。
如尚未擁有 Azure 訂用帳戶,請在開始之前先建立免費帳戶。
開始之前
您必須有 應用程式閘道 v2 SKU 實例,才能完成本文中的步驟。 v1 SKU 不支援重寫 URL。 如果您沒有 v2 SKU,請在開始之前建立一個應用程式閘道 v2 SKU 執行個體。
登入 Azure
使用您的 Azure 帳戶登入 Azure 入口網站 。
設定 URL 重寫
在下列範例中,每當要求URL包含 /article
時,就會重寫URL路徑和URL查詢字串。 例如:
contoso.com/article/123/fabrikam
->contoso.com/article.aspx?id=123&title=fabrikam
選取 [所有資源],然後選取您的應用程式閘道。
在服務窗格中,選取 [ 重寫]。
選取 [ 重寫集]。
輸入重寫集的名稱,並將它與路由規則產生關聯:
在 [ 名稱] 方塊中,輸入重寫集的名稱。
在 [ 相關聯的路由規則] 清單中,選取一或多個規則。 此步驟會透過路由規則將重寫組態與來源接聽程式產生關聯。 只選取尚未與其他重寫集相關聯的路由規則。 已經與其他重寫集相關聯的規則會呈現暗灰色。
選取 [下一步]。
建立重寫規則:
選取 [新增重寫規則]。
在 [ 重寫規則名稱 ] 方塊中,輸入重寫規則的名稱。
在 [ 規則順序] 方塊中,輸入數位。
在此範例中,我們只會在路徑包含
/article
時重寫 URL 路徑和 URL 查詢字串。 若要執行此步驟,請新增條件來評估 URL 路徑是否包含/article
:選取 [ 新增條件],然後選取包含 [If ] 指示的方塊加以展開。
在要檢查的變數類型清單中,選取 [伺服器變數]。 在此範例中,我們想要檢查 URL 路徑中的模式
/article
。在 [ 伺服器變數 ] 清單中,選取
uri_path
。在 [區分大小寫] 下方選取 [否]。
在 [運算子] 清單中選取 [等於 (=)]。
輸入一個規則運算式模式。 在此範例中,我們使用 模式
.*article/(.*)/(.*)
括弧 () 可用來擷取子字串,以供稍後用來撰寫運算式來重寫 URL 路徑。 如需詳細資訊,請參閱 模式比對和擷取。
選取 [確定]。
新增動作以重寫 URL 和網址路徑:
在 [重寫類型] 清單中,選取 [URL]。
在 [動作類型] 清單中,選取 [設定]。
在 [元件] 下,選取 [URL 路徑] 和 [URL 查詢字串]。
在 [URL 路徑值] 中輸入路徑的新值。 在此範例中,使用
/article.aspx
。在 URL 查詢字串值中,輸入 URL 查詢字串的新值。 在此範例中,使用
id={var_uri_path_1}&title={var_uri_path_2}
。{var_uri_path_1}
和{var_uri_path_2}
路徑可用來擷取在評估表達式中條件時擷取的子字串.*article/(.*)/(.*)
選取 [確定]。
選取 [建立 ] 以建立重寫集。
確認新的重寫集出現在重寫集清單中。
透過存取記錄確認 URL 重寫
觀察存取記錄中的下列欄位,以確認 URL 重寫是否根據您的預期發生:
originalRequestUriWithArgs
:此欄位包含原始要求 URL。requestUri
:此欄位包含重寫作業之後的 URL 應用程式閘道。
如需存取記錄中所有欄位的詳細資訊,請參閱 存取記錄。
相關內容
若要深入瞭解如何設定一些常見使用案例的重寫,請參閱 常見重寫案例。