Apache가 파일 시스템에서 폴더를 찾지 못했습니다. 파일 경로 끝에 "\ xe2 \ x80 \ x9d"추가


10

OS X Mavericks를 실행하는 개인 Macintosh의 apache2에서 3 개의 가상 호스트가 실행 중이며 혼란에 빠졌습니다. 내 httpd-vhosts.conf 파일에서 다음과 같이 구성됩니다.

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

참고 : 첫 번째 항목을 사용하면 "localhost"를 입력하고 가상 호스트를 실행하지 않고도 원하는대로로드 할 수 있습니다.

dev1과 dev2는 제대로 작동하지만 "요청한 URL을이 서버에서 찾을 수 없습니다"라는 오류 404가 표시됩니다. 로컬 컴퓨터에 dev3을로드하려고 할 때. 세 개의 Dev 폴더는 모두 이름을 확인한 것과 동일한 권한을 갖습니다. error_log를 확인하면 다음을 발견했습니다.

[2014 년 1 월 24 일 금요일 12:55:07] [오류] [클라이언트 127.0.0.1] 파일이 없습니다 : / Library / WebServer / Documents / dev3 \ xe2 \ x80 \ x9d

Apache가 폴더 경로 끝에 "\ xe2 \ x80 \ x9d"를 추가하는 이유 또는 dev3이로드되지 않는 이유를 아는 사람이 있습니까? (이 무작위로 추가 된 문자가 이유라고 생각합니다) 모든 입력을 환영합니다! 읽어 주셔서 감사합니다!

답변:


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

PHP를 설치 한 경우 :

<?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 head자, 그것은 너무 의미가 있습니다. 이것은 HTML 양식에서도 나에게 일어난다 ... 감사합니다! 나는 이것에 대해 한 시간 동안 머리를 긁었다. 일반 따옴표 @DanFromGermany와 비교하여 해당 문자를 어떻게 입력합니까?
Nerdicus 삼촌

@UncleNerdicus는 텍스트 편집기에 따라 다릅니다! 난 정말에만 모든 것을 넷빈즈, 메모장 ++ 및 VI를 사용하여 결코 그런 문제가 있었다
다니엘 W.

1
@DavidHoude 그것은 몇 분 더 기다리게 만들었습니다 (멍청한 타이머!), 나는 잊지 않았습니다!
Nerdicus 삼촌

1
@UncleNerdicus 만약 당신이 ^M당신의 라인 엔딩이나 유사점 에서 마주 치게된다면 , 그것은 잘못된 라인 엔딩 ( \r\n문자) dos / unix / mac (도구가 있습니다 : dos2unix 등) 때문입니다; D
Daniel W.

2
내가이 해결책을 읽었을 때 나의 기쁨의 배출이 얼마나 큰지 전혀 모른다. 이것을지지하기 위해이 커뮤니티에 가입했습니다.
roberrrt-s 8:12에 17.

1

VirtualHost설정을 놓쳤습니다 .

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

확인: DocumentRoot /Library/WebServer/Documents/dev2


이것은 나를 위해 그것을 고쳤다. 감사합니다
Bashar Abdullah

0

DocumentRoot "/ 라이브러리 / WebServer / Documents"

그것은해야한다

DocumentRoot / 라이브러리 / WebServer / Documents

DocumentRoot에 ""없음


1
서버 결함에 오신 것을 환영합니다! 귀하의 답변이 맞을 수도 있지만 본질적으로 우리가 이미 가지고있는 것과 동일한 답변입니다.
jornane 2014 년
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.