2016-12-26 10 views
0

Apache에서 가상 호스트의 DocumentRoot를 수정하려고합니다. 가상 호스트의 DocumentRoot 설정이 무시되고 대신 전체 DocumentRoot가 사용됩니다.Apache가 DocumentRoot를 무시합니다.

제 경우에는/Applications/AMPPS/www/public을 루트 폴더로 사용하는 대신 Apache는/Applications/AMPPS/www를 사용합니다.

httpd.conf 파일의 관련 부분이 아래에 나와 있습니다. 누구에게 문제가 있습니까?

# DocumentRoot: The directory out of which you will serve your 
# documents. By default, all requests are taken from this directory, but 
# symbolic links and aliases may be used to point to other locations. 
# 
DocumentRoot "/Applications/AMPPS/www" 

...snip... 

<VirtualHost 127.0.0.1:80> 
<Directory "/Applications/AMPPS/www"> 
Options FollowSymLinks Indexes 
AllowOverride All 
Order deny,allow 
allow from All 
</Directory> 
ServerName localhost 
ServerAlias localhost 127.0.0.1 
ScriptAlias /cgi-bin/ "/Applications/AMPPS/www/cgi-bin/" 
DocumentRoot "/Applications/AMPPS/www/public" 
ErrorLog "/Applications/AMPPS/apache/logs/error_log" 
CustomLog "/Applications/AMPPS/apache/logs/access.log" combined 
</VirtualHost> 

답변

0

IT는 VirtualHost는 주 서버 설정에서 DocumentRoot가 활성화되어있는 이유를 설명 할 수있는, 사용하지 않을 것으로 보인다. VirtualHost 블록 전에 NameVirtualHost을 추가해야 할 수 있습니다. 이처럼 :

NameVirtualHost 127.0.0.1 
<VirtualHost 127.0.0.1:80> 
... 

또한 당신이 작업을 수행하지 않는 거기에이 두 entires로 완전히 ServerAlias 지시어를 제거합니다. ServerName으로 사용하고 IP 주소를 허용하지 않기 때문에 localhost를 중복 할 필요가 없습니다. IP 주소는 할당 된 첫 번째 일치 VirtualHost에 제공됩니다.

심판 : NameVirtualHost Directive

하여 NameVirtualHost 그래서 나는 당신이 이전 릴리스에있는 있으리라 믿고있어 아파치 2.4에 떨어졌다. 2.4에서 그것없이 작동합니다.