최근에 가상호스트를 알아보던 중 아래와 같이 가상호스트 2개를 구성해봤습니다
그 중 하나에는 ServerName이 127.0.0.1로 설정되어 있습니다. 그런 다음 C 드라이브의 호스트 파일에
그러면 질문이 옵니다.
브라우저에 www.abc.com을 직접 입력하면 E:/wamp/crm 프로젝트에 접속하게 됩니다. 왜일까요? www.abc.com은 호스트의 127.0.0.1에 해당하지 않습니까? E:/wamp/wamp/www에서 액세스하면 안 되나요? 그런 다음 브라우저에 127.0.0.1을 직접 입력하면 E:/wamp/wamp/www? 프로젝트에 액세스합니다. 나는 여기서 이해하지 못한다. . . . 하나님께 나를 구원해 달라고 간구해 보세요. . . . . .
공식 문서는 여기에 있습니다: 가상 호스트 매칭에 대한 심층 토론
당신은 "이름 기반 가상 호스트"에 속해 있습니다. 다음 단락을 읽어보세요:
간단하게 번역해 보겠습니다. 가상 호스트 IP와 포트가 일치하면(여기서는 *:80) Apache는 가상 호스트 구성 파일의 가상 호스트 순서에 따라 이를 순차적으로 일치시킵니다.
SSL 연결인 경우 TLS 핸드셰이크 정보의 SNI를 기반으로 호스트 이름을 찾습니다. SNI가 지원되지 않으면 IP와 포트(여기서는 여전히 *:80을 나타냄)가 일치하는 첫 번째 가상 호스트를 일치시키세요.
HTTP 헤더에 호스트 정보가 있는 경우 일치하는 첫 번째 가상 호스트와 일치합니다.
ServerName
或者ServerAlias
. 때로는 호스트에 포트 정보가 포함되어 있지만 Apache는 이 포트를 읽지 않습니다.지정된 IP 주소를 가진 구성 파일의 첫 번째 가상 호스트는 가장 높은 우선순위를 가지며 알 수 없는 서버 이름에 대한 요청이나 Host: 헤더 필드가 없는 요청(예: HTTP/1.0 요청)을 포착합니다.
일치하는 항목이 없으면 첫 번째 IP 포트와 일치하는 가상 호스트에 전달합니다(*:80 참조)
첫 번째로 방문한 abc.com이 CRM인가요? 아니요, 127.0.0.1인가요(주소창에 127.0.0.1을 직접 입력한 경우에만 해당)? 아니요, 그런 다음 첫 번째 crm의 구성인 기본값을 사용합니다.
개인적으로는 serverName이 쓸모없다고 느껴서 우선순위 적응 원칙에 따르면 포트 80이 바로 첫 번째 규칙입니다. 정말 두 사이트를 연결하고 싶다면 포트번호로 구분하시면 됩니다~
문서를 읽어보셔도 됩니다. 중국어 문서 추천 번역자: Jin Buguo.
도메인 이름은 IP를 확인하는 데 사용되므로 둘 다 127.0.0.1
그리고 두 포트도 80이므로 첫 번째 포트에만 액세스할 수 있습니다
다음 포트를 8080으로 변경하고 포트 8080을 사용하여 두 번째 포트에 액세스하세요