1/ Le CNAME est utile pour les adresses exterieurs, plus proprement dans ton dns je ferais personnellement
soussite1 IN A IP_A_METTRE
soussite2 IN A IP_A_METTRE
2/ Pour etre encore plus propre dans ta structuration, tu devrais heberger chaque site dans un rep différent, géré par un virtualhost différent.
Après rien ne t'empeche dans
www.siteprincipal.com de faire des ALIAS dans le virtualhost pour pointer vers site1; site2, etc...
La déclaration serait alors
NameVirtualHost IP_DU_SERVEUR
<VirtualHost IP_DU_SERVEUR>
ServerAdmin EMAIL_ADMIN
DocumentRoot /home/site/sd1/www
User x
Group y
ServerName soussite1.site.ext
CustomLog logs/soussite1_access_log combined
ScriptAlias /cgi-bin/ /home/site/sd1/cgi-bin/
</VirtualHost>
NameVirtualHost IP_DU_SERVEUR
<VirtualHost IP_DU_SERVEUR>
ServerAdmin EMAIL_ADMIN
DocumentRoot /home/site/sd2/www
User z
Group y
ServerName soussite2.site.ext
CustomLog logs/soussite2_access_log combined
ScriptAlias /cgi-bin/ /home/site/sd2/cgi-bin/
</VirtualHost>
NameVirtualHost IP_DU_SERVEUR
<VirtualHost IP_DU_SERVEUR>
ServerAdmin EMAIL_ADMIN
DocumentRoot /home/site/www
User z
Group y
ServerName
www.site.ext
CustomLog logs/site_access_log combined
ScriptAlias /cgi-bin/ /home/site/cgi-bin/
Alias /site1/ "/home/site/sd1/www"
Alias /site2/ "/home/site/sd2/www"
</VirtualHost>
Ainsi tu as une structure + clair
avec
/home/site/www (le principal)
/home/site/cgi-bin (si utile)
/home/site/sd* (les sous domaines)
/home/site/sd1/www (sous site 1)
/home/site/sd2/www (sous site 2)
3/ Bizarre ton probleme ISO, normalement ca se fait tout seul, il faut le faire a la mano que pour quelques cas rare...
A tu le module mod_mime sur apache ?