Boz
Boz

Reputation: 1188

VirtualDocumentRoot Directive shows incorrect root directory

I am setting up virtual hosts on two domains. Various sub domains have their own docroot.

<VirtualHost *:80>
        ServerName *.domain1.com
        VirtualDocumentRoot /var/www/domain1/%1/
</VirtualHost>
<VirtualHost *:80>
        ServerName *.domain2.com
        VirtualDocumentRoot /var/www/domain2/%1/
</VirtualHost>

Accessing

should show

but instead it looks for

What is going wrong?

Upvotes: 0

Views: 480

Answers (2)

Jonathan
Jonathan

Reputation: 1241

I think you need the ServerAlias option that udo mentioned to prevent one VirtualHost from catching everything. Try this:

<VirtualHost *:80>
        ServerName domain1.com
        ServerAlias *.domain1.com
        VirtualDocumentRoot /var/www/domain1/%1/
</VirtualHost>
<VirtualHost *:80>
        ServerName domain2.com
        ServerAlias *.domain2.com
        VirtualDocumentRoot /var/www/domain2/%1/
</VirtualHost>

Upvotes: 1

udo
udo

Reputation: 5210

try this:

<VirtualHost *:80>
        ServerName domain1.com
        ServerAlias *.domain1.com
        DocumentRoot /var/www/domain1/
</VirtualHost>
<VirtualHost *:80>
        ServerName domain2.com
        ServerAlias *.domain2.com
        DocumentRoot /var/www/domain2/
</VirtualHost>

Upvotes: 1

Related Questions