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