httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dean Gaudet <>
Subject <VirtualHost *>, <VirtualHost _default_>
Date Sat, 19 Jul 1997 20:18:49 GMT
Ignore the silly subtleties in our current vhost scheme. 

How would folks feel if the * address means "override any more specific
match on this port", and _default_ means "if all else fails on this port,
use this address" ?  Well, _default_ already has that behaviour (or
should).  But * doesn't. 

Right now * means "if there are no more specific matches later in the
config file then the host with * will match".

I'm trying to finish up that hash patch but ... well... I'm running into
the semantic changes that we want to make for 2.0.  Here's what I've got
so far:

    via hash, find a (non-name-vhost) server s which has an exact ip
	match, and for which the port matches (or the port is wildcarded)

    if that fails, then find a server s which is _default_ and matches
	the port (or the port is wildcarded)

    if s->virthost == 0 (i.e. it is the main server) then do name-vhost
	matching using a list of *only* name-vhosts

Ordering of hosts is preserved like in the 1.2 code -- that is, each
list above is ordered in the reverse order that the vhosts appear in
the config file.

The * addr doesn't fit in there anywhere.  pout.  But I'm hard pressed to
find example configs where * is useful that couldn't also be written
with _default_ instead.

No matter how we put in a hash we're stuck changing semantics ... but
I think we can affect only real fringe cases on multi-port servers --
i.e. servers with crazy *:N stuff in addition to vhosts on dozens of :80
addresses.  Servers with only :* stuff (i.e. :80, :443) won't be changed.


View raw message