Revisão técnica: 08/09/2026. No Apache 2.4, regras de autorização podem impedir acesso HTTP a arquivos ou diretórios. Primeiro determine o recurso que precisa de proteção: uma regra aplicada na raiz pode atingir todo o site.
Escolha o alcance da regra
Para bloquear um arquivo específico no diretório em que o .htaccess atua, um exemplo é:
<Files "config-interno.ini">
Require all denied
</Files>
Troque o nome pelo arquivo que realmente precisa ser bloqueado. A diretiva depende dos módulos e das permissões de configuração do servidor. Arquivos sensíveis devem, quando possível, ficar fora da raiz pública; o bloqueio HTTP complementa essa organização.
Já Require all denied sem um bloco que limite o alvo pode negar o acesso ao diretório inteiro. Não o coloque na raiz imaginando que protegerá somente o próprio .htaccess. Confira também os diretórios descendentes e outras regras aplicáveis.
Entenda as restrições por endereço
O Apache 2.4 usa Require ip para autorizar endereços. Antes de escolher essa abordagem, confirme qual IP o servidor reconhece quando há proxy ou CDN e como a equipe acessará o recurso se o endereço mudar. Não copie regras antigas de Order, Allow e Deny sem revisar a migração.
Um endereço privado da rede de um visitante não identifica sua conexão pública. Prefixos escolhidos manualmente também não são uma classificação confiável de países. Para conteúdo por usuário, use autenticação e autorização.
Teste o bloqueio e os acessos necessários
Guarde a versão anterior, aplique primeiro em teste e solicite diretamente o arquivo protegido. Confirme a negação esperada e teste uma página e uma imagem que devem continuar públicas. Se surgir erro 500, consulte o log e restaure a configuração anterior até identificar a diretiva incompatível.
Reescrever uma URL ou esconder a extensão PHP não corrige vulnerabilidades da aplicação. Fontes: controle de acesso e autorização no Apache.