|
|
|
|
|
by asb
1377 days ago
|
|
The uri directive does expose stripping a suffix, but that's an internal rewrite, correct? For any /foo/ /bar/ /baz/ I want to redirect to /foo, /bar, or /baz. Unless I'm missing something, this needs to be done like so right now: @trailing_slash path_regexp trailing_slash ^/(.*)/$
redir @trailing_slash /{re.trailing_slash.1} 308
|
|
It can also do regex replacements on the path portion of the URI. And yes, these are internal rewrites since uri is a directive that wires up the rewrite handler.
We actually have a special section in the docs all about enforcing trailing slashes, including external redirects: https://caddyserver.com/docs/caddyfile/patterns#trailing-sla...
Note that the file_server will automatically enforce canonical URIs, including redirecting to add or remove the trailing slash according to whether the resource is a file or a directory.
To redirect many unspecified paths, your regex is probably the best way to do it for now. Feel free to open an issue to propose an alternative!