以下部分介绍用于配置静态和动态 URL 重定向的重定向规则设置。
使用通配符模式执行 URL 重定向以匹配多个请求。此方法可简化源 URL 和目标 URL 模式的定义,而无需复杂表达式。
通配符 URL 重定向具有以下配置参数:
-
Request URL(请求 URL):使用星号(
*)字符输入通配符模式以匹配多个请求。例如,https://*.example.com/files/*。 -
Target URL(目标 URL):输入目标 URL,可以是静态的(例如
https://example.com)或动态的(例如https://example.com/${1}/files/${2})。使用如${1}、${2}等通配符替换来定义动态目标。 -
Status code(状态码):重定向响应的 HTTP 状态码(默认为 301 - Permanent Redirect)。必须是以下之一:
- 301 - Permanent Redirect:页面已永久移动到新地址。对于
POST请求,客户端或浏览器在跟随重定向时可能将 HTTP 方法切换为GET。 - 302 - Temporary Redirect:页面已临时移动到新地址。对于
POST请求,客户端或浏览器在跟随重定向时可能将 HTTP 方法切换为GET。 - 307 - Advanced: Temporary, HTTP method preserved:页面已临时移动到新地址。客户端或浏览器在跟随重定向时必须保留原始 HTTP 方法(例如
POST)。 - 308 - Advanced: Permanent, HTTP method preserved:页面已永久移动到新地址。客户端或浏览器在跟随重定向时必须保留原始 HTTP 方法(例如
POST)。
- 301 - Permanent Redirect:页面已永久移动到新地址。对于
-
Preserve query string(保留查询字符串):重定向时是否保留查询字符串(默认禁用)。
API 信息
通配符 URL 重定向是常规的动态 URL 重定向,在 target_url.expression 参数中使用 wildcard_replace() 函数。
执行通配符 URL 重定向的重定向规则的 "action_parameters" 字段完整语法如下:
"action_parameters": {
"from_value": {
"target_url": {
"expression": "wildcard_replace(http.request.full_uri, r\"<REQUEST_URL_PATTERN>\", r\"<TARGET_URL_PATTERN>\")"
},
"status_code": <STATUS_CODE>,
"preserve_query_string": <BOOLEAN_VALUE>
}
}必需参数为 <REQUEST_URL_PATTERN> 和 <TARGET_URL_PATTERN>。
可选参数可以具有以下值:
"status_code"(整数):301(永久重定向)302(临时重定向)307(临时重定向,保留原始 HTTP 方法)308(永久重定向,保留原始 HTTP 方法)
"preserve_query_string"(布尔值):true或false
使用给定的 HTTP 状态码执行静态 URL 重定向,并可选择是否保留查询字符串。
静态 URL 重定向具有以下配置参数:
-
URL:将在重定向响应中返回的
LocationHTTP 标头中使用的字面字符串。 -
Status code(状态码):重定向响应的 HTTP 状态码(默认为 301 - Permanent Redirect)。必须是以下之一:
- 301 - Permanent Redirect:页面已永久移动到新地址。对于
POST请求,客户端或浏览器在跟随重定向时可能将 HTTP 方法切换为GET。 - 302 - Temporary Redirect:页面已临时移动到新地址。对于
POST请求,客户端或浏览器在跟随重定向时可能将 HTTP 方法切换为GET。 - 307 - Advanced: Temporary, HTTP method preserved:页面已临时移动到新地址。客户端或浏览器在跟随重定向时必须保留原始 HTTP 方法(例如
POST)。 - 308 - Advanced: Permanent, HTTP method preserved:页面已永久移动到新地址。客户端或浏览器在跟随重定向时必须保留原始 HTTP 方法(例如
POST)。
- 301 - Permanent Redirect:页面已永久移动到新地址。对于
-
Preserve query string(保留查询字符串):重定向时是否保留查询字符串(默认禁用)。
API 信息
执行静态 URL 重定向的重定向规则的 "action_parameters" 字段完整语法如下:
"action_parameters": {
"from_value": {
"target_url": {
"value": "<STATIC_URL_VALUE>"
},
"status_code": <STATUS_CODE>,
"preserve_query_string": <BOOLEAN_VALUE>
}
}唯一必需的参数是 <STATIC_URL_VALUE>。
可选参数可以具有以下值:
"status_code"(整数):301(永久重定向)302(临时重定向)307(临时重定向,保留原始 HTTP 方法)308(永久重定向,保留原始 HTTP 方法)
"preserve_query_string"(布尔值):true或false
执行动态 URL 重定向,目标 URL 由表达式确定。你可以配置重定向 HTTP 状态码,以及重定向时是否保留查询字符串。
动态 URL 重定向具有以下配置参数:
-
Expression(表达式):定义重定向目标 URL 的表达式。计算此表达式的结果将用于重定向响应中返回的
LocationHTTP 标头。请参阅可在表达式中使用的字段和函数。 -
Status code(状态码):重定向响应的 HTTP 状态码(默认为 301 - Permanent Redirect)。必须是以下之一:
- 301 - Permanent Redirect:页面已永久移动到新地址。对于
POST请求,客户端或浏览器在跟随重定向时可能将 HTTP 方法切换为GET。 - 302 - Temporary Redirect:页面已临时移动到新地址。对于
POST请求,客户端或浏览器在跟随重定向时可能将 HTTP 方法切换为GET。 - 307 - Advanced: Temporary, HTTP method preserved:页面已临时移动到新地址。客户端或浏览器在跟随重定向时必须保留原始 HTTP 方法(例如
POST)。 - 308 - Advanced: Permanent, HTTP method preserved:页面已永久移动到新地址。客户端或浏览器在跟随重定向时必须保留原始 HTTP 方法(例如
POST)。
- 301 - Permanent Redirect:页面已永久移动到新地址。对于
-
Preserve query string(保留查询字符串):重定向时是否保留查询字符串(默认禁用)。
API 信息
执行动态 URL 重定向的重定向规则的 "action_parameters" 字段完整语法如下:
"action_parameters": {
"from_value": {
"target_url": {
"expression": "<DYNAMIC_URL_EXPRESSION>"
},
"status_code": <STATUS_CODE>,
"preserve_query_string": <BOOLEAN_VALUE>
}
}唯一必需的参数是 <DYNAMIC_URL_EXPRESSION>。
可选参数可以具有以下值:
"status_code"(整数):301(永久重定向)302(临时重定向)307(临时重定向,保留原始 HTTP 方法)308(永久重定向,保留原始 HTTP 方法)
"preserve_query_string"(布尔值):true或false