O Apache não encontra pasta no Sistema de Arquivos; Anexando "\ xe2 \ x80 \ x9d" ao final dos caminhos de arquivo

10

Eu tenho três Hosts Virtuais em execução no apache2 no meu Macintosh pessoal executando o OS X Mavericks e tive um monte de confusão. Eles estão configurados no meu arquivo httpd-vhosts.conf da seguinte maneira:

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

Nota: A primeira entrada permite-me digitar "localhost" e carregá-la como você esperaria sem os Hosts Virtuais em execução.

dev1 e dev2 funcionam bem, mas recebo um erro 404 dizendo "A URL solicitada / não foi encontrada neste servidor". quando tento carregar o dev3 na máquina local. Todas as três pastas Dev têm as mesmas permissões que verifiquei os nomes. Quando verifiquei o error_log, encontrei o seguinte:

[Fri, 24 de janeiro, 12:55:07 2014] [erro] [cliente 127.0.0.1] O arquivo não existe: / Library / WebServer / Documents / dev3 \ xe2 \ x80 \ x9d

Alguém sabe por que o Apache está anexando um "\ xe2 \ x80 \ x9d" ao final do caminho da pasta ou por que o dev3 não está carregando? (Eu suspeito que esses caracteres adicionados aleatoriamente sejam o motivo). Qualquer entrada bem-vinda! Obrigado pela leitura!

Tio Nerdicus
fonte

Respostas:

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

Se você possui o php instalado:

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

// or

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

// should give you ”
Daniel W.
fonte
2
makes a "Not Bad" face and face palms hand through headAgora veja, isso faz muito sentido. Isso acontece comigo também com formulários HTML ... OBRIGADO! Estou coçando a cabeça há uma hora sobre isso. Como esse caractere é digitado em comparação às aspas regulares @DanFromGermany?
Tio Nerdicus
@UncleNerdicus depende do seu editor de texto! Eu realmente só usar o NetBeans, bloco de notas ++ e vi de tudo e nunca teve tais problemas
Daniel W.
1
@DavidHoude Isso está me fazendo esperar mais alguns minutos (timers estúpidos!), Não esqueci!
Tio Nerdicus
1
@UncleNerdicus, se você já encontrou algum ^Mfinal de linha ou semelhante, é por causa do final incorreto da linha ( \r\nchars) dos / unix / mac (existem ferramentas: dos2unix etc), apenas por precaução; D
Daniel W.
2
Você não tem ideia de quão enorme foi minha descarga de alegria quando li esta solução. Ingressou nesta comunidade apenas para fazer um voto positivo.
roberrrt-s
1

Você perdeu a VirtualHostconfiguração.

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

ESTÁ BEM: DocumentRoot /Library/WebServer/Documents/dev2

user283690
fonte
Isso consertou para mim. Obrigado
Bashar Abdullah
0

DocumentRoot "/ Biblioteca / Servidor da Web / Documentos"

deveria ser

DocumentRoot / Library / WebServer / Documents

no "" no DocumentRoot

Ardy Shazril
fonte
1
Bem-vindo à falha do servidor! Mesmo que sua resposta esteja provavelmente correta, é essencialmente a mesma resposta que já temos.
Viagens 13/03/19