2014-01-08 3 views
0

Windows 컴퓨터에 로컬 PHP 서버가 있고 기본 루트 내에서 127.0.0.1/localhost 내에 여러 개의 폴더/사이트를 갖고 싶습니다. 전화를 걸 수 있습니다.로컬 컴퓨터에 여러 호스트/도메인 이름 제공

나는 문제없이 로컬 호스트/테아 또는 로컬 호스트/사이트 B를 할 수있는 현재

하지만, 내가 뭘하고 싶은이 위치 테스트 도메인 이름을 지정하는 것입니다 :

EG을 : 로컬 호스트/사이트 A는 sitea.dev 될 것이다 , localhost/siteB는 siteb.dev가 될 것입니다.

호스트 파일과 vhost 설정 파일에 하나를 설정해도 문제가 없습니다.

mysites.dev는 루트/로컬 호스트에 연결됩니다. 그래서

위 mysites.dev/siteA 및 mysites.dev/siteB

로 사용할 수 있습니다하지만 자신의 가상 호스트 이름은 위에서 언급 한 바와 같이 각 사이트를주고 싶습니다. 그래서 나는 다음과 같은 추가 :

호스트 파일

127.0.0.1  mysites.dev 
127.0.0.1  sitea.dev 

가상 호스트 파일

<VirtualHost *:80> 
    DocumentRoot "C:\Websites\" 
    ServerName mysites.dev 
</VirtualHost> 

<VirtualHost *:80> 
    DocumentRoot "C:\Websites\sitea\" 
    ServerName sitea.dev 
</VirtualHost> 

말썽 내가 그들 모두를 호출 중 하나 적어도 단순히 첫 번째를로드하는 것, 또는이다 그것처럼 보이지만, 호스트 정보가 127.0.0.1로 보내지고 vhost 파일이 무시되는 것처럼 보입니다.

그래서 나는 개별 지역 사이트를 연결하기 위해 무엇을 놓치고 있습니까?

해결 : 내 대답을 볼 때 올바른 것으로 표시됩니다. 며칠 만에 할 수 있습니다.

답변

0

귀하의 가상 호스트는 포트 80에서 수신되는 모든 것을 잡으려고합니다 : <VirtualHost *:80>.

당신은 특정 폴더를 가리 키도록 가상 호스트 이름을 지정해야합니다

<VirtualHost sitea.dev:80> 
    DocumentRoot "C:\Websites\sitea\" 
    ServerName sitea.dev 
</VirtualHost> 

<VirtualHost siteb.dev:80> 
    DocumentRoot "C:\Websites\siteb\" 
    ServerName sitea.dev 
</VirtualHost> 

당신은 아파치 문서에서 이에 대한 자세한 정보를 찾을 수 있습니다 http://httpd.apache.org/docs/2.2/vhosts/examples.html

+0

감사하지만 문제는 이것이 괜찮뿐만 아니라 내가 다음 변경 때, 내 가상 호스트 파일에 –

+0

를 호출하지 하였다 내가 작동하게되면 네트워크로 연결된 컴퓨터가 로컬 컴퓨터와 네트워크 컴퓨터에서 모두 작동하도록 로 남겨 두었습니다. 다시 한 번 감사드립니다 –

+0

'sitea.dev'와 다른 호스트를 네트워크 컴퓨터의 hosts 파일에 추가하지 않으면 작동하지 않을 것입니다. 그들은 여전히 ​​[ipadress]/[sitea]를 통해 액세스 할 수 있습니다. – mcryan

0

그럼 내가 바보가 된 기분 않습니다. 긴 모양 후에 나는 config 파일에서 그것이 주 httpd.conf에있는 것처럼 vhost 파일을 호출하지 않고 있다는 것을 알아 차렸다.

은 그래서 httpd.conf 파일 내에서 다음의 주석을 해제했다 : 이것에 대한

# Virtual hosts 
    Include conf/extra/httpd-vhosts.conf 
관련 문제