你可以通过不同操作(即重写和重定向)来处理请求的 URL:
-
URL 重写:一种服务器端操作,将源 URL 转换为目标 URL。它发生在 Web 服务器完全处理请求之前。重写对网站访问者不可见,因为浏览器中显示的 URL 不会更改。配置 URL 重写规则,可在 Cloudflare 全球网络上执行重写,而无需到达你的 Web 服务器。
-
URL 重定向:一种客户端操作,将源 URL 转换为目标 URL。它发生在 Web 服务器加载初始 URL 之后。在这种情况下,网站访问者可以在重定向发生时注意到 URL 的变化。请参阅 重定向,了解有关配置重定向的更多信息。
使用 URL 重写规则可在浏览器中显示不同 URL 的同时返回某个 URL 的内容。你可以重写 URI 路径、查询字符串,或两者都重写。
URL 重写规则可以执行静态或动态重写:
- 静态重写:用静态字符串替换请求 URL 的给定部分(路径或查询字符串)。
- 动态重写:支持更高级的场景,你可以使用 重写表达式(基于请求属性的公式)来定义结果路径或查询字符串。
可通过 仪表板、Cloudflare API 或 使用 Terraform 创建 URL 重写规则。
使用 Cloudflare Images 时,可以使用 URL 重写规则从自定义路径提供图像。更多信息请参阅 从自定义域名提供图像。
排查 URL Rewrite Rules 时,使用 Cloudflare Trace 判断某条规则是否对特定 URL 生效。
-
URL 重写规则按顺序运行,靠后的规则可以覆盖先前规则所做的更改。
-
请求和响应字段的值在每个 阶段 内是不可变的,例如定义 URL 重写规则的
http_request_transform阶段。这意味着后续的 URL 重写规则在评估其筛选表达式时仍会使用原始字段值,而不是先前规则更改后的值。请参阅 规则评估期间的字段值 了解更多信息。