Da ich immer Mini-Test- und Entwicklungsseiten erstelle, schreibe ich ein Mini-Web-basiertes Skript in PHP 5.3, um die Erstellung lokaler Entwicklungsseiten unter Windows mit einem WAMP-Stack zu erleichtern. Es soll einen Vhost-Eintrag und auch einen Eintrag für die Site in der Windows-Hostdatei erstellen, und ich dachte, ich könnte es auch so gut wie möglich nicht-Windows-Versionsspezifisch machen. Dabei fiel mir Folgendes auf:
a) Ich kann mich nicht einmal an eine Zeit erinnern, in der meine Hosts-Datei nicht mehr als nur einen 127.0.0.1-Localhost-Eintrag hatte, und wenn sie das überhaupt schon „out of the box“ hatte.
b) Haben alle Versionen ab Windows 3.1 immer eine Hostdatei für lokale DNS-Abfragen verwendet und befindet sich diese immer unter :\WINDOWS\system32\drivers\etc\hosts?
Ich weiß, dass es ein bisschen faul klingt, mir das manuelle Vornehmen einiger einfacher Änderungen in der Apache-Konfiguration und der Hostdatei zu ersparen, aber ich habe vor, noch ein paar zusätzliche Dinge hinzuzufügen (Erstellen einer MySQL/SQLite/MSSQL/Postgre-Vorlagendatenbank, Möglichkeit zum Erstellen einer Zend-Framework-Vorlage usw., sodass es nicht nur um die VHost- und Hostdateieinträge geht! Außerdem werde ich ein paralleles Setup-Skript erstellen, um hoffentlich auch die Bereitstellung auf meinem Unix-VPS zu vereinfachen, aber das sollte etwas einfacher sein).
Antwort1
Werden (wurden) alle Windows-Versionen mit einer Host-Datei ausgeliefert und verfügen alle über einen Localhost-Eintrag?
Nein. Ab Windows 7 wurde der Localhost-Eintrag entfernt. Localhost wird jetzt im DNS-Resolver selbst aufgelöst. Die Datei selbst ist vorhanden, aber standardmäßig besteht sie nur aus einer Reihe von Kommentaren.
Das heißt; Windows 7verhältals ob es einen Localhost-Eintrag in der HOSTS-Datei gäbe. Localhost verweist tatsächlich auf 127.0.0.1 und ::1, nur mit anderen Mitteln.
Haben alle Versionen ab Windows 3.1 immer eine Hostdatei für lokale DNS-Abfragen verwendet und befindet sie sich immer unter :\WINDOWS\system32\drivers\etc\hosts?
Dies war schon immer %WINDIR%\system32\drivers\etc\hosts
für NT-basierte Windows der Fall. Einige Windows-Versionen, z. B. 2000, verwenden \WINNT statt \Windows. Und wie ich oben bereits sagte, verwendet Windows 7 die HOSTS-Datei überhaupt nicht, um localhost aufzulösen.
Für Nicht-NT-Windows (denken Sie an 95/98/ME) war es %Windir%\HOSTS
.