Apache findet keinen Ordner im Dateisystem; Anhängen von "\ xe2 \ x80 \ x9d" an das Ende der Dateipfade


10

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!

Antworten:


16
DocumentRoot "/Library/WebServer/Documents/dev3”
                                               ^----- no proper quotation mark :9

Wenn Sie PHP installiert haben:

<?php
echo "\xe2\x80\x9d";

// or

echo utf8_decode("\xe2\x80\x9d");

// should give you ”

2
makes a "Not Bad" face and face palms hand through headNun 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?
Onkel Nerdicus

@UncleNerdicus hängt von Ihrem Texteditor ab! Ich benutze wirklich nur NetBeans, Notepad ++ und vi für alles und hatte nie solche Probleme
Daniel W.

1
@ DavidHoude Ich muss noch ein paar Minuten warten (dumme Timer!), Ich habe es nicht vergessen!
Onkel Nerdicus

1
@UncleNerdicus Wenn Sie jemals ^Man Ihren Zeilenenden oder ähnlichem begegnen , liegt dies an falschen Zeilenenden ( \r\nZeichen) dos / unix / mac (es gibt Tools: dos2unix usw.), nur für den Fall; D
Daniel W.

2
Sie haben keine Ahnung, wie groß meine Freude war, als ich diese Lösung las. Trat dieser Community bei, nur um dies zu verbessern.
Roberrrt-s

1

Sie haben die VirtualHostEinstellung verpasst .

NG: DocumentRoot "/Library/WebServer/Documents/dev2"

OKAY: DocumentRoot /Library/WebServer/Documents/dev2


Das hat es für mich behoben. Danke
Bashar Abdullah

0

DocumentRoot "/ Library / WebServer / Documents"

es sollte sein

DocumentRoot / Library / WebServer / Documents

nein "" in DocumentRoot


1
Willkommen bei Server Fault! Auch wenn Ihre Antwort wahrscheinlich richtig ist, ist es im Wesentlichen dieselbe Antwort, die wir bereits haben.
Jornane
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.