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
}
}