On Thu, 23 May 2002, Geoffrey Young wrote:

> Matt Sergeant wrote:
>
> > -----BEGIN PGP SIGNED MESSAGE-----
> > Hash: SHA1
> >
> > This is just a heads up on something I've not seen documented in either the
> > Eagle book or in the Cookbook (at least not that I can find).
> >
> > If you create a subrequest via $r->lookup_file(), the per_dir_config entry
> > doesn't seem to be created. If you use $r->lookup_uri(), it's fine. This can
> > be an issue for people with complex applications and configurations trying to
> > find out why $sub->dir_config() might not be returning what they expect.
> >
> > Took me a while to figure this one out - just thought others might like to
> > know.
>
>
> well, I hadn't thought about it until now, but actually that makes sense to me (as 
>it's
> early in the morning here :)
>
> mod_perl just uses r->per_dir_config for $r->dir_config, so it's relying on Apache's
> merging behavior wrt lookup_file() and lookup_uri().  one of the things that 
>lookup_uri()
> does that lookup_file() does not do is call location_walk, which merges 
>per-directory configs.
>
> I think this makes sense, since a single file can be served by multiple <Location>
> containers, and with lookup_file() you're essentially telling Apache that you 
>already know
> the filename (sans the translation phase) and you don't really need to know how it 
>relates
> to the incoming URI.  both lookup_file() and lookup_uri() call the <File> and 
><Directory>
> merging routines, so I would expect that calling lookup_file() on files governed by 
>those
> directives would merge just fine.
>
> actually, I ran the below test against my perl-bin/ and cgi-bin/ setups (where 
>perl-bin is
> a <Location> + Alias and cgi-bin is a <Directory> + ScriptAlias) and it works as I 
>suspected.
>
> does this help?

Well it all made sense to me anyway - I just thought it should be
documented ;-)

-- 
<!-- Matt -->
<:->Get a smart net</:->

Reply via email to