Apache ne trouve pas de dossier sur le système de fichiers; Ajout de «\ xe2 \ x80 \ x9d» à la fin des chemins de fichiers

10

J'ai trois hôtes virtuels fonctionnant dans apache2 sur mon Macintosh personnel exécutant OS X Mavericks et j'ai rencontré un nœud de confusion. Ils sont configurés dans mon fichier httpd-vhosts.conf comme suit:

<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>

Remarque: La première entrée me permet de taper "localhost" et de le charger comme vous vous y attendez sans que Virtual Hosts ne soit en cours d'exécution.

dev1 et dev2 fonctionnent correctement, mais j'obtiens une erreur 404 disant "L'URL demandée / est introuvable sur ce serveur." lorsque j'essaie de charger dev3 sur la machine locale. Les trois dossiers Dev ont les mêmes autorisations que j'ai vérifié les noms. Quand j'ai vérifié le error_log, j'ai trouvé ceci:

[Fri Jan 24 12:55:07 2014] [erreur] [client 127.0.0.1] Le fichier n'existe pas: / Library / WebServer / Documents / dev3 \ xe2 \ x80 \ x9d

Est-ce que quelqu'un sait pourquoi Apache ajoute un "\ xe2 \ x80 \ x9d" à la fin du chemin du dossier, ou pourquoi dev3 ne se charge pas? (Je soupçonne que ces caractères ajoutés au hasard sont la raison pour laquelle) Toute entrée est la bienvenue! Merci d'avoir lu!

Oncle Nerdicus
la source

Réponses:

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

Si vous avez installé php:

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

// or

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

// should give you ”
Daniel W.
la source
2
makes a "Not Bad" face and face palms hand through headMaintenant, voyez, cela a tellement de sens. Cela m'arrive aussi avec les formulaires HTML ... MERCI! Je me gratte la tête depuis une heure à ce sujet. Comment ce caractère est-il tapé par rapport au guillemet régulier @DanFromGermany?
Oncle Nerdicus
@UncleNerdicus dépend de votre éditeur de texte! Je n'utilise vraiment que NetBeans, notepad ++ et vi pour tout et je n'ai jamais eu de tels problèmes
Daniel W.
1
@DavidHoude Ça me fait encore attendre quelques minutes (minuteries stupides!), Je n'ai pas oublié!
Oncle Nerdicus
1
@UncleNerdicus si vous rencontrez des ^Mfins de ligne ou similaires, c'est à cause d'une mauvaise fin de ligne ( \r\ncaractères) dos / unix / mac (il existe des outils: dos2unix etc.), juste au cas où; D
Daniel W.
2
Vous ne savez pas à quel point ma décharge de joie était énorme lorsque j'ai lu cette solution. A rejoint cette communauté juste pour voter.
roberrrt-s
1

Vous avez raté le VirtualHostréglage.

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

D'ACCORD: DocumentRoot /Library/WebServer/Documents/dev2

user283690
la source
Cela m'a arrangé. Merci
Bashar Abdullah
0

DocumentRoot "/ Library / WebServer / Documents"

ça devrait être

DocumentRoot / Library / WebServer / Documents

pas de "" dans DocumentRoot

Ardy Shazril
la source
1
Bienvenue dans Server Fault! Même si votre réponse est probablement correcte, c'est essentiellement la même réponse que nous avons déjà.
jornane