하위 폴더 ( http : // ip / app ) 에서 IP로 여러 응용 프로그램을 호스팅 합니다. 또한 도메인을 호스트하고 싶습니다. 도메인이 문서 루트에 제대로로드되도록 가상 호스트를 설정할 수 있었지만 나머지 응용 프로그램은 작동을 멈추고 도메인의 동일한 가상 호스트 문서 루트를 가리 킵니다. .
다른 모든 요청이 동일하게 작동하도록 기존 설정을 유지하려면 어떻게해야합니까?
답변
서버의 IP가 VirtualHost
구성한 새 컨텐츠와 별도로 컨텐츠를 제공하기를 원하는 것처럼 들립니다 .
Apache 서버는 달리 구성하지 않는 한 IP에 액세스 할 때 기본적으로 DocumentRoot
외부에 지정 VirtualHost
됩니다. VirtualHost
IP 또는 _default_
VirtualHost를 사용 하여 지정하면 작동합니다.
추가 지원이 필요한 경우 Apache 구성 파일을 포함한 추가 정보를 제공하십시오.
답변
이전에 VirtualHost를 정의하지 않은 경우 서버에 대한 요청은 httpd.conf / apache2.conf의 표준 구성을 통해 필터링됩니다.
이는 호스트가 Listen
회선에 지정된 내용에 바인딩되고 DocumentRoot
Apache 구성 파일에 지정된 표준 에서 제공됨을 의미합니다 (기본적으로 Redhat 기반 시스템의 경우 / var / www / html).
추가 VirtualHost
및 NameVirtualHost
지시문 을 시작하면 이러한 규칙을 따르지 ServerName
않고 지정되지 않은 요청이 지정된 첫 번째VirtualHost
스탠자 로 필터링됩니다 .
httpd -S
( apache2 -S
debuntu)로 Apache 구성을 덤프하면 다음을 볼 수 있습니다 .
[root@server]$ httpd -S
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:80 is a NameVirtualHost
default server somesite.com (/etc/httpd/conf/httpd.conf:1050)
port 80 namevhost somesite.com (/etc/httpd/conf/httpd.conf:1050)
port 80 namevhost othersite.org (/etc/httpd/conf/httpd.conf:1074)
Syntax OK
기본 구성과 일치하는 VirtualHost를 정의해야합니다. 즉, 기본 구성 DocumentRoot
을 무엇이든지 DocumentRoot
설정하고 기본 지시문을 다시 구성하여 덮어 쓰지 않도록해야합니다. 당신은 필요 는 AS이 가상 호스트를 배치 할 첫번째 아파치 설정 한.