Eu não concordo necessariamente com os motivos deles para que você evite arquivos .htaccess . Suas razões são:
-
O motivo 1 é o desempenho - o Apache precisa varrer diretórios e ler e analisar os arquivos .htaccess em tempo de execução. Isso não é um grande fardo e armazena bem.
-
Razão 2 é segurança. Você está permitindo que os usuários modifiquem a configuração do Apache. Mas eles estão apenas modificando sua configuração local para esse diretório específico, e é possível especificar na configuração global do Apache quais diretivas eles são e não têm permissão para modificar. Além disso, se os usuários têm acesso para editar arquivos .htaccess é um problema de segurança para você, então certamente também permitir que os mesmos usuários usem arquivos .php é um problema de segurança ainda maior.
Ainda há alguns benefícios em usar o .htaccess. De certa forma, é um padrão de fato, tanto que você pode depender muito de ser capaz de usá-lo em hospedagem compartilhada, e muitos pacotes de software de aplicativo da web fazem uso deles em seu próprio software. E isso significa que a configuração local do Apache é mantida com o aplicativo que está configurando, o que pode ser bom para backups, controle de versão, etc.
De qualquer forma, se você quer dar atenção a este conselho, é com você.
Se você quiser passar para a configuração global do Apache, você pode fazer como no seu exemplo.
No entanto, o arquivo global apache2.conf
pode ser um pouco confuso e foi instalado pelo próprio pacote Apache2. Para uma solução mais portátil, coloque suas regras em arquivos de configuração individuais:
-
O Apache2 lê todos os arquivos de configuração em
/etc/apache2/conf.d/
. Isso pode ser bom para qualquer diretiva de configuração geral que você queira adicionar que não esteja relacionada a nenhum host virtual específico. Basta adicionar um novo arquivo lá e colocar a configuração nele. -
O Apache2 armazena arquivos de configuração para cada host virtual em
/etc/apache2/sites-available/
. Esse é um lugar sugerido para colocar em configuração para cada host virtual, em arquivos separados. Em seguida, ative e desative esses hosts virtuais coma2ensite
ea2dissite
.Supondo que essas diretivas de configuração se aplicam especificamente a um determinado host virtual, eu escolheria o último - coloque-o em qualquer lugar onde você colocou a configuração desse host virtual (que eu recomendaria colocar em
/etc/apache2/sites-available/
.