handle_path
Работает так же, как и handle директива, но неявно использует uri strip_prefix для удаления совпадающего префикса пути.
Обработка запроса, соответствующего определённому пути (при этом удаляя этот путь из URI запроса), достаточно распространённый случай, поэтому для удобства существует собственная директива.
Синтаксис
handle_path <path_matcher> {
<directives...>
}
-
<directives...> — список директив обработчика HTTP или блоков директив, по одной на строке, как это используется вне блока
handle_path.
Допускается только один сопоставитель пути, и он обязателен; вы не можете использовать именованные сопоставители с handle_path.
Примеры
Эта конфигурация:
handle_path /prefix/* {
...
}
👆 фактически эквивалентна этому 👇, но форма 👆 немного более лаконична
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
}
}
© 2015-2025 Matthew Holt and The Caddy Authors
Licensed under the Apache License 2.0.
Caddy is a registered trademark of Stack Holdings GmbH.
https://caddyserver.com/docs/caddyfile/directives/handle_path