O apache2.conf padrão contém isto:
<Directory /usr/share>
...
<Directory /var/www/>
Por que há uma barra final em uma, mas não na outra diretiva? Que diferença faz?
Pergunta lateral: Se eu não quiser compartilhar nada de/usr/compartilhar, posso simplesmente excluir esta parte ou configurá-la paraExigir todos os negados?
Responder1
Com relação à barra final, como:https://serverfault.com/a/263219afirma, o argumento para umaDirectory
a diretiva deve ser o caminho do diretório. Sem barra é a convenção, mas qualquer uma das sintaxes é válida e tem o mesmo resultado.
Observe que em outros cenários e em combinação com outras diretivas pode haver diferenças, por exemplo, desabilitar oDirectorySlash
diretiva pode resultar em solicitações para http://www.example.com/directory-path
obter resultados diferentes exibidos em comparação com a solicitação dehttp://www.example.com/directory-path/
Se eu não quiser compartilhar nada de /usr/share, posso simplesmente excluir esta parte ou configurá-la para Exigir tudo negado?
As próprias declarações do diretório não tornam público nenhum conteúdo.
(AFAIK Somente as diretivas [Script]Alias
e DocumentRoot
e caminhos de URI de mapeamento semelhantes para o sistema de arquivos.)
Os blocos de diretório aplicam apenas configurações específicas a locais em um sistema de arquivos. Isso significa que você pode deixar blocos de diretório como aquele, /usr/share
mesmo quando não compartilha conteúdo de lá (ainda). Isso não tem nenhum impacto na segurança ou no desempenho.