文档
一个 项目

handle_path

handle 指令 的工作方式相同,但隐式使用 uri strip_prefix 来剥离匹配的路径前缀。

处理匹配特定路径的请求(同时从请求 URI 中剥离该路径)是一个非常常见的用例,因此它有自己的指令来方便使用。

语法

handle_path <path_matcher> {
	<directives...>
}
  • <directives...> 是 HTTP 处理程序指令或指令块的列表,每行一个,就像在 handle_path 块之外使用一样。

只接受一个 路径匹配器,并且是必需的;您不能将命名匹配器与 handle_path 一起使用。

示例

此配置

handle_path /prefix/* {
	...
}

👆 与此 👇 相当,但 handle_path 形式 👆 稍微简洁一些

handle /prefix/* {
	uri strip_prefix /prefix
	...
}

一个完整的 Caddyfile 示例,其中 handle_pathhandle 是互斥的;但是,请注意 子文件夹问题

example.com {
	# Serve your API, stripping the /api prefix
	handle_path /api/* {
		reverse_proxy localhost:9000
	}

	# Serve your static site
	handle {
		root * /srv
		file_server
	}
}