2017-04-10 11 views
0

lampp이 설치된 클라우드 서버가 있습니다. 나는 그렇게 여기에 가상 호스트를 구성한 :가상 호스트가있는 서버 apache에 대한 액세스

<VirtualHost xx.xxx.xx.xxx:80> 
    DocumentRoot "/opt/lampp/htdocs/folder/" 
    ServerName www.xxx.com 
</VirtualHost> 

및 모든 작업을 내가 예상 한대로, 나는 내 '폴더'사이트를 참조 www.xxx.com로 이동합니다.
이제는 같은 서버에있는 다른 사이트에서 작업해야하지만 이미 도메인이 없으므로 (Apache 파일의 구성 파일 설명을 읽음으로써)이 방법으로해야한다고 상상해 보았습니다.

<VirtualHost xx.xxx.xx.xxx:80> 
    DocumentRoot "/opt/lampp/htdocs/folder/" 
    ServerName www.xxx.com 
</VirtualHost> 
<VirtualHost xx.xxx.xx.xxx:80/test> 
    DocumentRoot "/opt/lampp/htdocs/test/" 
</VirtualHost> 

하지만 http://xx.xxx.xx.xxx:80/test을 할 경우 오히려 내가 아직 도달 '테스트'사이트 www.xxx.com에 도달하면서 내가 http://xx.xxx.xx.xxx:80을 할 경우 내가 '폴더'사이트에 도달, 작동하지 않는 이유는 무엇입니까? 어떻게하면이 목표를 달성 할 수 있을까요?

답변

1

처음에 정의 된 가상 호스트 (맨 위)가 기본 호스트로 작동합니다. 그 중 하나는 이 아닌 인 들어오는 요청에 응답하는 데 사용되며 요청의 특정 호스트 이름과 일치합니다.

당신은이 설정을 시도하려는 :

/opt/lampp/htdocs/ 
        _default/ 
          test1/ 
          test2/ 
        example.com/ 
:이 계층 구조를 가지고

# some fallback host for testing and development 
<VirtualHost xx.xxx.xx.xxx:80> 
    DocumentRoot "/opt/lampp/htdocs/_default" 
</VirtualHost> 
# a virtual host with a specific host name 
<VirtualHost xx.xxx.xx.xxx:80> 
    DocumentRoot "/opt/lampp/htdocs/example.com" 
    ServerName example.com 
    ServerAlias www.example.com 
</VirtualHost> 

(여기 xx.xxx.xx.xxx 시스템 공공 및 라우팅 IPv4 주소에 대한 스탠드) 파일 시스템에서

이렇게하면 http://example.com 또는 http://www.example.com에 대한 요청이 폴더 0에 매핑됩니다.의 URL에 과 같은 다른 호스트 이름을 요청하면 다른 응용 프로그램에 대해 원하는만큼 하위 폴더를 만들 수있는 기본 폴더 /opt/lampp/htdocs/_default에 호스트 이름을 요청할 수 있습니다.

다른 접근법은 내부 테스트를 위해 기존 도메인 이름 아래에 다른 호스트 이름을 사용하는 것이므로 test1.example.com 또는 이와 비슷한 이름을 사용하십시오. 그렇게하면 라우팅 위험이있는 원시 IP 주소를 사용할 필요가 없습니다.

+0

완벽하고 정확한 답변, 모든 것이 잘 작동합니다. – mautrok