Active les fichiers .htaccess
Syntaxe :
AllowOverride All|None|type directive [type directive] ...
Défaut :
AllowOverride All
Ne peut être utilisée que dans les sections <Directory> définies sans expressions rationnelles.
Syntaxe :
<Directory chemin répertoire> ... </Directory>
Les balises <Directory> et </Directory> permettent de regrouper un ensemble de directives qui ne s'appliquent qu'au répertoire précisé, à ses sous-répertoires, et aux fichiers situés dans ces sous-répertoires.
Toute directive autorisée dans un contexte de répertoire peut être utilisée.
Exemple :
<Directory /usr/local/httpd/htdocs> Options Indexes FollowSymLinks </Directory>
!!
<Directory ~ "^/www/[0-9]{3}">
pourra correspondre à tout répertoire situé dans /www/ et dont le nom se compose de trois chiffres.!!
Notez que pour Apache, la politique d'accès par défaut dans les sections <Directory /> est Allow from All. Ceci signifie qu'Apache va servir tout fichier correspondant à une URL. Il est recommandé de modifier cette situation à l'aide d'un bloc du style
<Directory /> Order Deny,Allow Deny from All </Directory>
puis d'affiner la configuration pour les répertoires que vous voulez rendre accessibles.
Par exemple, avec :
DocumentRoot /usr/web
un accès à http://www.my.host.com/index.html se réfère à /usr/web/index.html.
Inclut d'autres fichiers de configuration dans un des fichiers de configuration du serveur
Syntaxe
Include chemin fichier|chemin répertoire
On peut utiliser des jokers dans le nom du fichier ou la partie répertoire pour inclure plusieurs fichiers en une seule fois.
Eviter de pointer vers un répertoire. Utiliser plutôt la syntaxe avec caractères génériques vue ci-dessous pour inclure des fichiers dont le nom correspond à un modèle particulier, comme *.conf par exemple.
Le chemin fichier spécifié peut être soit absolu, soit relatif au répertoire défini par la directive ServerRoot.
Exemples :
Include /usr/local/apache2/conf/ssl.conf Include /usr/local/apache2/conf/vhosts/*.conf
ou encore, avec des chemins relatifs au répertoire défini par la directive ServerRoot :
Include conf/ssl.conf Include conf/vhosts/*.conf
La directive Options permet de définir les fonctionnalités de serveur disponibles pour un répertoire particulier.
Les options FollowSymLinks et SymLinksIfOwnerMatch ne fonctionnent que dans les sections <Directory> ou les fichiers .htaccess.
On peut ajouter ou retrancher des options à celles déjà existantes en les faisant précéder de + ou -
Par exemple :
<Directory /web/docs> Options Indexes FollowSymLinks </Directory> <Directory /web/docs/spec> Options +Includes -Indexes </Directory>
Dans ce cas,, les options FollowSymLinks et Includes seront prises en compte pour le répertoire /web/docs/spec.
Cette option remplace les anciennes options order et allow!!
Contrôle l'accès au serveur en fonction du nom d'hôte ou de l'adresse IP du client distant.
Adresse électronique que le serveur inclut dans les messages d'erreur envoyés au client
Syntaxe :
ServerAdmin adresse_électronique|URL
Eviter d'utiliser une URL, préférer une adresse mail.
Autres noms d'un serveur utilisables pour atteindre des serveurs virtuels à base de nom
Syntaxe :
ServerAlias nom serveur [nom serveur] ...
La directive ServerAlias peut contenir des caractères génériques, si nécessaire.
<VirtualHost *:80> ServerName serveur.domaine.com ServerAlias serveur serveur2.domaine.com serveur2 ServerAlias *.example.com UseCanonicalName Off # ... </VirtualHost>
Nom d'hôte et port que le serveur utilise pour s'authentifier lui-même
Syntaxe :
ServerName [protocole://]nom de domaine entièrement qualifié[:port]
Racine du répertoire d'installation du serveur
Syntaxe :
ServerRoot chemin de répertoire
Contient des directives qui ne s'appliquent qu'à un nom d'hôte spécifique ou à une adresse IP
Syntaxe :
<VirtualHost adresse_IP[:port] [adresse_IP[:port]] ...> ... </VirtualHost>
Exemple
<VirtualHost 10.1.2.3:80> ServerAdmin webmaster@host.example.com DocumentRoot /www/docs/host.example.com ServerName host.example.com ErrorLog logs/host.example.com-error_log TransferLog logs/host.example.com-access_log </VirtualHost>
Les adresses IPv6 doivent être entourées de crochets car dans le cas contraire, un éventuel port optionnel ne pourrait pas être déterminé. Voici un exemple de serveur virtuel avec adresse IPv6 :
<VirtualHost [2001:db8::a00:20ff:fea7:ccea]:80> ServerAdmin webmaster@host.example.com DocumentRoot /www/docs/host.example.com ServerName host.example.com ErrorLog logs/host.example.com-error_log TransferLog logs/host.example.com-access_log </VirtualHost>
Tout bloc <VirtualHost> doit comporter une directive ServerName. Dans le cas contraire, le serveur virtuel héritera de la valeur de la directive ServerName issue de la configuration du serveur principal.
Contributeurs principaux : Jamaique.
Basé sur Documentation du Serveur HTTP Apache Version 2.5 par The Apache Software Foundation.