You are viewing a plain text version of this content. The canonical link for it is here.
Posted to apache-bugdb@apache.org by Marc Slemko <ma...@znep.com> on 1997/08/17 09:10:04 UTC
Re: general/704: VirtualHost relative paths are being over-ridden by global Alias paths (fwd)
The following reply was made to PR general/704; it has been noted by GNATS.
From: Marc Slemko <ma...@znep.com>
To: Apache bugs database <ap...@apache.org>
Subject: Re: general/704: VirtualHost relative paths are being over-ridden by global Alias paths (fwd)
Date: Sun, 17 Aug 1997 01:08:01 -0600 (MDT)
---------- Forwarded message ----------
Date: Mon, 23 Jun 97 15:43:26 PDT
From: William Sommers <ad...@sfo.com>
To: William Sommers <so...@sfo.com>, Dean Gaudet <dg...@arctic.org>
Cc: apache-bugdb@apache.org
Subject: Re: general/704: VirtualHost relative paths are being over-ridden by global Alias paths
On Mon, 23 Jun 1997 15:28:23 -0700 (PDT) Dean Gaudet wrote:
> I'm still confused -- SRC="images/whatever.jpg" is a relative URL
> which the *client* translates to a full URL before passing to the
> server. So apache never sees a relative request.
>
> If you have Alias /images/ /var/www/images/ in your srm.conf then
> every single vhost inherits that setting. Perhaps you don't want it
> in your global server.
That's what we've had to do to work around the "problem". But, as I say,
using identical definitions in srm.conf, this only appeared during the
switch from 1.1.3 to 1.2.
To put it another way, srm.conf and httpd.conf remained essentially static
(apart from required changes) during the upgrade. The variable was the
apache binary.
> Are you saying that if someone accesses http://vhost/images/foobar.gif
> it does the wrong thing?
Exactly. *IF* the URL is specified by *relative* path "images/foobar.gif"
within the site's HTML. If the HTML is coded using full http:// URLs
instead of relative paths, all works fine.
Take these two hypothetical URLs
http://www.host.com/~vuser/images/foobar.gif
http://www.vhost.com/images/foobar.gif
They are one and the same -- vhost DocumentRoot is ~vuser/public_html
(full path spelled out, of course).
Now, we have a relative reference in index.html <SRC="images/foobar.gif">.
Browsing the first, all works fine. Browsing the second results in an
attempt to load
http://www.host.com/images/foobar.gif
Note "host" versus "vhost". With vhost DocumentRoot set to
~vuser/public_html, the client should be doing a translation of
images/foobar.gif
--> vhost/images/foobar.gif
--> host/~vuser/public_html/images/foobar.gif
instead we're seeing
host/images/foobar.gif
Am I making it any clearer? I'm not sure I can come up with any more ways
to describe this :-) -- let me know if I need to set up another server to
demonstrate the behavior in action.
William Sommers
San Francisco Online
Televolve, Inc.
sommers@sfo.com