Como evitar a repetição de instruções de controle de acesso Permitir/Negar em várias diretivas de diretório no Apache2 VirtualHosts?

Como evitar a repetição de instruções de controle de acesso Permitir/Negar em várias diretivas de diretório no Apache2 VirtualHosts?

No Apache2, tenho um VirtualHost com várias <Directory>diretivas/seções contendo várias instruções de controle de acesso

ou seja

<Directory /foo>
    Order Deny,Allow
    Deny from all
    Allow from ...
    Allow from ...
    ...
</Directory>
...

Existe uma maneira de especificar o controle de acesso em um nível superior (acima <Directory>)? Ou devo usar macros?

Desde já, obrigado!

Responder1

Se entendi sua pergunta, você está procurando uma maneira de aplicar um conjunto de restrições de permissão/negação a um conjunto de diretórios que podem não compartilhar um pai comum.

Você pode colocar todas as suas diretivas de permissão/negação em um arquivo separado (chame-o, digamos, de /etc/httpd/conf.d/accesslist, ou o que fizer sentido em sua distribuição) e, em seguida, usar o Includediretório para incluir essas regras quando apropriado:

<Directory /some/directory>
  Include /etc/httpd/conf.d/accesslist
</Directory>

<Directory /another/directory>
  Include /etc/httpd/conf.d/accesslist
</Directory>

Mas se todos os seus diretórios compartilham uma configuração comum, você pode usar algo como mod_macrocriar um modelo reutilizável com substituição de variável.

informação relacionada