내 브라우저에서 테스트할 수 있도록 "사이트" 폴더에 있는 모든 웹사이트를 구성했습니다. 예를 들어 웹 주소를 입력할 때http://test.dev, "It Works"라는 메시지가 표시됩니다.
왜?
답변1
이것이 기본 Apache HTTP 인덱스 페이지입니다. 이는 httpd를 올바르게 설치하고 활성화했음을 나타냅니다.
답변2
해당 페이지는 에 있습니다 /Library/Webserver/Documents
.
다음의 두 번째 줄의 주석 처리를 제거해야 합니다.
# User home directories
Include /private/etc/apache2/extra/httpd-userdir.conf
그러면 해당 파일에는 다음의 파일이 포함됩니다./private/etc/apache2/users
귀하의 사용자 이름이 포함된 이름이 하나 있어야 합니다.
그런 다음 으로 이동할 수 있습니다 localhost/~username
. 이는 방문과 동일합니다.Users/username/Sites
답변3
이는 아마도 웹 서버 구성에 IP 주소(IP 기반 가상 호스팅을 사용하는 경우) 또는 도달하려는 이름(예: test.dev, 사용하는 경우)에 대한 특정 항목이 없다는 의미일 수 있습니다. 이름 기반 가상 호스팅).
예를 들어, Apache에서는 <VirtualHost>
IP 및/또는 이름과 일치하는 요청에 대한 문서 루트를 지정하는 섹션을 만들 수 있습니다(역시 IP 또는 이름 기반 가상을 수행하는지 여부에 따라 다름). 일치하는 항목이 없으면 설정된 DocumentRoot 및 기타 설정으로 대체됩니다.밖의항목 의 <VirtualHost>
.
따라서 이 문제를 해결하려면 이러한 요청을 수신하려는 사이트에 대한 가상 호스트 구성에 현재 일치하지 않는 이 이름/IP를 포함하도록 만들거나(바람직함) 사이트 중 하나를 기본 구성에 존재하도록 만들 수 있습니다. <VirtualHost>
(또는 사용 중인 웹 서버에 따라 유사) 섹션 에 있습니다 .
답변4
(mac)을 사용 apachectl -S
하면 로드된 구성을 나열하고 로드된 모든 가상 호스트를 볼 수 있습니다. 아마도 프로젝트 .conf
파일이 해당 목록에 없을 수도 있습니다.