En résumé
Oui, c'est la bonne méthode.
Mais pour être plus sémantique : Oui, c'est la façon correcte d'autoriser .htaccess
pour remplacer toutes les directives de l'option /var/www
répertoire.
Comme vous l'avez découvert, AllowOverride
n'est autorisé que dans le cadre du Directory
section.
En utilisant votre exemple :
<Directory "/var/www">
AllowOverride All
</Directory>
Cela indique à Apache que toutes les configurations peuvent être remplacées dans le fichier /var/www
et tous ses sous-répertoires (de manière récursive).
Pour un meilleur exemple, considérez que vous avez la configuration suivante dans votre hôte virtuel :
<Directory "/var/www">
AllowOverride All
</Directory>
<Directory "/var/www/uploads">
AllowOverride Limit
</Directory>
Et la structure de répertoire suivante :
var/
www/
.htaccess
uploads/
.htaccess
a/
.htaccess
b/
.htaccess
code/
.htaccess
c/
.htaccess
d/
.htaccess
Ce que j'ai fait ici, c'est créer un .htaccess
dans chaque sous-répertoire du /var/www
répertoire.
Normalement, ça ne devrait pas être comme ça, mais c'est juste pour le bien de l'exemple.
Si l'on compare la structure des répertoires avec la configuration, cela signifie que toutes les .htaccess
dans les fichiers /var/www
et ses sous-répertoires, à l'exception du dossier /var/www/uploads
et ses sous-répertoires, peuvent remplacer toutes sortes de directives.
Mais /var/www/uploads
et ses sous-répertoires ne peuvent utiliser que l'option .htaccess
pour remplacer l'option Allow
, Deny
y Order
des directives.
Remarque : Depuis apache 2.4 (qui est disponible par défaut dans la version 13.10+), la fonction Allow
, Deny
y Order
ont été remplacées par une seule directive nommée Require
.