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

Reply via email to