Mam trzy wirtualne hosty uruchomione w apache2 na moim osobistym komputerze Macintosh z systemem OS X Mavericks i wpadłem w zamieszanie. Są one skonfigurowane w moim pliku httpd-vhosts.conf w następujący sposób:
<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>
Uwaga: pierwszy wpis pozwala mi wpisać „localhost” i załadować go tak, jak można się tego spodziewać bez uruchomionych wirtualnych hostów.
dev1 i dev2 działają dobrze, ale pojawia się błąd 404 z informacją: „Żądany adres URL / nie został znaleziony na tym serwerze”. kiedy próbuję załadować dev3 na maszynę lokalną. Wszystkie trzy foldery Dev mają te same uprawnienia, które zweryfikowałem. Gdy sprawdziłem dziennik błędów, znalazłem to:
[Pt 24 stycznia 12:55:07 2014] [błąd] [klient 127.0.0.1] Plik nie istnieje: / Library / WebServer / Documents / dev3 \ xe2 \ x80 \ x9d
Czy ktoś wie, dlaczego Apache dołącza „\ xe2 \ x80 \ x9d” na końcu ścieżki do folderu lub dlaczego dev3 nie ładuje się? (Podejrzewam, że te losowo dołączone postacie są powodem) Wszelkie dane wejściowe są mile widziane! Dziękuje za przeczytanie!
źródło
makes a "Not Bad" face and face palms hand through head
Widzicie, to ma tyle sensu. To samo dzieje się z formularzami HTML ... DZIĘKUJĘ! Drapałem się po tym od godziny. Jak ten znak jest wpisywany w porównaniu do zwykłego cudzysłowu @DanFromGermany?^M
na swoich zakończeń linii lub podobna, to z powodu niewłaściwej linii kończącym (\r\n
znaków) DOS / Unix / Mac (istnieją narzędzia: dos2unix etc), na wszelki wypadek; DPrzegapiłeś
VirtualHost
ustawienie.NG:
DocumentRoot "/Library/WebServer/Documents/dev2"
OK:
DocumentRoot /Library/WebServer/Documents/dev2
źródło
DocumentRoot "/ Library / WebServer / Documents"
powinno być
DocumentRoot / Library / WebServer / Documents
nie „” w DocumentRoot
źródło