I've been banging my head against on wall on this one and could use a little
help.
Setting the Stage:
I've got an Apache::CleanupHandler that is running for my requests. I've got a file at
DocumentRoot/foo/index.pl and DirectoryIndex index.pl. Now, to test out error handling in my cleanup
handler I've put an explicit "die" at the top of foo/index.pl.
Problem:
When I make a request to /foo/index.pl every behaves correctly. I get this in
my access log:
127.0.0.1 - - [29/Oct/2008:15:19:33 -0400] "GET /foo/ HTTP/1.1" 500 644 "-" "Mozilla/5.0 (X11; U;
Linux i686; en-US; rv:1.9.0.2) Gecko/2008092318 Fedora/3.0.2-1.fc9 Firefox/3.0.2"
And this in my error log (where I'm printing $r->uri and $r->status from inside
the cleanup handler):
URI: /foo/index.pl STATUS: 500
But when I make the request to just /foo (instead of /foo/index.pl) I only get
this in my error log:
URI: /foo/ STATUS: 200
The stranger part is that the access log still reports it correctly as an error:
GET /foo/ HTTP/1.1" 500
And the error still appears in the error log, it's just that $r->status (and
$r->notes('error-notes') don't contain the right information).
So what's going on here. Shouldn't the 2 requests (/foo and /foo/index.pl) be
treated exactly the same?
--
Michael Peters
Plus Three, LP