O principal objetivo de AllowOverrideé que o gerenciador dos principais arquivos de configuração do apache (aquele encontrado em / etc / apache2 / principalmente) decida qual parte da configuração pode ser alterada dinamicamente, conforme o caminho, pelos aplicativos.
Se você não é o administrador do servidor, depende do nível AllowOverride permitido por esses administradores. Para que eles possam impedir que você altere algumas configurações importantes de segurança;
Se você é o gerenciador de configuração principal do apache, sempre use AllowOverride Nonee transfira todos os exemplos baseados em google_ que encontrar, com base nos arquivos .htaccess, para Directoryseções nos principais arquivos de configuração. Como um conteúdo .htaccess para um .htaccessarquivo /my/path/to/a/directoryé igual a uma <Directory /my/path/to/a/directory>instrução, exceto que a .htaccessalteração dinâmica na configuração da solicitação por HTTP é algo que torna o servidor da Web mais lento. Sempre prefira uma configuração estática sem .htaccessverificações (e você também evitará ataques de segurança por .htaccessalterações).
A propósito, no seu exemplo você usa <Directory>e isso sempre estará errado, as instruções do Diretório sempre contêm um caminho, como <Directory />ou <Directory C:>ou <Directory /my/path/to/a/directory>. E é claro que isso não pode ser colocado em um .htaccesscomo .htaccessé como uma instrução Directory, mas em um arquivo presente nesse diretório. É claro que você não pode alterar AllowOverrideum, .htaccesspois esta instrução está gerenciando o nível de segurança dos .htaccessarquivos.
<Directory>diretiva requer um argumento de caminho.