跳到主要内容

URL 重写

URL 重写功能支持两种模式:

  • 重定向模式:返回 HTTP 3xx 重定向响应,客户端会感知到重定向并发起新请求。
  • Header 模式:直接修改请求的 URI 和 Host 头,透明地将请求转发到新地址,客户端无感知。

重写 HTTPS 请求的 URL 需要配置 MITM 并安装 CA 证书。以下是各字段的详细解释:

  • match (string), 必填

    URL 匹配正则表达式,匹配完整请求 URL(含协议、主机名、路径和查询参数)。支持捕获组。

  • location (string), 必填

    重定向目标 URL,支持使用 $1$2 等引用捕获组。

  • status_code (integer), 可选

    HTTP 重定向状态码(301 永久重定向、302 临时重定向、307 临时重定向保持方法、308 永久重定向保持方法)。省略此字段时使用 header 模式。

  • disabled (bool), 可选

    是否禁用此规则。

配置示例

url_rewrites:
# 重定向模式:返回 307 重定向响应
- match: "(.*google)\\.cn"
location: $1.com
status_code: 307

# 重定向模式:返回 301 永久重定向
- match: "^https://old\\.example\\.com/(.*)$"
location: "https://new.example.com/$1"
status_code: 301

# Header 模式:透明转发,客户端无感知
- match: "^https://api\\.example\\.com/v1/(.*)$"
location: "https://api.example.com/v2/$1"

在第一个示例中,系统将查找所有 URL 匹配 (.*google)\.cn 的请求,并返回 307 重定向响应将其引导至对应的 .com 域名。在第三个示例中,系统将匹配的请求透明地转发到 v2 API,客户端不会感知到地址变化。