跳转到内容
搜索文档

URL 重写参数

最后更新 查看 MarkdownAgent 设置

静态和动态 URL 重写具有不同的参数:

  • 静态 URL 重写需要目标 URL 的静态值。
  • 动态 URL 重写需要一个表达式,在求值后将定义目标 URL。

使用通配符模式的 URL 重写是 Cloudflare 仪表板中的简化界面,用于创建带有通配符匹配和替换的动态 URL 重写。

URL 重写中所有参数值(合计)的最大长度为 4,096 个字符。例如,你可以为 URI 路径提供 2,048 个字符的静态值(或表达式),并为查询字符串提供 2,048 个字符的静态值(或表达式)。

API 信息

静态 URL 重写

同时重写 URI 路径和查询字符串的静态 URL 重写规则的 action_parameters 字段完整语法如下:

"action_parameters": {
  "uri": {
    "path": {
      "value": "<URI_PATH_VALUE>"
    },
    "query": {
      "value": "<QUERY_STRING_VALUE>"
    }
  }
}

如果仅重写 URI 路径或查询字符串,请分别省略 querypath 参数。

动态 URL 重写

同时重写 URI 路径和查询字符串的动态 URL 重写规则的 action_parameters 字段完整语法如下:

"action_parameters": {
  "uri": {
    "path": {
      "expression": "<URI_PATH_EXPRESSION>"
    },
    "query": {
      "expression": "<QUERY_STRING_EXPRESSION>"
    }
  }
}

如果仅重写 URI 路径或查询字符串,请分别省略 querypath 参数。

通配符匹配和替换

基于通配符匹配和替换同时重写 URI 路径和查询字符串的动态 URL 重写规则语法如下:

{
	"expression": "(http.request.full_uri wildcard r\"<REQUEST_URL>\")",
	"action_parameters": {
		"uri": {
			"path": {
				"expression": "wildcard_replace(http.request.uri.path, r\"<PATH_TARGET_PATH>\", r\"<PATH_REWRITE_TO>\")"
			},
			"query": {
				"expression": "wildcard_replace(http.request.uri.query, r\"<QUERY_TARGET_QUERY>\", r\"<QUERY_REWRITE_TO>\")"
			}
		}
	},
	"action": "rewrite"
	// ...
}

<REQUEST_URL><PATH_TARGET_PATH><PATH_REWRITE_TO><QUERY_TARGET_QUERY><QUERY_REWRITE_TO> 值占位符对应于你在 Cloudflare 仪表板中选择 Wildcard pattern(通配符模式) 选项时可用的字段。更多信息请参阅 Wildcard pattern parameters

同一规则中的不同 URL 重写类型

同一规则可以对 URI 路径和查询字符串使用不同类型的 URL 重写。例如,单条规则可以对 URI 路径执行动态 URL 重写,并对查询字符串执行静态 URL 重写。此类规则的语法如下:

"action_parameters": {
  "uri": {
    "path": {
      "expression": "<URI_PATH_EXPRESSION>"
    },
    "query": {
      "value": "<QUERY_STRING_VALUE>"
    }
  }
}

这篇文档对您有帮助吗?