Ryan Gies wrote:

> Below is an Apache log snippet which traces the handler phases for two
> requests:
>
> A) /scratch/ does NOT have a directory index
> B) /scratch/foo/ DOES have a directory index (index.html)


So here is mine (the text for die() is "A horrible, terrible death!")

A) /foo/index.pl
B) /foo/

A
================================================== ==
[Wed Oct 29 17:46:06 2008] [warn] phase=PerlPostReadRequestHandler,
status=200, uri=/foo/index.pl, filename=
[Wed Oct 29 17:46:06 2008] [warn] phase=PerlTransHandler, status=200,
uri=/foo/index.pl, filename=
[Wed Oct 29 17:46:06 2008] [warn] phase=PerlHeaderParserHandler, status=200,
uri=/foo/index.pl, filename=/tmp/test_client_pub/foo/index.pl
[Wed Oct 29 17:46:06 2008] [warn] phase=PerlAccessHandler, status=200,
uri=/foo/index.pl, filename=/tmp/test_client_pub/foo/index.pl
[Wed Oct 29 17:46:06 2008] [warn] phase=PerlTypeHandler, status=200,
uri=/foo/index.pl, filename=/tmp/test_client_pub/foo/index.pl
[Wed Oct 29 17:46:06 2008] [warn] phase=PerlFixupHandler, status=200,
uri=/foo/index.pl, filename=/tmp/test_client_pub/foo/index.pl
[Wed Oct 29 17:46:06 2008] [error] A horrible, terrible death!

[Wed Oct 29 17:46:06 2008] [warn] phase=PerlLogHandler, status=500,
uri=/foo/index.pl, filename=/tmp/test_client_pub/foo/index.pl
CLEAN URI: /foo/index.pl STATUS: 500 main: 1 initial: 1
[Wed Oct 29 17:46:06 2008] [warn] phase=PerlCleanupHandler, status=500,
uri=/foo/index.pl, filename=/tmp/test_client_pub/foo/index.pl


B
================================================== ==
[Wed Oct 29 17:46:35 2008] [warn] phase=PerlPostReadRequestHandler,
status=200, uri=/foo/, filename=
[Wed Oct 29 17:46:35 2008] [warn] phase=PerlTransHandler, status=200,
uri=/foo/, filename=
[Wed Oct 29 17:46:35 2008] [warn] phase=PerlHeaderParserHandler, status=200,
uri=/foo/, filename=/tmp/test_client_pub/foo
[Wed Oct 29 17:46:35 2008] [warn] phase=PerlAccessHandler, status=200,
uri=/foo/, filename=/tmp/test_client_pub/foo
[Wed Oct 29 17:46:35 2008] [warn] phase=PerlTypeHandler, status=200,
uri=/foo/, filename=/tmp/test_client_pub/foo
[Wed Oct 29 17:46:35 2008] [warn] phase=PerlFixupHandler, status=200,
uri=/foo/, filename=/tmp/test_client_pub/foo
[Wed Oct 29 17:46:35 2008] [warn] phase=PerlPostReadRequestHandler,
status=200, uri=/foo/index.pl, filename=
[Wed Oct 29 17:46:35 2008] [warn] phase=PerlTransHandler, status=200,
uri=/foo/index.pl, filename=
[Wed Oct 29 17:46:35 2008] [warn] phase=PerlHeaderParserHandler, status=200,
uri=/foo/index.pl, filename=/tmp/test_client_pub/foo/index.pl
[Wed Oct 29 17:46:35 2008] [warn] phase=PerlAccessHandler, status=200,
uri=/foo/index.pl, filename=/tmp/test_client_pub/foo/index.pl
[Wed Oct 29 17:46:35 2008] [warn] phase=PerlTypeHandler, status=200,
uri=/foo/index.pl, filename=/tmp/test_client_pub/foo/index.pl
[Wed Oct 29 17:46:35 2008] [warn] phase=PerlFixupHandler, status=200,
uri=/foo/index.pl, filename=/tmp/test_client_pub/foo/index.pl
[Wed Oct 29 17:46:35 2008] [error] A horrible, terrible death!

[Wed Oct 29 17:46:35 2008] [warn] phase=PerlLogHandler, status=200, uri=/foo/,
filename=/tmp/test_client_pub/foo/
[Wed Oct 29 17:46:35 2008] [warn] phase=PerlLogHandler, status=200, uri=/foo/,
filename=/tmp/test_client_pub/foo/
CLEAN URI: /foo/ STATUS: 200 main: 1 initial: 1
[Wed Oct 29 17:46:35 2008] [warn] phase=PerlCleanupHandler, status=200,
uri=/foo/, filename=/tmp/test_client_pub/foo/
[Wed Oct 29 17:46:35 2008] [warn] phase=PerlCleanupHandler, status=200,
uri=/foo/, filename=/tmp/test_client_pub/foo/

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.

--
Michael Peters
Plus Three, LP