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?

Reply via email to