The FreeBSD Diary |
(TM) | Providing practical examples since 1998If you buy from Amazon USA, please support us by using this link. |
Virtual web sites and and older browsers
18 January 2000
|
||||
If you are using virtual websites, you
should be aware that this feature is HTTP 1.1 specific and will not work with older
browsers. This article discusses an option which you can use to access to your
virtual websites for users with non-HTTP 1.1 browsers. The following resources will probably help you to understand this issue. I didn't find them much help in solving this issue, but they did provide useful insight.
|
||||
Details of name-based virtual hosts
|
||||
Name based virtual hosts use a feature of the HTTP 1.1 protocol which
involves sending the host name from the client to the server. The server uses this
name to determine which virtual website to display. This host name must appear in
httpd.conf as a ServerName entry in one of the virtual host entries. The
default web site will be supplied if no match is found. HTTP 1.0 browsers do not send the host name. In this case, the default web site will be displayed. |
||||
What do HTTP 1.0 browsers see?
|
||||
To test what older browsers will see, enter your web server's IP address
into your browser. That should show you. See also Virtual websites - what non-HTTP/1.1 compatible browsers will see for more detail. |
||||
A solution
|
||||
My solution was to create a new virtual host and put it in front of all
other virtual hosts. Here's the entry:<VirtualHost 10.0.0.1> ServerAdmin webmaster@yourdomain.org DocumentRoot /www/default ServerName default.yourdomain.org ErrorLog /www/logs/default-error.log CustomLog /www/logs/default-access_log common </VirtualHost> The next step is to create symbolic links from within /www/default to your various virtual websites. See also Creating a symbolic link. I recommend creating a single page for your default website. See http://default.unixathome.org/ for what I did. Remember to add a DNS entry for default.yourdomain.org. |
||||
A quick and dirty solution
|
||||
Another way you can do this is this:<VirtualHost 10.0.0.1> ServerAdmin webmaster@yourdomain.org DocumentRoot /www/ ServerName default.yourdomain.org ErrorLog /www/logs/default-error.log CustomLog /www/logs/default-access_log common </VirtualHost> This assumes all of your websites are located in /www. If this is the case, then older browsers will see a directory listing of all the websites. This will work, but it's not pretty. |
||||