Apache- und virtuelle Hosts-Probleme unter OS X

Apache- und virtuelle Hosts-Probleme unter OS X

Ich habe meinen iMac vor Kurzem formatiert und installiert. Ich verwende 10.6.5. Vor dieser Formatierung hatte ich den standardmäßigen Apache-Webserver mit mehreren virtuellen Hosts am Laufen und alles lief wunderbar. Nach der Formatierung habe ich alles wieder eingerichtet und jetzt verhält sich Apache merkwürdig. Hier ist eine Beschreibung dessen, was bei mir los ist.

Mein Standard-Stammverzeichnis für den Apache-Webserver ist eine externe Festplatte. In meiner httpd.conf steht Folgendes:

DocumentRoot "/Storage/Sites"

Dann ein paar Zeilen darunter:

<Directory />
    Options FollowSymLinks
    AllowOverride All
    Order deny,allow
    Allow from all
</Directory>

Und dann darunter:

<Directory "/Storage/Sites">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    Allow from All
</Directory>

Am Ende dieser Datei habe ich die Include-Conf-Datei des Benutzerverzeichnisses auskommentiert:

Include /private/etc/apache2/extra/httpd-userdir.conf

Und entfernen Sie die Kommentarzeichen aus der Konfigurationsdatei des virtuellen Hosts:

Include /private/etc/apache2/extra/httpd-vhosts.conf

Weiter geht es mit dem folgenden Eintrag in meiner Vhosts-Datei:

<VirtualHost *:80>
   DocumentRoot "/Storage/Sites/mysite"
   ServerName mysite.dev
</VirtualHost>

Ich habe auch einen Host-Eintrag in meiner Datei /etc/hosts, der mysite.dev auf 127.0.0.1 verweist (ich habe auch versucht, die IP meines Routers 192.168.1.2 zu verwenden).

Das Problem, auf das ich stoße, ist, dass der Server trotz der PHP-Dateien in /Storage/Sites/mysite immer noch auf /Storage/Sites schaut. Ich weiß das, weil im DocumentRoot eine PHP-Datei mit phpinfo() enthalten ist (während die Datei index.php in mysite einen anderen Code hat).

Ich habe versucht, andere virtuelle Hosts einzurichten, aber sie machen immer noch dasselbe. Außerdem befindet sich „NameVirtualHost *:80“ in meiner vhosts-Datei. Ich habe hier in einem anderen Thread eine Lösung gesehen. Scheint keinen Unterschied zu machen.

Irgendwelche Ideen dazu? Sagen Sie mir Bescheid, wenn das nicht genug Informationen sind.

Antwort1

Fügen Sie in Ihrer Hauptdatei httpd.conf nur Direktivenoptionen ein, die für alle VirtualHosts gleich sind. Machen Sie alle von Apache bedienten Hosts virtuell.

Entfernen Sie DocumentRoot und Blöcke aus Ihrer Hauptdatei httpd.conf. Belassen Sie sie nur in der Datei httpd-vhosts.conf.

verwandte Informationen