sí, con virtualhost puedes hacer todo eso, es lo mismo que usan los servers con subdominios, lo único que debes hacer en tu localhost para emularlo es añadir los dominios a tu archivo
hosts en el Sistema operativo (todos tienen uno) apuntando a tu localhost (127.0.0.1), que es como tu DNS local
ejemplo archivo hosts:
Código hosts:
Ver original127.0.0.1 localhost
127.0.0.1 www.sitioemulado.com
127.0.0.1 www.foros.sitioemulado.com
ejemplo del archivo
sites-enabled/000-default de apache:
Código Apache:
Ver original<VirtualHost *:80>
ServerName www.sitioemulado.com
DocumentRoot "/var/www/misitiosymfony/www"
DirectoryIndex app.php
<Directory "/var/www/misitiosymfony/www">
AllowOverride All
#Allow from All
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName www.foros.sitioemulado.com
DocumentRoot "/var/www/foro/www"
DirectoryIndex app.php
<Directory "/var/www/foro/www">
AllowOverride All
#Allow from All
</Directory>
</VirtualHost>
de ésta forma, cuando intentes acceder por el navegador a
www.sitioemulado.com, tu OS redireccionará a 127.0.0.1 como se indica en el archivo de
hosts, cuando le llega a apache la petición, le llega como
www.sitioemulado.com y usa la información de dicho virtualhost, llamando al app.path del DocumentRoot asignado para tal sitio, realmente es algo fantástico para hacer verdaderas prebas locales con el nombre del dominio real
Nota: cuando subas el sitio al dominio real, debes eliminarlo del archivo de host, de lo contrario siempre estarás viendo el de tu local