如果源站资源的存放路径发生变化,ESA节点上的资源存放路径也将同步变更,但用户请求的URL路径没有变化时,您可以通过配置重定向规则在ESA节点来改写用户请求的URL,将用户请求URL重定向到目标URL,减少回源,提升客户端访问性能。
功能介绍
如果源站资源的存放路径发生变化,ESA节点上的资源存放路径也将同步变更,但用户请求的URL路径没有变化时,这时就需要ESA节点来改写用户请求里面的资源路径。例如:图片文件原先存放在目录/download/
,现在变更为/image/
。
配置重新定向规则后,ESA节点会给客户端发送重定向状态码和HTTP Location信息,客户端收到后,将会向Location信息中新的URL地址发起请求。
ESA支持的重定向状态码及典型应用场景
状态码 | 含义 | 处理方法 | 典型应用场景 |
状态码 | 含义 | 处理方法 | 典型应用场景 |
301 | 永久重定向 Moved Permanently | GET方法不会发生变更,其他方法有可能会变更为GET方法。 | 请求资源已经被移动到了由 Location 头部指定的 URI 上,是固定的不会再改变。 |
302 | 临时重定向 Found | GET方法不会发生变更,其他方法有可能会变更为GET方法。 | 由于不可预见的原因该页面暂不可用。在这种情况下,搜索引擎不会更新它们的链接。 |
303 | 临时重定向 See Other | GET方法不会发生变更,其他方法会变更为 GET 方法(消息主体会丢失)。 | 用于PUT或POST请求完成之后进行页面跳转,防止由于页面刷新导致的操作的重复触发。 |
307 | 临时重定向 Temporary Redirect | 方法和消息主体都不发生变化。 | 由于不可预见的原因,该页面暂不可用。在这种情况下,搜索引擎不会更新它们的链接。当站点支持非GET方法的链接或操作的时候,该状态码优于 302状态码。 |
配置重定向规则
在ESA控制台,选择站点管理,在站点列单击目标站点。
在左侧导航栏,选择 。
单击新增规则,填写规则名称。
在当请求匹配以下规则时...区域设置要匹配的用户请求特征,具体配置规则请参见规则表达式的组成。
在单一重定向区域,选择定向类型静态,写入具体URL,选择状态码。
参数
说明
参数
说明
类型
配置重定向规则的操作类型,支持静态和动态两种类型。
静态:仅支持设置目标URL为固定的字符串。
动态:支持设置目标URL为一个表达式。
目标URL
URL
配置重定向的目标URL,例如:
https://test.example.com/image/1.jpg?test=123
。表达式
配置重定向的目标URL为一个表达式。例如:
表达式:
concat("https://www.example.com", http.request.uri.path)
效果:设置重定向URL的时候,将用户请求URL中的主机名替换为一个新的域名,URL中的路径保持不变。
状态码
配置重定向的响应状态码:301(默认),302,303和307。详细说明请参考:ESA支持的重定向状态码及典型应用场景。
保留查询字符串
是否携带原查询参数至目标URL,默认关闭,即重定向后不携带原请求的查询参数。
开启保留查询字符串后:
如果用户请求的URL中携带了查询字符串,则覆盖重定向URL中的查询字符串。
如果用户请求的URL中没有携带查询字符串,则使用重定向URL中的查询字符串。
详细配置示例请见:配置示例。
单击确定。
配置示例
请求是否携带查询字符串 | 重定向URL是否携带查询字符串 | 保留查询字符串配置 | 用户请求URL示例 | 配置的重定向URL示例 | 实际重定向Location示例 |
请求是否携带查询字符串 | 重定向URL是否携带查询字符串 | 保留查询字符串配置 | 用户请求URL示例 | 配置的重定向URL示例 | 实际重定向Location示例 |
否 | 否 | 开启/关闭 |
|
|
|
否 | 是 | 开启/关闭 |
|
|
|
是 | 是 | 开启 |
|
|
|
是 | 是 | 关闭 |
|
|
|
是 | 否 | 开启 |
|
|
|
是 | 否 | 关闭 |
|
|
|
不同套餐的支持情况
重定向规则 | 基础版 | 标准版 | 高级版 | 企业版 |
重定向规则 | 基础版 | 标准版 | 高级版 | 企业版 |
支持配置的重定向规则数量 | 10条 | 25条 | 50条 | 125条 |
- 本页导读
- 功能介绍
- ESA支持的重定向状态码及典型应用场景
- 配置重定向规则
- 配置示例
- 不同套餐的支持情况