On Sat, Jul 13, 2024 at 08:48:56PM +1000, Paul W. Rankin wrote: > Hello, > > I’m trying to get a basic URL rewrite working with httpd but, alas, it > seems broken.
It's not broken :-). > > My goal: > > /~USER -> /htdocs/u/USER root "/htdocs/u" location match "/~(.*)" { request rewrite "/%1" } > To debug this, in case the “~” character was throwing something off, I > simply tried to achieve: > > /u/USER -> /htdocs/u/USER root "/htdocs/u" location match "/u/(.*)" { request rewrite "/%1" } > I’m aware this can be achieved with request strip, but this is for > purposes of demonstrating the bug. It's not a bug :-) Try accessing specific files such as: http://example.com/~my_user/my_file and it works. You are probably expecting _auto indexing_, which doesn't happen for rewritten requests. Depending on your use case you might want to a couple of extra location match directives such as this: location match "/~(.*)/" { request rewrite "/%1/index.html" } location match "/~(.*)$" { request rewrite "/%1/index.html" } ...which will redirect such requests to an index.html file.