
Existe uma diretiva para definir explicitamente listagens de diretóriossem um arquivo de índicepara 403 Proibido? O comportamento padrão retorna 404 porquemod_dirnão consigo encontrar o arquivo de índice.
eu não tenhomod_autoindexcarregados e Options
definidos como apenas FollowSymLinks
. Eu tentei -Indexes
, mas ainda retornou um 404.
<IfModule dir_module>
DirectoryIndex index.php index.html index.htm
DirectorySlash On
</IfModule>
<Directory /var/www>
Options FollowSymLinks
AllowOverride None
Require all granted
</Directory>
Eu não deveria me importar, mas estou usando o Apache 2.4.
Responder1
Respondendo à minha própria pergunta depois de muitas tentativas e erros. Esta resposta deve se aplicar ao Apache >= 2.0.
Em resumo, parece que a Indexes
opção pela Options
directiva exigemod_autoindex. Você pode parar de ler agora, a menos que queira mais informações sobre o comportamento padrão do Apache.
Mais informações
A chave é se ou nãomod_autoindexestá carregado. Se não estiver carregado, a configuração Options -Indexes
não terá efeito e retornará 404, o que faz sentido porque a DirectoryIndex
diretiva mod_dir não consegue encontrar seu arquivo de índice. Se estiver carregado, a configuração Options -Indexes
retornará 403.
Isto é um pouco explicado noDocumentos de opções do ApachesobÍndices, o que é um pouco confuso porque Options
faz parte do mod_core.
Índices
Se uma URL que mapeia para um diretório for solicitada e não houver DirectoryIndex (por exemplo, index.html) nesse diretório, então mod_autoindex retornará uma listagem formatada do diretório.
... e explicado nomod_autoindexpágina:
A geração automática de índices é habilitada usando Opções + Índices. Veja a diretiva Opções para mais detalhes.
Meus testes indicam que ativar/desativar arquivos .htaccess AllowOverride
é irrelevante.