本文档介绍如何在火山引擎内容分发网络(CDN)中配置 URL 重定向改写。该配置允许您对指定的请求路径,将其重定向到指定地址。
在源站上,假设某些用户经常访问的文件的路径发生了变更。此时,有以下几种解决方案:
在源站配置 301 或 302 重定向,将内容的原 URL 重定向到新的 URL。同时在 CDN 中 开启回源重定向跟随。
不在源站做任何变更,而是在 CDN 配置 "URL 重定向改写"。如果用户请求了原 URL,CDN 会响应 301 或者 302 状态码,指示用户浏览器向新的 URL 发送请求。
不在源站做任何变更,而是在 CDN 配置 回源路径改写。如果用户请求了原 URL,CDN 在回源请求中会使用新的 URL。
本文档介绍的是第二种解决方案。
在配置了某文件的 URL 重定向改写后,用户请求的流程如下:
配置 | 说明 |
---|---|
重写路径 | 表示一个正则表达式,长度不超过 1,024 个字符,用于匹配用户请求 URL 中的完整路径或者路径中的特定字符串。您可以在正则表达式中使用分组。 |
跳转方式 | 表示CDN 重定向用户请求时返回的响应状态码。该配置的可选项有 301、302、303、307、308。
|
目标协议 | 表示重定向请求使用的协议。该配置有以下可选项:
|
目标 Host | 表示重定向 URL 中的域名或者 IP 地址。IP 地址只能是 IPv4 类型的地址。域名的长度不能超过 1,024 个字符。需要注意的是,如果该域名不是加速域名,用户向重定向 URL 发送的请求将无法被加速。 |
目标路径 | 表示一个替换字符串,用于在请求 URL 的路径中替换 "重写路径" 匹配到的字符串,替换字符串的要求如下:
说明
参见 配置示例。 |
目标参数 | 表示请求 URL 中查询参数的处理方式。该配置有以下可选项:
|
参数名称 | 表示需要保留或不保留的查询参数,长度不能超过 1,024 个字符。多个查询参数之间使用分号(;)分隔。
该配置的默认值是 |
当收到用户请求时,CDN 基于规则在列表中出现的顺序,依次处理规则。在处理规则时,CDN 尝试将规则与请求匹配。如果任意一条规则匹配了请求,CDN 对请求文件应用规则中的 URL 改写配置,并停止处理其余规则。您可以拖动规则调整规则在列表中的出现顺序。
用户请求 | 配置 | 配置 | 配置效果 | 说明 |
---|---|---|---|---|
请求 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 |
|