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_path
和 handle
是互斥的;但是,请注意 子文件夹问题
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
}
}