httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "William A. Rowe Jr." <>
Subject Re: SetVirtualDocumentRoot / per request document root / context root?
Date Mon, 13 Dec 2010 17:05:01 GMT
On 12/13/2010 5:08 AM, Graham Leggett wrote:
> On 13 Dec 2010, at 5:11 AM, William A. Rowe Jr. wrote:
>>> An idea from left field.
>>> Is there a reason that DocumentRoot is a virtual host wide setting?
>> Yes, root describes "/", there is only one <Location "/">.
> I can understand why such a setting would be required, but I still don't see why that
> requirement binds us to it being set virtual host wide.

I don't see why it's required, and I don't see why you keep talking of other locations.

> You could either treat the lack of a DocumentRoot defined at the / level as a fatal error
> that prevents the server from starting, or you could fall back on a precompiled default
> directory.

There isn't another level.  It says Root, root == "/".

> In theory, the only reason I can see for requiring it virtual host wide is if the value
> required before the location walk. Is it?

Ideally, the lack of a DocumentRoot/Alias/MountFilePath indicates there is no file
content.  The location walk NEVER disappears.  But Directory walk could be bypassed
entirely, with a default no_document handler returning a 404.

Since there can be only one path to which a Root applies, placing Root directives
at the Server level is entirely sensible.

>>> Does it not make sense to make it per-Location instead?
>> No, but MountFilePath /path/to/foo in a Location basis makes sense.
> What I had in mind was:
> DocumentRoot /somewhere
> <Location /bar>
>   DocumentRoot /somewhereelse
> </Location>

No, because that is not a root.  Sorry, the english language overrides your
proposed semantics.

View raw message