Eu tenho uma configuração de estrutura de site da seguinte maneira, que estou tentando organizar níveis de acesso para cada um, mas sem especificar <Directory>
, pois isso exige que a estrutura seja corrigida (também, se eu copiar isso para um site diferente) subpasta, exigiria a edição de todos os .htaccess para o novo local).
Eu tentei implementar o novo esquema de diretivas (ish) do Apache2.4:
/etc/apache2/conf-enabled/security.conf
... more stuff above ...
<Directory />
AllowOverride All
Require all denied
</Directory>
... more stuff below ...
E adicionando Require all allowed
a .htaccess
na raiz do aplicativo, ao adicionar Require all denied
a .htaccess
nas pastas às quais desejo negar acesso.
O problema é Require all denied
parece não fazer absolutamente nada. Eu vi referência a usar o mod_auth_compat
ou qualquer biblioteca, mas parece ser apenas necessário para versões mais antigas do apache (v2.3).
Estou usando o Apache 2.4 no Debian 8.
Anteriormente, eu forneceria:
Order Allow, Deny
Deny from all
Em seguida, elimine o seguinte em pastas que requerem acesso:
Allow from all
.. e onde eu preciso permitir somente acesso ao tipo de arquivo específico,
<FilesMatch "\.(jpg|jpeg|gif|png|bmp|svg|css|less|sass|scss|js|ttf|woff|woff2|eot)$">
Allow from all
</FilesMatch>
De acordo com a documentação do apache, resultados inesperados podem surgir da mistura de declarações antigas e novas e, como tal, estou usando apenas novas declarações. Não existem arquivos .htaccess
ou arquivos *.conf
carregados usando o antigo formato de declaração para permissões - então isso deve funcionar?
Dada a estrutura de pastas que eu coloquei, e o que é carregado em '/etc/apache2/conf-enabled/security.conf' (já que é onde a declaração "root" é para AllowOverride [ela não parece função ao especificar AllowOverride All
dentro do mesmo formato de declaração nos sites conf (000-default.conf)], alguém poderia dar alguma orientação ou preferencialmente uma solução funcional para esse problema.
Tags .htaccess apache-2.4