Although there is a module—mod_vhost_alias—that is explicitly for the
purpose of supporting large numbers of virtual hosts, it is very
limiting and requires that every virtual host be configured exactly
the same way. If you want to support a large number of vhosts, configured
dynamically, but at the same time, you want to avoid mod_vhost_alias, use directives from mod_rewrite to map
to a directory based on the hostname:
RewriteEngine on
RewriteCond "%{HTTP_HOST}" "^(www\.)?([^.]+)\.com"
RewriteRule "^(.*)$" "/home/%2$1"mod_vhost_alias is useful,
but it is best for settings where each virtual host is identical in
every way but the hostname and document tree. Using mod_vhost_alias precludes the use of other
URL-mapping modules, such as mod_userdir, mod_rewrite, and mod_alias, and it can be very restrictive.
Using mod_rewrite is less
efficient, but it is more flexible.
For example, when using mod_vhost_alias, you must do all of your
hosts with mod_vhost_alias; with
this alternate approach, you can do some of your hosts using the
rewrite rules and others using conventional virtual host configuration
techniques.
The directives in the Solution map requests for
www.something.com (or without the
www) to the directory /home/something.
The new edition of the Apache Cookbook offers you updated solutions to the problems you're likely to encounter with Apache. Thoroughly updated for Apache versions 2.0 and 2.2, this book includes more than 200 recipes ranging from simple tasks, such installing the server on Red Hat Linux or Windows, to more complex tasks, such as setting up name-based virtual hosts or securing and managing your proxy server.




Help






