URL 重写

Azure Front Door 支持 URL 重写,从而能够修改路由到源的请求路径。 借助此强大的功能,可以定义确定何时应重写 URL 或指定标头的条件。 这些条件基于请求和响应中提供的信息。

通过使用 URL 重写,可以根据其设备类型或请求的文件类型等因素将最终用户重定向到不同的源。 可以在规则集中轻松配置 URL 重写操作,从而对路由行为进行精细控制。

规则集配置中 URL 重写操作的屏幕截图。

源模式

源模式表示要替换的初始请求中的 URL 路径。 目前,源模式使用基于前缀的匹配方法。 若要匹配所有 URL 路径,可以将正斜杠 (/) 指定为源模式的值。

在 URL 重写操作的上下文中,只为源模式考虑路由配置中要匹配的模式之后的路径。 例如,如果传入的 URL 格式为 /source-pattern,规则集仅将 contoso.com/pattern-to-match/source-pattern 视为要重写的源模式。 应用 URL 重写后,传出 URL 格式为 contoso.com/pattern-to-match/destination

如果需要删除 /pattern-to-match URL 的段,可以在路由配置中将源组的 源路径 设置为 /

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

后续步骤