Matt Sergeant wrote:

> > Hmm... Strange... It actually *works* at http://modperl.com/tree/ and I
> > downloaded its source code from http://modperl.com/book/source/!
> 
> Right, but the directory /tree might exist on their server - you never
> know...

I found the visible trigger.

I didn't have a DocumentRoot *at all* in my configuration, but it didn't
matter, as everything I have is served from handlers in <Location>
sections (or even in the root of the configuration file!). If I would
hit / directly (without the root PerlHandler), I would get a notice
about /usr/htdocs not existing in my error log (that's the default
DocumentRoot).

I intented to verify the idea that having an actual /tree directory
would help matters, so I proceeded to set a DocumentRoot in my
configuration, figuring I'd then create the appropriate directory.

Behold! Everything worked as in the book, without the directory! It just
needed to have something *valid* as the DocumentRoot (I tried setting
the DocumentRoot to something invalid, it doesn't work).

Now, I do not completely understand this. Am I right when I say that
nothing on the filesystem is needed to locate a <Location> handler?
IMHO, a <Location> handler should be able to get its path_info resolved
without any filesystem access (thus, without any dependency on having a
valid DocumentRoot), and the current behavior would be a bug.

I think the trouble might be more into Apache itself than in mod_perl.

Right now, I consider my problem fixed, but I feel that this might be a
real bug. I'll go submit something to the Apache bug tracking system
later...

-- 
Pierre Phaneuf
http://www3.sympatico.ca/pphaneuf/

Reply via email to