Here is how I do subdomains on my apache2 server...
NameVirtualHost *:80
# Many other hosts...
<VirtualHost servers.international-anarchy.com>
ServerName servers.international-anarchy.com
DocumentRoot "/http/international-anarchy.com/servers/"
<Directory "/http/international-anarchy.com/servers/">
Options +Indexes FollowSymLinks
AllowOverride None
Allow from all
Order allow,deny
</Directory>
</VirtualHost>
<VirtualHost status.international-anarchy.com>
ServerName status.international-anarchy.com
DocumentRoot "/http/international-anarchy.com/status/"
<Directory "/http/international-anarchy.com/status/">
Options +Indexes FollowSymLinks
AllowOverride All
Allow from all
Order allow,deny
</Directory>
</VirtualHost>
That is how I get apache2 to render the subdomains for each host correctly, and I place all of these settings in a virtual hosts file that is included directly from the main apache config.