<Location>과 <Directory> Apache 지시문의 차이점


29

Zend Server를 설치했으며 httpd.conf 파일에 다음과 같은 내용이 추가되었습니다.

<Location /ZendServer>
 Order Allow,Deny
 Allow from 127.0.0.1
</Location>

Alias /ZendServer "C:\Program Files\Zend\ZendServer\GUI\html"

<Directory "C:\Program Files\Zend\ZendServer\GUI\html">
 AllowOverride All
</Directory>

그러나 LocationDirectory 의 차이점을 이해하지 못하는 것 같습니다 . 나는 다음과 같은 것으로 바뀌었고 나에게 더 의미가 있으며 여전히 작동합니다.

<Location /ZendServer>
 AllowOverride All
 Order Allow,Deny
 Allow from 127.0.0.1
</Location>

Alias /ZendServer "C:\Program Files\Zend\ZendServer\GUI\html"

변경 사항을 유지할 수 있습니까? 아니면 원래대로 되돌려 놓아야합니까?

답변:


41

Directory지시문은 파일 시스템 객체 (예 : / var / www / mypage, C : \ www \ mypage)에 Location대해서만 작동 하는 반면 지시문은 URL (사이트 도메인 이름 뒤의 부분 (예 : www.mypage.com/mylocation))에 대해서만 작동합니다.

사용법은 간단 Location합니다. URL별로 액세스 권한을 미세 조정 Directory해야하는 경우에 사용 하고 파일 시스템의 디렉토리 (및 해당 하위 디렉토리)에 대한 액세스 권한을 제어해야하는 경우에 사용 합니다.


아직도 혼란스러워 ... 젠드가 왜 둘 다 사용 했습니까? 변경 사항을 유지할 수 있습니까, 아니면 문제가 있습니까?
Ricardo Amaral

1
아니요, 구성은 원래 구성과 동일하지 않습니다. Directory 지시문에서 AllowOverride를 제거 했으므로 C : \ Program Files \ Zend \ ZendServer \ GUI \ html 디렉토리에서 .htaccess 파일을 사용할 수 없습니다. 디렉토리 옵션 설정은 URL 옵션 설정과 다르므로 둘 다 사용했습니다.
ipozgaj

1
디렉토리와 위치 (및 기타)에 대한 아파치 문서의 긴 글 : httpd.apache.org/docs/2.2/sections.html
Dan Pritts

2

AJP 또는 프록시 리디렉션을 사용할 때 위치를 사용할 수 있습니다. 예를 들어, Oracle의 PLSQL APEX 모듈은 다음 URL을 사용합니다. / pls / apex / f? p = 1 : 1

디렉토리를 사용하여이 디렉토리를 제한하려고하면 서버의 실제 디렉토리가 아닌 경유 디렉토리이므로 작동하지 않습니다. 위치가 작동합니다!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.