Les conteneurs Apache sont des directives de configuration spéciales qui regroupent d'autres directives. Les conteneurs utilisent des balises de style XML, ce qui signifie que le début d'un conteneur est
Ce conteneur applique des directives aux répertoires dans chemin-répertoire. L'exemple applique les directives Deny, Allow et AllowOverride à tous les fichiers et répertoires de la hiérarchie de répertoires /var/www/html/test. L'indentation sert uniquement à la lisibilité.
<Directory /var/www/html/test> Deny from all Allow from 192.168.2. AllowOverride All </Directory>
Le Autoriser le remplacement directive dans ce conteneur spécifie les classes de directives autorisées dans les fichiers .htaccess. Les fichiers .htaccess sont d'autres fichiers de configuration qui contiennent généralement des directives d'authentification utilisateur. Le TOUS argument de AllowOverride signifie que toutes les classes de directives sont autorisées dans les fichiers .htaccess. Il existe des classes de directives qui contrôlent l'autorisation, contrôlent l'accès client, contrôlent l'indexation des répertoires, etc.
Ce conteneur applique des directives si nom-module est chargé. Avec le point d'exclamation facultatif, Apache fait l'inverse; c'est-à-dire qu'il définit les directives dans le conteneur si le nom-module n'est pas chargé. Un exemple est le suivant :
<IfModule mod_userdir.c> UserDir disabled </IfModule>
Ce conteneur limite les directives de contrôle d'accès aux méthodes spécifiées. Une méthode HTTP spécifie les actions à effectuer sur un URI (Uniform Resource Identifier). Des exemples de méthodes sont GET (par défaut), PUT, POST et OPTIONS. L'exemple suivant désactive les téléchargements HTTP (PUT) à partir de systèmes qui ne se trouvent pas dans le domaine example.com :
<Limit PUT> Order deny,allow Deny from all Allow from .example.com </Limit>
Ce conteneur est l'opposé du conteneur Limit en ce sens qu'il limite les directives de contrôle d'accès à
toutes sauf les méthodes spécifiées. L'exemple suivant utilise le conteneur LimitExcept mais illustre également que les conteneurs peuvent être imbriqués. Cet exemple contrôle l'accès aux répertoires UserDir en restreignant ces répertoires en lecture seule :
<Directory /home/*/public_html> AllowOverride FileInfo AuthConfig Limit Options MultiViews Indexes SymLinksIfOwnerMatch \ IncludesNoExec <Limit GET POST OPTIONS> Order allow,deny Allow from all </Limit> <LimitExcept GET POST OPTIONS> Order deny,allow Deny from all </LimitExcept> </Directory>
La directive Options contrôle les fonctionnalités du serveur par répertoire. Certains d'entre eux sont décrits :
- Multivues :Permet d'afficher une page dans différentes langues, par exemple
- Index :Génère une liste de répertoires si la directive DirectoryIndex n'est pas définie
- SymLinksIfOwnerMatch :suit les liens symboliques si le fichier ou le répertoire pointé a le même propriétaire que le lien