La recommandation du projet Apache est:
En général, vous ne devez utiliser les fichiers .htaccess que lorsque vous n'avez pas accès au fichier de configuration du serveur principal. ... une idée fausse commune est que l'authentification des utilisateurs et les directives mod_rewrite doivent aller dans les .htaccess
fichiers.
Veuillez donc à la fois définir AllowOverride None
et toutes vos autres directives dans le httpd.conf principal (et / ou les sous-sections que vous Include
)
Lorsque Apache n'est pas configuré avec AllowOverride None
vous, une pénalité de performance (mineure) se produit déjà, que les .htaccess
fichiers soient utilisés ou non .
En effet, pour chaque demande, Apache devra vérifier la présence d'un .htaccess
fichier potentiel dans chaque (sous-) répertoire menant à la ressource demandée. Par exemple, lorsqu'un fichier est demandé à partir d'un répertoire / www / htdocs / example, apache doit rechercher les fichiers suivants:
/.htaccess
/www/.htaccess
/www/htdocs/.htaccess
/www/htdocs/example/.htaccess
Et donc, pour chaque accès aux fichiers à partir de ce répertoire, il y a 4 accès supplémentaires au système de fichiers, même si aucun de ces fichiers n'est présent. (Si AllowOveride est défini pour /)
L'appel système utilisé pour that ( man 2 stat
) en soi n'est pas si cher et généralement le cache du système de fichiers est utilisé plutôt que d'interroger le disque réel, limitant les besoins réels d'E / S, mais il peut toujours s'additionner, comme le soutient cet article .
Lorsqu'un ou plusieurs .htaccess
fichiers réels sont réellement présents, apache doit toujours le open
lire et le lire (déclenchant une autre opération de lecture IO et généralement également une opération d' écriture IO pour mettre à jour l' atime
attribut du système de fichiers ) et l' analyser avant que la logique qui s'y trouve puisse être appliquée.
Contrairement à lorsque vos directives sont dans le principal httpd.conf
, qui n'a besoin qu'apache pour les analyser une fois, au démarrage, chaque .htaccess
fichier doit être interprété à nouveau pour chaque demande.
Le coût, en plus des opérations d'E / S, d'analyser les fichiers .htaccess dépend de leur complexité.
Cela nécessitera une analyse comparative minutieuse pour déterminer.