Apache nie znajduje folderu w systemie plików; Dołączanie „\ xe2 \ x80 \ x9d” na końcu ścieżek plików

10

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!

Wujek Nerdicus
źródło

Odpowiedzi:

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

Jeśli masz zainstalowany php:

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

// or

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

// should give you ”
Daniel W.
źródło
2
makes a "Not Bad" face and face palms hand through headWidzicie, 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?
Wujek Nerdicus
@UncleNerdicus zależy od edytora tekstu! Naprawdę używam tylko NetBeans, notatnika ++ i vi do wszystkiego i nigdy nie miałem takich problemów
Daniel W.
1
@DavidHoude Zmusza mnie do czekania jeszcze kilku minut (głupie timery!), Nie zapomniałem!
Wujek Nerdicus
1
@UncleNerdicus jeśli kiedykolwiek spotkanie ^Mna swoich zakończeń linii lub podobna, to z powodu niewłaściwej linii kończącym ( \r\nznaków) DOS / Unix / Mac (istnieją narzędzia: dos2unix etc), na wszelki wypadek; D
Daniel W.
2
Nie masz pojęcia, jak ogromne było moje rozładowanie radości, kiedy przeczytałem to rozwiązanie. Dołącz do tej społeczności tylko po to, aby głosować.
roberrrt-s
1

Przegapiłeś VirtualHostustawienie.

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

OK: DocumentRoot /Library/WebServer/Documents/dev2

użytkownik 283690
źródło
Naprawiłem to dla mnie. Dzięki
Bashar Abdullah,
0

DocumentRoot "/ Library / WebServer / Documents"

powinno być

DocumentRoot / Library / WebServer / Documents

nie „” w DocumentRoot

Ardy Shazril
źródło
1
Witaj w Server Fault! Mimo że Twoja odpowiedź jest prawdopodobnie prawidłowa, jest to zasadniczo ta sama odpowiedź, którą już mamy.
jornane