Une des solutions le splus élégantes consisterait à avoir dans ton httpd.conf une ligne avec:
Include /etc/apache2/vhosts.d/*.conf
et dans ce répertoire vhosts, un fichier par site, avec le nom du site en nom de fichier. C'ets la solution utilisée entre autres par opensuse, très efficace et très pratique.
Si tu préfères tout avoir dans un seul fichier, une solution correcte serait d'avoir pour cahque site, un encadrement avec
## BEGIN www.unsite.com
Collection d edirectives
## END www.unsite.com
Dans ce cas, tu charges ton fichier en ligne à ligne (ou dans un tableau, tu explores et tu élimines tout du ## BEGIN au ## END correspondant...
