On Thu, 2023-01-12 at 09:59 -0500, [email protected] wrote: > > I'll dig deeper on this. >
What I'm seeing is not making much sense to me. With: RewriteRule "^/games$" "/puzzles" I'm getting the following behavior: >> [Thu Jan 12 10:12:26.174426 2023] [rewrite:trace2] [pid 615418:tid 615494] mod_rewrite.c(486): [client ::1:44536] ::1 - - [localhost/sid#564e6de96770][rid#7efe04004c30/initial] init rewrite engine with requested uri /games [Thu Jan 12 10:12:26.174523 2023] [rewrite:trace3] [pid 615418:tid 615494] mod_rewrite.c(486): [client ::1:44536] ::1 - - [localhost/sid#564e6de96770][rid#7efe04004c30/initial] applying pattern '^/games$' to uri '/games' [Thu Jan 12 10:12:26.174575 2023] [rewrite:trace2] [pid 615418:tid 615494] mod_rewrite.c(486): [client ::1:44536] ::1 - - [localhost/sid#564e6de96770][rid#7efe04004c30/initial] rewrite '/games' -> '/puzzles' [Thu Jan 12 10:12:26.174606 2023] [rewrite:trace2] [pid 615418:tid 615494] mod_rewrite.c(486): [client ::1:44536] ::1 - - [localhost/sid#564e6de96770][rid#7efe04004c30/initial] local path result: /puzzles [Thu Jan 12 10:12:26.174645 2023] [rewrite:trace2] [pid 615418:tid 615494] mod_rewrite.c(486): [client ::1:44536] ::1 - - [localhost/sid#564e6de96770][rid#7efe04004c30/initial] prefixed with document_root to /home/rbowen/devel/presentations/puzzles [Thu Jan 12 10:12:26.174673 2023] [rewrite:trace1] [pid 615418:tid 615494] mod_rewrite.c(486): [client ::1:44536] ::1 - - [localhost/sid#564e6de96770][rid#7efe04004c30/initial] go-ahead with /home/rbowen/devel/presentations/puzzles [OK] [Thu Jan 12 10:12:26.175644 2023] [rewrite:trace2] [pid 615418:tid 615497] mod_rewrite.c(486): [client ::1:44536] ::1 - - [localhost/sid#564e6de96770][rid#7efe04002c20/initial] init rewrite engine with requested uri /games/ [Thu Jan 12 10:12:26.175725 2023] [rewrite:trace3] [pid 615418:tid 615497] mod_rewrite.c(486): [client ::1:44536] ::1 - - [localhost/sid#564e6de96770][rid#7efe04002c20/initial] applying pattern '^/games$' to uri '/games/' [Thu Jan 12 10:12:26.175768 2023] [rewrite:trace1] [pid 615418:tid 615497] mod_rewrite.c(486): [client ::1:44536] ::1 - - [localhost/sid#564e6de96770][rid#7efe04002c20/initial] pass through /games/ << Line break added for clarity. That's where things get confusing. This is with wget, so any "browser geting smart" behavior hopefully removed. $ wget http://localhost/games It looks like it works as intended, but then for some reason, a separate second request is initiated, with the trailing slash added. I am not sure why that's happening. But with curl: $ curl http://localhost/games I get the desired/expected: [Thu Jan 12 10:17:54.208145 2023] [rewrite:trace2] [pid 615420:tid 615581] mod_rewrite.c(486): [client 127.0.0.1:47176] 127.0.0.1 - - [localhost/sid#564e6de96770][rid#7efe1000cd70/initial] init rewrite engine with requested uri /games [Thu Jan 12 10:17:54.208172 2023] [rewrite:trace3] [pid 615420:tid 615581] mod_rewrite.c(486): [client 127.0.0.1:47176] 127.0.0.1 - - [localhost/sid#564e6de96770][rid#7efe1000cd70/initial] applying pattern '^/games$' to uri '/games' [Thu Jan 12 10:17:54.208188 2023] [rewrite:trace2] [pid 615420:tid 615581] mod_rewrite.c(486): [client 127.0.0.1:47176] 127.0.0.1 - - [localhost/sid#564e6de96770][rid#7efe1000cd70/initial] rewrite '/games' -> '/puzzles' [Thu Jan 12 10:17:54.208202 2023] [rewrite:trace2] [pid 615420:tid 615581] mod_rewrite.c(486): [client 127.0.0.1:47176] 127.0.0.1 - - [localhost/sid#564e6de96770][rid#7efe1000cd70/initial] local path result: /puzzles [Thu Jan 12 10:17:54.208213 2023] [rewrite:trace2] [pid 615420:tid 615581] mod_rewrite.c(486): [client 127.0.0.1:47176] 127.0.0.1 - - [localhost/sid#564e6de96770][rid#7efe1000cd70/initial] prefixed with document_root to /home/rbowen/devel/presentations/puzzles [Thu Jan 12 10:17:54.208220 2023] [rewrite:trace1] [pid 615420:tid 615581] mod_rewrite.c(486): [client 127.0.0.1:47176] 127.0.0.1 - - [localhost/sid#564e6de96770][rid#7efe1000cd70/initial] go-ahead with /home/rbowen/devel/presentations/puzzles [OK] But the actual response returned to the cli is: $ curl -v http://localhost/games * Trying 127.0.0.1:80... * Connected to localhost (127.0.0.1) port 80 (#0) > GET /games HTTP/1.1 > Host: localhost > User-Agent: curl/7.85.0 > Accept: */* > * Mark bundle as not supporting multiuse < HTTP/1.1 301 Moved Permanently < Date: Thu, 12 Jan 2023 15:20:59 GMT < Server: Apache/2.4.54 (Fedora Linux) < Location: http://localhost/games/ < Content-Length: 231 < Content-Type: text/html; charset=iso-8859-1 < <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>301 Moved Permanently</title> </head><body> <h1>Moved Permanently</h1> <p>The document has moved <a href="http://localhost/games/">here</a>.</p> </body></html> What's going on here?
