
당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>
(검증되지 않은)