Apache2 Dynamic vHost with multiple ServerAlias
I am trying to set up a dynamic vHost but ran into some problems. This will prevent me from installing multiple ServerAlias.
<VirtualHost *:80>
ServerAlias *.com
ServerAdmin michael.ian.curry@gmail.com
VirtualDocumentRoot /var/www/%1/production/html
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
LogLevel warn
</VirtualHost>
The above vHost only works for ".com", I need it to work for "www..com" and "* .com" I assumed installing ServerAlias would fix it, but it doesn't work.
ServerAlias *.com www.*.com
If you have any understanding please answer
- MichaelCurry
== EDIT 1 ==
Example: redcrusher.com and www.redcrusher.com
== EDIT 2 ==
The code below doesn't work.
ServerAlias www.*.com *.com
source to share
It revealed!
'www. *. com 'must run before' * .com '. This is because ServerAlias sets up a dynamic domain and must exist before the "less" alias exists.
Example: 'www. *. com ',' dev. *. com ',' asdf. *. com 'THEN' * .com '
vHost File [production.conf]:
<VirtualHost *:80>
ServerAlias www.*.com
VirtualDocumentRoot /var/www/%2/production/html
ServerAdmin michael.ian.curry@gmail.com
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
LogLevel warn
</VirtualHost>
<VirtualHost *:80>
ServerAlias *.com
VirtualDocumentRoot /var/www/%1/production/html
ServerAdmin michael.ian.curry@gmail.com
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
LogLevel warn
</VirtualHost>
I hope this helps someone else having this problem!
- MichaelCurry
source to share
you have to use this like
ServerAlias www.domain.com domain.com
ServerAlias *.domain.com
if you want to use the way you have to follow.
ServerAlias www.*.com *.com
problem has
VirtualDocumentRoot /var/www/%1/production/html
You are using a dynamic VirtualDocumentRoot which means
for redcrusher.com VirtualDocumentRoot
/var/www/redcrusher/production/html
and for www.redcrusher.com VirtualDocumentRoot
/var/www/www.redcrusher/production/html
I think with split ServerAlias in Three parts it solves
ServerAlias www.*.com
VirtualDocumentRoot /var/www/%1/production/html/
ServerAlias *.*.com
VirtualDocumentRoot /var/www/%2/production/html/%1
ServerAlias *.com
VirtualDocumentRoot /var/www/%1/production/html
I think should work
VirtualDocumentRoot:
redcrusher.com
/var/www/redcrusher/production/html
www.redcrusher.com
/var/www/redcrusher/production/html/
sub.redcrusher.com
/var/www/redcrusher/production/html/sub
source to share