Hello,

I’m trying to get a basic URL rewrite working with httpd but, alas, it 
seems broken.

My goal:

        /~USER -> /htdocs/u/USER

To debug this, in case the “~” character was throwing something off, I 
simply tried to achieve:

        /u/USER -> /htdocs/u/USER

I’m aware this can be achieved with request strip, but this is for 
purposes of demonstrating the bug.

Here is my httpd.conf, which will reliably result in a 500 internal 
server error:

types {
        include "/usr/share/misc/mime.types"
}

server "blip.town" {
        alias "www.blip.town"
        listen on * port 80
        log style combined
        location "/.well-known/acme-challenge/*" {
                root "/acme"
                request strip 2
        }
        location * {
                block return 302 "https://$HTTP_HOST$REQUEST_URI";
        }
}

server "blip.town" {
        alias "www.blip.town"
        listen on * tls port 443
        root "/htdocs/u"
        log style combined
        tls {
                certificate "/etc/ssl/blip.town.fullchain.pem"
                key "/etc/ssl/private/blip.town.key"
        }
        location "/.well-known/acme-challenge/*" {
                root "/acme"
                request strip 2
        }
        location match "/u/(.*)" {
                request rewrite "/%1"
        }
}

Any input would be much appreciated.

--
Paul W. Rankin
https://rnkn.xyz

Reply via email to