Let's say I have domain.com and sub.domain.com.
Domain.com's root should be /var/www/domain_com/ and sub.domain.com's root should be /var/www/domain_com/sub/.
/etc/apache2/sites-enabled/domain_com:
<VirtualHost sub.domain.com>
ServerName sub.domain.com
DocumentRoot "/var/www/domain_com/sub/"
ErrorLog "/var/log/subdomain-error.log"
CustomLog "/var/log/subdomain-access.log" combined
<Directory "/var/www/domain_net/sub/">
Order allow,deny
Allow from all
AllowOverride All
</Directory>
</VirtualHost>
<VirtualHost domain.com>
ServerName domain.com
DocumentRoot "/var/www/domain_com/"
ErrorLog "/var/log/apache2/domain-error.log"
CustomLog "/var/log/apache2/domain-access.log" combined
<Directory "/var/www/domain_net/">
Order allow,deny
Allow from all
AllowOverride All
</Directory>
</VirtualHost>
/etc/apache2/sites-enabled/000-default
<VirtualHost _default_:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel debug
CustomLog /var/log/apache2/access.log combined
</VirtualHost>
Currently, I get this when I do to sub.domain.com/img.png:
[Sat Apr 09 01:14:41 2011] [error] [client xxx.xxx.xxx.xxx] File does not exist: /var/www/domain_com/img.png, referer: http://sub.domain.com/img10.png
What am I doing wrong? Why doesn't sub.domain.com/img.png serve from /var/www/domain_com/sub/ ?