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