No meu servidor eu gostaria de bloquear todos os arquivos, exceto algumas exceções razoáveis. Eu tenho seguindo a diretiva Filesmatch que está funcionando:
<FilesMatch "(?<!\.txt|\.htm|\.html|\.css|\.php|\.js|\.jpg|\.png|\.gif|\.ico|\.svg|\.eot|\.ttf|\.woff|\.otf)$">
Order Allow,Deny
Deny from All
</FilesMatch>
Observe que o FilesMatch usa uma expressão regular lookbehind negativa: consulte link . Ele bloqueará todos os arquivos, exceto aqueles que tiverem uma extensão, conforme declarado.
Isso também resulta em um 403 Forbidden para o documento padrão do diretório (index.html). Isso não é o que eu quero. Alguém pode ajudar? Como funciona a pesquisa de documentos padrão? Existe outra solução para bloquear todos, exceto alguns? Eu olhei no log de erros do Apache2 com a depuração do LogLevel, mas a única mensagem é "cliente negado pela configuração do servidor" ao pedir um documento padrão. (Explicitamente pedindo o index.html funciona)
Editar: há uma solução para isso usando a diretiva Location. Consulte Usando o FilesMatch para aumentar a segurança Então, meu problema está resolvido, mas eu ainda gostaria de saber por que ele não funciona com o FilesMatch.
Tags linux apache-2.2