
PorComo posso evitar que as pessoas vejam uma lista de arquivos no diretório pai se eu não carreguei o index.html?Posso ver como desativar a listagem de arquivos se não houver arquivo index.*.
Como posso permitir a listagem de arquivos para o diretório raiz, mas não para qualquer outro subdiretório?
Desde já, obrigado.
Responder1
Como você marcou a pergunta .htaccess
, você poderia fazer algo como o seguinte no .htaccess
arquivo raiz do Apache 2.4:
# Default - Directory listings disabled (mod_autoindex)
Options -Indexes
# Override - Allow directory listings for the root only
<If "%{REQUEST_URI} == '/'">
Options +Indexes
</If>
Responder2
Normalmente, os subdiretórios herdarão as mesmas configurações que você aplica ao diretório pai no Apache. E, até onde eu sei, você não pode mudar isso e não existe uma maneira de limitar o escopo das diretivas a apenas um único nível de diretório.
Isso significa que você precisa:
- defina a opção/diretiva desejada no diretório pai
- alterar/substituir/negar essa opção/diretiva para todos os subdiretórios (atuais e novos).
Em vez de fazer isso para cada subdiretório individualmente, é mais fácil fazer isso com oDirectoryMatch
diretiva.
Em seu conjunto principal httpd.conf (ou um include)
<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>
(não testado)