Apache 옵션 - 하위 디렉토리에 대한 색인

Apache 옵션 - 하위 디렉토리에 대한 색인

index.html을 업로드하지 않은 경우 사람들이 상위 디렉토리에 있는 파일 목록을 보지 못하도록 하려면 어떻게 해야 합니까?index.* 파일이 없을 경우 파일 목록을 비활성화하는 방법을 알 수 있습니다.

루트 디렉터리에 대한 파일 목록을 허용하고 다른 하위 디렉터리에는 허용하지 않으려면 어떻게 해야 합니까?

미리 감사드립니다.

답변1

질문에 태그를 지정했으므로 Apache 2.4의 .htaccess루트 파일에서 다음과 같은 작업을 수행할 수 있습니다 ..htaccess

# Default - Directory listings disabled (mod_autoindex)
Options -Indexes

# Override - Allow directory listings for the root only
<If "%{REQUEST_URI} == '/'">
    Options +Indexes
</If>

답변2

일반적으로 하위 디렉터리는 Apache의 상위 디렉터리에 적용하는 것과 동일한 설정을 상속합니다. 그리고 내가 아는 한, 이를 변경할 수 없으며 지시문의 범위를 단일 디렉터리 수준으로 제한하는 방법도 없습니다.

이는 다음을 수행해야 함을 의미합니다.

  • 상위 디렉토리에서 원하는 옵션/지시문을 설정하십시오.
  • 모든 (현재 및 새) 하위 디렉터리에 대해 해당 옵션/지시문을 변경/재정의/부정합니다.

모든 하위 디렉터리에 대해 개별적으로 수행하는 것보다 다음을 사용하여 수행하는 것이 가장 쉽습니다.DirectoryMatch지령.

기본 httpd.conf(또는 포함) 세트에서

<Directory "/path/to/example.com/">
  # enable directory listings
  Options +Indexes
</Directory>


<DirectoryMatch "/path/to/example.com/.*/">
  # Disable directory listings for all sub directories of /path/to/example.com/
  Options -Indexes
</Directory>

(검증되지 않은)

관련 정보