You are viewing a plain text version of this content. The canonical link for it is here.
Posted to wiki-changes@httpd.apache.org by Apache Wiki <wi...@apache.org> on 2007/12/13 14:08:38 UTC

[Httpd Wiki] Update of "VirtualHostAlias" by jink

Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Httpd Wiki" for change notification.

The following page has been changed by jink:
http://wiki.apache.org/httpd/VirtualHostAlias

New page:
If you want to host several development projects at once, but are tired of creating hostnames and directories for every single project, use a setup like this.  It uses mod_vhost_alias and requires a wildcard DNS entry, like *.dev.example.com for example.  For completeness, create dev.example.com too.


Redirect dev.example.com to www.dev.example.com.  That will put it in the catch-all vhostalias virtualhost:

{{{
<VirtualHost *:80>
  ServerName dev.example.com
  Redirect permanent / http://www.dev.example.com/
</VirtualHost>
}}}

A virtualhost needs a valid server name, so we put that here.  Include the wildcard here, too.

{{{
<VirtualHost *:80>
  ServerName www.dev.example.com
  ServerAlias *.dev.example.com

  # %-4+ gives you the 4th part of the hostname from the end, and everything preceding that.
  # www.dev.example.com becomes www
  # sub.domain.dev.example.com becomes sub.domain
  VirtualDocumentRoot /www/dev.example.com/%-4+/htdocs/
  CustomLog /var/log/apache2/dev.example.com-access.log combined
  ErrorLog /var/log/apache2/dev.example.com-error.log

  # like above, %-4+ gives you the 4th part of the hostname from the end, plus everything before that.
  # this will setup a /cgi-bin/ ScriptAlias for every vhostalias.
  VirtualScriptAlias /www/dev.example.com/%-4+/cgi-bin/

  # specify options and overrides here.
  <Directory /www/dev.example.com/>
    Options None
    AllowOverride None
    Order deny,allow
  </Directory>
</VirtualHost>
}}}

Now, all you need to do is create /www/dev.example.com/www/htdocs/ and /www/dev.example.com/www/cgi-bin/ to get started.
>>From then on, whenever you need a new hostname, just create the appropriate directories.