src/docs/markdown/caddyfile/directives/handle_path.md
Works the same as the handle directive, but implicitly uses uri strip_prefix to strip the matched path prefix.
Handling a request matching a certain path (while stripping that path from the request URI) is a common enough use case that it has its own directive for convenience.
handle_path <path_matcher> {
<directives...>
}
handle_path block.Only a single path matcher is accepted, and is required; you cannot use named matchers with handle_path.
This configuration:
handle_path /prefix/* {
...
}
š is effectively the same as this š, but the handle_path form š is slightly more succinct
handle /prefix/* {
uri strip_prefix /prefix
...
}
A full Caddyfile example, where handle_path and handle are mutually exclusive; but, be aware of the subfolder problem
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
}
}