Ich habe drei virtuelle Hosts, die in Apache2 auf meinem persönlichen Macintosh mit OS X Mavericks ausgeführt werden, und bin auf Verwirrung gestoßen. Sie werden in meiner Datei httpd-vhosts.conf wie folgt konfiguriert:
<VirtualHost *:80>
DocumentRoot "/Library/WebServer/Documents"
ServerName localhost
ServerAlias localhost
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/Library/WebServer/Documents/dev1"
ServerName dev1.local
ServerAlias www.dev1.local
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/Library/WebServer/Documents/dev2"
ServerName dev2.local
ServerAlias www.dev2.local
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/Library/WebServer/Documents/dev3”
ServerName dev3.local
ServerAlias www.dev3.local
</VirtualHost>
Hinweis: Mit dem ersten Eintrag kann ich "localhost" eingeben und es so laden, wie Sie es erwarten würden, ohne dass virtuelle Hosts ausgeführt werden.
dev1 und dev2 funktionieren einwandfrei, aber ich erhalte den Fehler 404 mit der Meldung "Die angeforderte URL / wurde auf diesem Server nicht gefunden." wenn ich versuche, dev3 auf den lokalen Computer zu laden. Alle drei Dev-Ordner haben die gleichen Berechtigungen, für die ich die Namen überprüft habe. Als ich das error_log überprüfte, fand ich Folgendes:
[Fri Jan 24 12:55:07 2014] [Fehler] [Client 127.0.0.1] Datei existiert nicht: / Library / WebServer / Documents / dev3 \ xe2 \ x80 \ x9d
Weiß jemand, warum Apache ein "\ xe2 \ x80 \ x9d" an das Ende des Ordnerpfads anfügt oder warum dev3 nicht geladen wird? (Ich vermute, diese zufällig angehängten Zeichen sind der Grund) Jede Eingabe ist willkommen! Danke fürs Lesen!
quelle
makes a "Not Bad" face and face palms hand through head
Nun sehen Sie, das macht so viel Sinn. Das passiert mir auch mit HTML-Formularen ... DANKE! Ich habe mir eine Stunde lang am Kopf gekratzt. Wie wird dieses Zeichen gegenüber dem regulären Anführungszeichen @DanFromGermany abgetippt?^M
an Ihren Zeilenenden oder ähnlichem begegnen , liegt dies an falschen Zeilenenden (\r\n
Zeichen) dos / unix / mac (es gibt Tools: dos2unix usw.), nur für den Fall; DSie haben die
VirtualHost
Einstellung verpasst .NG:
DocumentRoot "/Library/WebServer/Documents/dev2"
OKAY:
DocumentRoot /Library/WebServer/Documents/dev2
quelle
DocumentRoot "/ Library / WebServer / Documents"
es sollte sein
DocumentRoot / Library / WebServer / Documents
nein "" in DocumentRoot
quelle