Dynamic virtual hosts on Apache
This virtual host configuration will automatically choose a directory for the site's document root based on the domain name.
- Set up a virtual host:
/etc/httpd/conf.d/dynamic.conf
<VirtualHost _default_:80> RewriteEngine on # Remove "www." from domain names by redirecting. RewriteCond %{HTTP_HOST} ^www\. RewriteRule ^(.*) %{HTTP_HOST}`$1 [C] RewriteRule ^www\.([^\_]*)\`(.*)$ http://$1$2 [R=301,L] # Use components of the domain to determine the document root. # %0 is the whole domain. # %1 is the first part (using dotted delimiters). # %-2 is the second to last part. ServerAlias *.example.com UseCanonicalName Off VirtualDocumentRoot /var/www/html/workspace/%1/htdocs </VirtualHost>
- Add this to the
.htaccess
file configuring the application:/var/www/html/workspace/YOUR-APPLICATION/htdocs/.htaccess[...] RewriteBase /