Was hier beschrieben wird, würde im web "Subdomains" heißen. Jedenfalls hat die Definition von virtuellen hosts lokal denselben Effekt.
Eine Subdomain hat ihr eigenes Root-Verzeichnis, und so kann es zu Problemen kommen, wenn man lokal unter
http://localhost/subdomain/
arbeitet, im web aber unter
http://subdomain.web.site/
denn im 1. Fall würde sich eine Pfadangabe wie "/" auf "localhost/", im 2. Fall aber auf das Verzeichnis "subdomain/" beziehen.
Um auch lokal wie mit einer Subdomain arbeiten zu können, legt man Virtual Hosts an.
In der httpd.conf müssen folgende Änderungen gemacht werden:
Jedes Verzeichnis, das als Subdomain behandelt werden soll, muss einen Eintrag dieser Art bekommen:
<Directory "D:/Entwicklung/Website/Subdomain/"><br> Options FollowSymLinks<br> AllowOverride None<br> Order allow,deny<br> Allow from all<br> </Directory>
Dazu müssen noch folgende Blöcke angelegt werden:
NameVirtualHost localhost:80 nur einmal!
<VirtualHost localhost:80> ja, auch für die "Basis-Seite"
DocumentRoot "D:/Entwicklung/Website/"
ServerName localhost
</VirtualHost>
<VirtualHost subdomain.localhost:80>
DocumentRoot "D:/Entwicklung/Website/Subdomain/"
ServerName subdomain.localhost
</VirtualHost>
Als letztes müssen die Namen noch auf die richtige IP aufgelöst werden.
Das geschieht in Windows über die Datei C:\WINDOWS\System32\Drivers\etc\hosts.
Hier Einträge wie
127.0.0.1 subdomain.localhost
ergänzen.