本文档介绍如何在火山引擎内容分发网络中配置 URL 重定向改写。该配置允许您对指定的请求路径,将其重定向到指定地址。
说明
该功能目前以白名单的方式对外开放。如果您需要此功能,请 提交工单。
在源站上,假设某些用户经常访问的文件的路径发生了变更。此时,有以下几种解决方案:
在源站配置 301 或 302 重定向,将内容的原 URL 重定向到新的 URL。同时在内容分发网络中 开启回源重定向跟随。
不在源站做任何变更,而是在内容分发网络配置 "URL 重定向改写"。如果用户请求了原 URL,内容分发网络会响应 301 或者 302 状态码,指示用户浏览器向新的 URL 发送请求。
不在源站做任何变更,而是在内容分发网络配置 回源路径改写。如果用户请求了原 URL,内容分发网络在回源请求中会使用新的 URL。
本文档介绍的是第二种解决方案。
在配置了某文件的 URL 重定向改写后,用户请求的流程如下:
配置 | 说明 |
---|---|
优先级 | 表示规则的优先级。数字 1 的规则优先级最高。在收到请求时,CDN 按规则的优先级,从高到低尝试将请求与规则匹配。如果请求匹配了某一条规则,CDN 就停止匹配其余规则。您可以通过拖拽调整规则的优先级。 |
重写路径 | 表示一个正则表达式,长度不超过 1,024 个字符,用于匹配用户请求 URL 中的完整路径或者路径中的特定字符串。您可以在正则表达式中使用分组。 |
跳转方式 | 表示内容分发网络重定向用户请求时返回的响应状态码。该配置有以下可选项:
需要留意的是,如果原用户请求使用的方法不是 GET,客户端浏览器可能会使用 GET 方法发送重定向请求。 |
目标协议 | 表示重定向请求使用的协议。该配置有以下可选项:
|
目标 Host | 表示重定向 URL 中的域名或者 IP 地址。IP 地址只能是 IPv4 类型的地址。域名的长度不能超过 1,024 个字符。需要注意的是,如果该域名不是加速域名,用户向重定向 URL 发送的请求将无法被加速。 |
目标路径 | 表示一个替换字符串,用于在请求 URL 的路径中替换 "重写路径" 匹配到的字符串,替换字符串的要求如下:
说明
参见 配置示例。 |
目标参数 | 表示请求 URL 中查询参数的处理方式。该配置有以下可选项:
|
参数名称 | 表示需要保留或不保留的查询参数,长度不能超过 1,024 个字符。多个查询参数之间使用分号(;)分隔。
该配置的默认值是 |
用户请求 | 配置 | 配置 | 配置效果 | 说明 |
---|---|---|---|---|
请求 URL 中的路径 | 重写路径(包含组 (.*) ) | 目标路径 | 重定向路径 | |
/a/bbb/image.png | ^/a{1,2}(.*)g$ | /food/$1 | /food//bbb/image.pn | 正则表达式匹配了完整请求路径。 注意 重定向路径中出现 |
/food$1g | /food/bbb/image.png | 正则表达式匹配了完整请求路径。(.*) 表示的字符串是 /bbb/image.pn 。 | ||
/aaa/bbb/image.png | /a{1,2}(.*)g | /food/$1g | /food/a/bbb/image.png |
|
/food/aaa/pngs/image.png | /food/food/a/pngs/image.png |
| ||
/aaa/bbb/image.png | aaa(.*) | //food//bbb/image.pngg |
注意 重定向路径中出现 | |
/aaa/bbb/image.png | aaa/(.*) | food/$1 | /food/bbb/image.png |
|