On Wed, 29 Oct 2008 17:51:54 -0400 Michael wrote: > So "/foo/" goes through some extra steps (lines 2-7) but after that > it looks the same as "/foo/index.pl" until you hit the die(). Then > the status for "/foo/index.pl" goes to 500 while the status for > "/foo" stays at 200.
I tested a PHP script with a syntax error, and I see exactly what you're seeing. That is, when the PHP script has an error, my log handler still sees $r->status as 200. So, $r->status is only valid for (or set by) mod_perl response handlers which know to set it? Does this mean we have to write an output filter to catch the status code and set $r->status? Yikes. Does $r->status_line also report "200"? From Apache2::RequestRec documentation for $r->status: "Usually you will set this value indirectly by returning the status code as the handler’s function result." But as I stated earlier, this is not enough (in practice)... Sounds like more and more like a bug, which I believe is what you were originally stating...