ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<!DOCTYPE modulesynopsis SYSTEM "/style/modulesynopsis.dtd">
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<?xml-stylesheet type="text/xsl" href="/style/manual.fr.xsl"?>
3410b584d8126761b178068883f2ffc751b9e691lgentis<!-- English Revision : 1674195 -->
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<!-- French translation : Lucien GENTIS -->
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<!-- Reviewed by : Vincent Deffontaines -->
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor Licensed to the Apache Software Foundation (ASF) under one or more
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor contributor license agreements. See the NOTICE file distributed with
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor this work for additional information regarding copyright ownership.
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor The ASF licenses this file to You under the Apache License, Version 2.0
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor (the "License"); you may not use this file except in compliance with
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor the License. You may obtain a copy of the License at
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor Unless required by applicable law or agreed to in writing, software
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor distributed under the License is distributed on an "AS IS" BASIS,
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor See the License for the specific language governing permissions and
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor limitations under the License.
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<description>Fonctionnalités de base du serveur HTTP Apache toujours
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzordisponibles</description>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<description>Permet d'optimiser la configuration d'une socket pour
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentisl'écoute d'un protocole</description>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<contextlist><context>server config</context></contextlist>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>Cette directive permet d'effectuer une optimisation de la socket
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis d'écoute d'un type de protocole en fonction du système
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor d'exploitation. Le but premier est de faire en sorte que le noyau
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis n'envoie pas de socket au processus du serveur jusqu'à ce que
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis des données soient reçues, ou qu'une requête HTTP complète soit mise
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor en tampon. Seuls les <a
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor href="http://www.freebsd.org/cgi/man.cgi?query=accept_filter&
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor sektion=9">Filtres d'acceptation de FreeBSD</a>, le filtre plus
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor primitif <code>TCP_DEFER_ACCEPT</code> sous Linux, et la version
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis optimisée d'AcceptEx() de Windows sont actuellement supportés.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>L'utilisation de l'argument <code>none</code> va désactiver tout
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis filtre d'acceptation pour ce protocole. Ceci s'avère utile pour les
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis protocoles qui nécessitent l'envoi de données par le serveur en
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor premier, comme <code>ftp:</code> ou <code>nntp</code>:</p>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis AcceptFilter nntp none
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis </highlight>
5a884cb4f4b177e207554c26334ef853c5665e79lgentis <p>Les noms de protocoles par défaut sont <code>https</code> pour le
5a884cb4f4b177e207554c26334ef853c5665e79lgentis port 443 et <code>http</code> pour tous les autres ports. Pour
5a884cb4f4b177e207554c26334ef853c5665e79lgentis spécifier un autre protocole à utiliser avec un port en écoute,
5a884cb4f4b177e207554c26334ef853c5665e79lgentis ajoutez l'argument <var>protocol</var> à la directive <directive
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Sous FreeBSD, les valeurs par défaut sont :</p>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentisAcceptFilter http httpready
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentisAcceptFilter https dataready
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis </highlight>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>Le filtre d'acceptation <code>httpready</code> met en tampon des
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis requêtes HTTP entières au niveau du noyau. Quand une requête
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis entière a été reçue, le noyau l'envoie au serveur. Voir la page de
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor manuel de <a
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor href="http://www.freebsd.org/cgi/man.cgi?query=accf_http&
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis sektion=9">accf_http(9)</a> pour plus de détails. Comme les requêtes
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis HTTPS sont chiffrées, celles-ci n'autorisent que le filtre <a
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor href="http://www.freebsd.org/cgi/man.cgi?query=accf_data&
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Sous Linux, les valeurs par défaut sont :</p>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentisAcceptFilter http data
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentisAcceptFilter https data
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis </highlight>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>Le filtre <code>TCP_DEFER_ACCEPT</code> de Linux ne supporte pas
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis la mise en tampon des requêtes http. Toute valeur autre que
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <code>none</code> active le filtre <code>TCP_DEFER_ACCEPT</code>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis pour ce protocole. Pour plus de détails, voir la page de
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor manuel Linux de <a
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor href="http://homepages.cwi.nl/~aeb/linux/man2html/man7/
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Sous Windows, les valeurs par défaut sont :</p>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentisAcceptFilter http data
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentisAcceptFilter https data
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis </highlight>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>Le module MPM pour Windows mpm_winnt utilise la directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor AcceptFilter comme commutateur de l'API AcceptEx(), et ne supporte
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor pas la mise en tampon du protocole http. Deux valeurs utilisent
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis l'API Windows AcceptEx() et vont recycler les sockets réseau entre
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis les connexions. <code>data</code> attend jusqu'à ce que les données
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis aient été transmises comme décrit plus haut, et le tampon de données
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis initiales ainsi que les adresses réseau finales sont tous extraits
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis grâce à une seule invocation d'AcceptEx(). <code>connect</code>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis utilise l'API AcceptEx(), extrait aussi les adresses réseau finales,
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis mais à l'instar de <code>none</code>, la valeur <code>connect</code>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis n'attend pas la transmission des données initiales.</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>Sous Windows, <code>none</code> utilise accept() au lieu
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor d'AcceptEx(), et ne recycle pas les sockets entre les connexions.
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis Ceci s'avère utile pour les interfaces réseau dont le pilote est
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis défectueux, ainsi que pour certains fournisseurs de réseau comme les
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor pilotes vpn, ou les filtres anti-spam, anti-virus ou
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor anti-spyware.</p>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis<seealso><directive module="core">Protocol</directive></seealso>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<description>Les ressources acceptent des informations sous forme d'un
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentisnom de chemin en fin de requête.</description>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<context>virtual host</context><context>directory</context>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Cette directive permet de définir si les requêtes contenant des
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor informations sous forme d'un nom de chemin suivant le nom d'un
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis fichier réel (ou un fichier qui n'existe pas dans un répertoire qui
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis existe) doivent être acceptées ou rejetées. Les scripts peuvent
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis accéder à cette information via la variable d'environnement
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>Supposons par exemple que <code>/test/</code> pointe vers un
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis répertoire qui ne contient que le fichier <code>here.html</code>.
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis Les requêtes pour <code>/test/here.html/more</code> et
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <code>/test/nothere.html/more</code> vont affecter la valeur
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <code>/more</code> à la variable d'environnement
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>L'argument de la directive <directive>AcceptPathInfo</directive>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis possède trois valeurs possibles :</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <dt><code>Off</code></dt><dd>Une requête ne sera acceptée que si
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis elle correspond à un chemin qui existe. Par conséquent, une requête
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis contenant une information de chemin après le nom de fichier réel
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor comme <code>/test/here.html/more</code> dans l'exemple ci-dessus
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor renverra une erreur "404 NOT FOUND".</dd>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <dt><code>On</code></dt><dd>Une requête sera acceptée si la partie
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis principale du chemin correspond à un fichier existant. Dans
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis l'exemple ci-dessus <code>/test/here.html/more</code>, la requête
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis sera acceptée si <code>/test/here.html</code> correspond à un nom de
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor fichier valide.</dd>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <dt><code>Default</code></dt><dd>Le traitement des requêtes est
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis déterminé par le <a
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis href="/handler.html">gestionnaire</a> responsable de la requête.
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis Le gestionnaire de base pour les fichiers normaux rejette par défaut
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis les requêtes avec <code>PATH_INFO</code>. Les gestionnaires qui
0e48414563f4e1b5edb1f95518b25547a499ed79lgentis servent des scripts, comme<a
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis href="mod_isapi.html">isapi-handler</a>, acceptent en général par
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis défaut les requêtes avec <code>PATH_INFO</code>.</dd>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>Le but premier de la directive <code>AcceptPathInfo</code> est de
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor vous permettre de remplacer le choix du gestionnaire d'accepter ou
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis de rejeter <code>PATH_INFO</code>. Ce remplacement est nécessaire
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor par exemple, lorsque vous utilisez un <a
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis href="mod_include.html">INCLUDES</a>, pour générer un contenu basé
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis sur <code>PATH_INFO</code>. Le gestionnaire de base va en général
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis rejeter la requête, et vous pouvez utiliser la configuration
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor suivante pour utiliser un tel script :</p>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis<Files "mypaths.shtml">
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis Options +Includes
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis SetOutputFilter INCLUDES
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis AcceptPathInfo On
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis</Files>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis </highlight>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<directivesynopsis>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<description>Nom du fichier de configuration distribué</description>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<contextlist><context>server config</context><context>virtual
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorhost</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</contextlist>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Au cours du traitement d'une requête, le serveur recherche le
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis premier fichier de configuration existant à partir de la liste
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis de noms dans chaque répertoire composant le chemin du document, à
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis partir du moment où les fichiers de configuration distribués sont <a
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis href="#allowoverride">activés pour ce répertoire</a>. Par exemple
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis <highlight language="config">AccessFileName .acl</highlight>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>avant de renvoyer le document
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <code>/usr/local/web/index.html</code>, le serveur va rechercher les
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <code>/usr/local/.acl</code> et <code>/usr/local/web/.acl</code>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis pour y lire d'éventuelles directives, à moins quelles n'aient été
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis désactivées avec</p>
3410b584d8126761b178068883f2ffc751b9e691lgentis<Directory "/">
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis AllowOverride None
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis</Directory>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis </highlight>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<seealso><directive module="core">AllowOverride</directive></seealso>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<seealso><a href="/configuring.html">Fichiers de configuration</a></seealso>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<seealso><a href="/howto/htaccess.html">Fichiers .htaccess</a></seealso>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<directivesynopsis>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<description>Paramètre jeu de caractères par défaut à ajouter quand le
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentistype de contenu d'une réponse est <code>text/plain</code> ou
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<syntax>AddDefaultCharset On|Off|<var>jeu de caractères</var></syntax>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<context>virtual host</context><context>directory</context>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Cette directive spécifie une valeur par défaut pour le paramètre
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis jeu de caractères du type de média (le nom d'un codage de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis caractères) à ajouter à une réponse, si et seulement si le type de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis contenu de la réponse est soit <code>text/plain</code>, soit
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis tout jeu de caractères spécifié dans le corps de la réponse via un
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis élément <code>META</code>, bien que cet effet dépende en fait
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor souvent de la configuration du client de l'utilisateur. La
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis définition de <code>AddDefaultCharset Off</code> désactive cette
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis fonctionnalité. <code>AddDefaultCharset On</code> ajoute un jeu de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis caractères par défaut de <code>iso-8859-1</code>. Toute autre valeur
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis peut être définie via le paramètre <var>jeu de caractères</var>, qui
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis doit appartenir à la liste des <a
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor href="http://www.iana.org/assignments/character-sets">valeurs de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis jeux de caractères enregistrés par l'IANA</a> à utiliser dans les
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis types de média Internet (types MIME).
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor Par exemple :</p>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis <highlight language="config">AddDefaultCharset utf-8</highlight>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>La directive <directive>AddDefaultCharset</directive> ne doit
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis être utilisée que lorsque toutes les ressources textes auxquelles
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis elle s'applique possèdent le jeu de caractère spécifié, et qu'il est
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis trop contraignant de définir leur jeu de caractères
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis individuellement. Un exemple de ce type est l'ajout du paramètre jeu
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis de caractères aux ressources comportant un contenu généré, comme les
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis scripts CGI hérités qui peuvent être vulnérables à des attaques de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis type cross-site scripting à cause des données utilisateurs incluses
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor dans leur sortie. Notez cependant qu'une meilleur solution consiste
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis à corriger (ou supprimer) ces scripts, car la définition d'un jeu de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis caractères par défaut ne protège pas les utilisateurs qui ont activé
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis la fonctionnalité "Détection automatique de l'encodage des
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis caractères" dans leur navigateur.</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<seealso><directive module="mod_mime">AddCharset</directive></seealso>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<directivesynopsis>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<description>Détermine si les séparateurs de chemin encodés sont
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentisautorisés à transiter dans les URLs tels quels</description>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<contextlist><context>server config</context><context>virtual
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorhost</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</contextlist>
a69701660f992f38458ca3e706e3371d964f0fbelgentis<compatibility>L'option NoDecode est disponible depuis la version
d63adaad22c2f1639677506e340a5a683f63244flgentis2.3.12.</compatibility>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>La directive <directive>AllowEncodedSlashes</directive> permet
d63adaad22c2f1639677506e340a5a683f63244flgentis l'utilisation des URLs contenant des séparateurs de chemin
d63adaad22c2f1639677506e340a5a683f63244flgentis encodés dans la partie chemin
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis (<code>%2F</code> pour <code>/</code> et même <code>%5C</code> pour
d63adaad22c2f1639677506e340a5a683f63244flgentis <code>\</code> sur les systèmes concernés).</p>
d63adaad22c2f1639677506e340a5a683f63244flgentis <p>Avec la valeur par défaut, <code>Off</code>, de telles URLs sont
d63adaad22c2f1639677506e340a5a683f63244flgentis refusées et provoquent le renvoi d'une erreur 404 (Not found).</p>
d63adaad22c2f1639677506e340a5a683f63244flgentis <p>Avec la valeur <code>On</code>, ces URLs sont acceptées, et les
d63adaad22c2f1639677506e340a5a683f63244flgentis slashes encodés sont décodés comme tout autre caractère codé.</p>
d63adaad22c2f1639677506e340a5a683f63244flgentis <p>Avec la valeur <code>NoDecode</code>, ces URLs sont acceptées,
d63adaad22c2f1639677506e340a5a683f63244flgentis mais les slashes codés ne sont pas décodés et laissés dans leur état
d63adaad22c2f1639677506e340a5a683f63244flgentis codé.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Définir <directive>AllowEncodedSlashes</directive> à
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <code>On</code> est surtout utile en association avec
d63adaad22c2f1639677506e340a5a683f63244flgentis <p>Si le codage des slashes dans la partie chemin est nécessaire,
d63adaad22c2f1639677506e340a5a683f63244flgentis l'utilisation de l'option <code>NoDecode</code> est fortement
d63adaad22c2f1639677506e340a5a683f63244flgentis recommandée par mesure de sécurité. Permettre le décodage des
d63adaad22c2f1639677506e340a5a683f63244flgentis slashes pourrait éventuellement induire l'autorisation de chemins
d63adaad22c2f1639677506e340a5a683f63244flgentis non sûrs.</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<seealso><directive module="core">AcceptPathInfo</directive></seealso>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<directivesynopsis>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<description>Types de directives autorisées dans les fichiers
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<syntax>AllowOverride All|None|<var>type directive</var>
5a884cb4f4b177e207554c26334ef853c5665e79lgentis<default>AllowOverride None à partir de la version 2.3.9, AllowOverride
5a884cb4f4b177e207554c26334ef853c5665e79lgentisAll pour les versions antérieures</default>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<contextlist><context>directory</context></contextlist>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>Lorsque le serveur trouve un fichier <code>.htaccess</code> (dont
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis le nom est défini par la directive <directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor module="core">AccessFileName</directive>), il doit savoir lesquelles
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis des directives placées dans ce fichier sont autorisées à modifier la
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis configuration préexistante.</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <Directory></title>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis La directive <directive>AllowOverride</directive> ne peut être
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis utilisée que dans les sections <directive type="section"
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis module="core">Directory</directive> définies sans expressions
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor rationnelles, et non dans les sections <directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor type="section" module="core">Location</directive>, <directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor module="core" type="section">DirectoryMatch</directive> ou
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <directive type="section" module="core">Files</directive>.
c3a2738228cb6ba4a48c425711e728d3410a458elgentis <p>Lorsque cette directive et la directive <directive
c3a2738228cb6ba4a48c425711e728d3410a458elgentis module="core">AllowOverrideList</directive> sont définies à <code>None</code>, les
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor fichiers <a href="#accessfilename">.htaccess</a> sont totalement
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis ignorés. Dans ce cas, le serveur n'essaiera même pas de lire les
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis fichiers <code>.htaccess</code> du système de fichiers.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Lorsque cette directive est définie à <code>All</code>, toute
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor directive valable dans le <a
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor href="directive-dict.html#Context">Contexte</a> .htaccess sera
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis autorisée dans les fichiers <code>.htaccess</code>.</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>L'argument <var>type directive</var> peut contenir les
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor groupements de directives suivants :</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor Permet l'utilisation des directives d'autorisation (<directive
699c9f9d20c0a2acd4617d802e90c447c4c33b00lgentis module="mod_authz_dbm">AuthDBMGroupFile</directive>,
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <directive module="mod_authn_dbm">AuthDBMUserFile</directive>,
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <directive module="mod_authz_groupfile">AuthGroupFile</directive>,
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <directive module="mod_authn_core">AuthName</directive>,
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <directive module="mod_authn_core">AuthType</directive>, <directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor module="mod_authn_file">AuthUserFile</directive>, <directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor module="mod_authz_core">Require</directive>, <em>etc...</em>).</dd>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis Permet l'utilisation des directives qui contrôlent les types de
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor documents (directives <directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor module="mod_negotiation">LanguagePriority</directive>,
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <directive module="core">SetHandler</directive>, <directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor module="core">SetOutputFilter</directive>, et directives du
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis module <module>mod_mime</module> Add* et Remove*), des metadonnées
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor des documents (<directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor module="mod_headers">RequestHeader</directive>, <directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor module="mod_setenvif">SetEnvIf</directive>, <directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor module="mod_setenvif">SetEnvIfNoCase</directive>, <directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor module="mod_setenvif">BrowserMatch</directive>, <directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor module="mod_usertrack">CookieExpires</directive>, <directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor module="mod_usertrack">CookieDomain</directive>, <directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor module="mod_usertrack">CookieStyle</directive>, <directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor module="mod_usertrack">CookieTracking</directive>, <directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor module="mod_usertrack">CookieName</directive>), des directives du
8cd5b0473ff976a505a5a9e864c131874c96088elgentis module <module>mod_rewrite</module> directives (<directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor module="mod_rewrite">RewriteEngine</directive>, <directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor module="mod_rewrite">RewriteOptions</directive>, <directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor module="mod_rewrite">RewriteBase</directive>, <directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor module="mod_rewrite">RewriteCond</directive>, <directive
8cd5b0473ff976a505a5a9e864c131874c96088elgentis module="mod_rewrite">RewriteRule</directive>), des directives du
8cd5b0473ff976a505a5a9e864c131874c96088elgentis module <module>mod_alias</module> directives (<directive
8cd5b0473ff976a505a5a9e864c131874c96088elgentis module="mod_alias">RedirectTemp</directive>, <directive
8cd5b0473ff976a505a5a9e864c131874c96088elgentis module="mod_alias">RedirectPermanent</directive>, <directive
8cd5b0473ff976a505a5a9e864c131874c96088elgentis module="mod_alias">RedirectMatch</directive>), et de la directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <directive module="mod_actions">Action</directive> du module
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis Permet l'utilisation des directives qui contrôlent l'indexation
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis des répertoires (<directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <directive module="mod_autoindex">AddIcon</directive>, <directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor module="mod_autoindex">AddIconByEncoding</directive>,
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <directive module="mod_autoindex">AddIconByType</directive>,
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <directive module="mod_autoindex">DefaultIcon</directive>, <directive
ac64493966b7b75e373c78e99b8e5e86fc954d72lgentis module="mod_dir">DirectoryIndex</directive>, <directive
699c9f9d20c0a2acd4617d802e90c447c4c33b00lgentis href="mod_autoindex.html#indexoptions.fancyindexing"><code>FancyIndexing</code></a>,
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor module="mod_autoindex">HeaderName</directive>, <directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor module="mod_autoindex">IndexIgnore</directive>, <directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor module="mod_autoindex">IndexOptions</directive>, <directive
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis Permet l'utilisation des directives contrôlant l'accès au serveur
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor (<directive
699c9f9d20c0a2acd4617d802e90c447c4c33b00lgentis module="mod_access_compat">Allow</directive>, <directive
699c9f9d20c0a2acd4617d802e90c447c4c33b00lgentis module="mod_access_compat">Deny</directive> et <directive
d8a9d7c2a80635654276f136e7c49b393a05f254lgentis<!-- TODO - Update this for 2.4 syntax -->
4c54a49e921a05bd16341f727b80a0258e6ecadblgentis Permet d'utiliser l'option AllowOverride pour rendre les erreurs
4c54a49e921a05bd16341f727b80a0258e6ecadblgentis de syntaxe non fatales dans les fichiers .htaccess : au lieu de
4c54a49e921a05bd16341f727b80a0258e6ecadblgentis causer une Internal Server Error, les directives non autorisées ou
4c54a49e921a05bd16341f727b80a0258e6ecadblgentis non reconnues seront ignorées et un avertissement enregistré dans
4c54a49e921a05bd16341f727b80a0258e6ecadblgentis le journal :
4c54a49e921a05bd16341f727b80a0258e6ecadblgentis <li><strong>Nonfatal=Override</strong> rend les directives
4c54a49e921a05bd16341f727b80a0258e6ecadblgentis interdite par AllowOverride non fatales.</li>
4c54a49e921a05bd16341f727b80a0258e6ecadblgentis <li><strong>Nonfatal=Unknown</strong> rend les directives
4c54a49e921a05bd16341f727b80a0258e6ecadblgentis inconnues non fatales. Sont concernées les erreurs de frappe
4c54a49e921a05bd16341f727b80a0258e6ecadblgentis et les directives implémentées par un module non chargé.</li>
4c54a49e921a05bd16341f727b80a0258e6ecadblgentis <li><strong>Nonfatal=All</strong> rend toutes les directives
4c54a49e921a05bd16341f727b80a0258e6ecadblgentis précédentes non fatales.</li>
4c54a49e921a05bd16341f727b80a0258e6ecadblgentis <p>Notez qu'une erreur de syntaxe dans une directive valide
4c54a49e921a05bd16341f727b80a0258e6ecadblgentis causera toujours une internal server error.</p>
4c54a49e921a05bd16341f727b80a0258e6ecadblgentis <note type="warning"><title>Sécurité</title>
4c54a49e921a05bd16341f727b80a0258e6ecadblgentis Les erreurs non fatales peuvent être à l'origine de problèmes
4c54a49e921a05bd16341f727b80a0258e6ecadblgentis de sécurité pour les utilisateurs de fichiers .htaccess. Par
4c54a49e921a05bd16341f727b80a0258e6ecadblgentis exemple, si AllowOverride interdit AuthConfig, toute
4c54a49e921a05bd16341f727b80a0258e6ecadblgentis configuration utilisateur destinée à restreindre l'accès à un
4c54a49e921a05bd16341f727b80a0258e6ecadblgentis site ne sera pas prise en compte.
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis Permet l'utilisation des directives contrôlant les fonctionnalités
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis spécifiques d'un répertoire (<directive
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis module="mod_include">XBitHack</directive>). "Options" doit être
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis suivi d'un signe "égal", puis d'une liste d'options séparées par des
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis virgules (pas d'espaces) ; ces options doivent être définies à
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor l'aide de la commande <directive
25cbd52bee363a7adb7068e44cd92fdbfad2b6f2lgentis <note><title>Désactivation implicite des options</title>
c3a2738228cb6ba4a48c425711e728d3410a458elgentis <p>Bien que la liste des options disponibles dans les fichiers
25cbd52bee363a7adb7068e44cd92fdbfad2b6f2lgentis .htaccess puisse être limitée par cette directive, tant qu'un
c3a2738228cb6ba4a48c425711e728d3410a458elgentis directive <directive module="core">Options</directive> est
25cbd52bee363a7adb7068e44cd92fdbfad2b6f2lgentis autorisée, toute autre option héritée peut être désactivée en
c3a2738228cb6ba4a48c425711e728d3410a458elgentis utilisant la syntaxe non-relative. En d'autres termes, ce
25cbd52bee363a7adb7068e44cd92fdbfad2b6f2lgentis mécanisme ne peut pas forcer une option spécifique à rester
25cbd52bee363a7adb7068e44cd92fdbfad2b6f2lgentis <em>activée</em> tout en permettant à toute autre option d'être
25cbd52bee363a7adb7068e44cd92fdbfad2b6f2lgentis activée.
ac64493966b7b75e373c78e99b8e5e86fc954d72lgentis AllowOverride Options=Indexes,MultiViews
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis <highlight language="config">AllowOverride AuthConfig Indexes</highlight>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>Dans l'exemple ci-dessus, toutes les directives qui ne font
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor partie ni du groupe <code>AuthConfig</code>, ni du groupe
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <code>Indexes</code>, provoquent une erreur "internal
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor server error".</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <note><p>Pour des raisons de sécurité et de performance, ne
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis définissez pas <code>AllowOverride</code> à autre chose que
3410b584d8126761b178068883f2ffc751b9e691lgentis <code>None</code> dans votre bloc <code><Directory "/"></code>.
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis Recherchez plutôt (ou créez) le bloc <code><Directory></code>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis qui se réfère au répertoire où vous allez précisément placer un
c3a2738228cb6ba4a48c425711e728d3410a458elgentis<seealso><directive module="core">AccessFileName</directive></seealso>
c3a2738228cb6ba4a48c425711e728d3410a458elgentis<seealso><directive module="core">AllowOverrideList</directive></seealso>
c3a2738228cb6ba4a48c425711e728d3410a458elgentis<seealso><a href="/configuring.html">Fichiers de configuration</a></seealso>
c3a2738228cb6ba4a48c425711e728d3410a458elgentis<seealso><a href="/howto/htaccess.html">Fichiers .htaccess</a></seealso>
c3a2738228cb6ba4a48c425711e728d3410a458elgentis</directivesynopsis>
c3a2738228cb6ba4a48c425711e728d3410a458elgentis<directivesynopsis>
25cbd52bee363a7adb7068e44cd92fdbfad2b6f2lgentis<description>Directives autorisées dans les fichiers <code>.htaccess</code></description>
c3a2738228cb6ba4a48c425711e728d3410a458elgentis<contextlist><context>directory</context></contextlist>
c3a2738228cb6ba4a48c425711e728d3410a458elgentis <p>Lorsque le serveur trouve un fichier <code>.htaccess</code>
25cbd52bee363a7adb7068e44cd92fdbfad2b6f2lgentis (comme spécifié par la directive <directive
c3a2738228cb6ba4a48c425711e728d3410a458elgentis module="core">AccessFileName</directive>), il doit savoir lesquelles
25cbd52bee363a7adb7068e44cd92fdbfad2b6f2lgentis des directives déclarées dans ce fichier peuvent remplacer des
c3a2738228cb6ba4a48c425711e728d3410a458elgentis directives des fichiers de configuration du serveur.</p>
c3a2738228cb6ba4a48c425711e728d3410a458elgentis <note><title>Seulement disponible dans les sections <Directory></title>
c3a2738228cb6ba4a48c425711e728d3410a458elgentis La directive <directive>AllowOverrideList</directive> n'est
c3a2738228cb6ba4a48c425711e728d3410a458elgentis disponible que dans les sections <directive type="section"
25cbd52bee363a7adb7068e44cd92fdbfad2b6f2lgentis module="core">Directory</directive> spécifiées sans expressions
c3a2738228cb6ba4a48c425711e728d3410a458elgentis rationnelles.
c3a2738228cb6ba4a48c425711e728d3410a458elgentis <p>Lorsque cette directive et la directive <directive
25cbd52bee363a7adb7068e44cd92fdbfad2b6f2lgentis module="core">AllowOverride</directive> sont définies à
25cbd52bee363a7adb7068e44cd92fdbfad2b6f2lgentis href="#accessfilename">.htaccess</a> sont totalement ignorés. Dans
25cbd52bee363a7adb7068e44cd92fdbfad2b6f2lgentis ce cas, le serveur ne cherchera même pas à lire des fichiers
25cbd52bee363a7adb7068e44cd92fdbfad2b6f2lgentis <code>.htaccess</code> dans le système de fichiers.</p>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentisAllowOverride None
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentisAllowOverrideList Redirect RedirectMatch
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis </highlight>
c3a2738228cb6ba4a48c425711e728d3410a458elgentis <p>Dans l'exemple ci-dessus, seules les directives
25cbd52bee363a7adb7068e44cd92fdbfad2b6f2lgentis <code>Redirect</code> et <code>RedirectMatch</code> sont autorisées.
c3a2738228cb6ba4a48c425711e728d3410a458elgentis Toutes les autres provoqueront une erreur interne du serveur.</p>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentisAllowOverride AuthConfig
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentisAllowOverrideList CookieTracking CookieName
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis </highlight>
c3a2738228cb6ba4a48c425711e728d3410a458elgentis <p>Dans l'exemple ci-dessus, la directive <directive
c3a2738228cb6ba4a48c425711e728d3410a458elgentis module="core">AllowOverride</directive> autorise les directives du
c3a2738228cb6ba4a48c425711e728d3410a458elgentis <directive>AllowOverrideList</directive> n'autorise que deux
c3a2738228cb6ba4a48c425711e728d3410a458elgentis directives du groupement <code>FileInfo</code>. Toutes les autres
c3a2738228cb6ba4a48c425711e728d3410a458elgentis provoqueront une erreur interne du serveur.</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<seealso><directive module="core">AccessFileName</directive></seealso>
c3a2738228cb6ba4a48c425711e728d3410a458elgentis<seealso><directive module="core">AllowOverride</directive></seealso>
c3a2738228cb6ba4a48c425711e728d3410a458elgentis<seealso><a href="/configuring.html">Fichiers de configuration</a></seealso>
c3a2738228cb6ba4a48c425711e728d3410a458elgentis<seealso><a href="/howto/htaccess.html">Fichiers .htaccess</a></seealso>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<directivesynopsis>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<description>Technique permettant de localiser l'interpréteur des
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorscripts CGI</description>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<syntax>CGIMapExtension <var>chemin CGI</var> <var>.extension</var></syntax>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<contextlist><context>directory</context><context>.htaccess</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</contextlist>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Cette directive permet de contrôler la manière dont Apache httpd trouve
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis l'interpréteur servant à exécuter les scripts CGI. Par exemple, avec
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis la définition <code>CGIMapExtension sys:\foo.nlm .foo</code>, tous
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis les fichiers scripts CGI possédant une extension <code>.foo</code>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis seront passés à l'interpréteur FOO.</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
42fd21ba5cc2aec7625782b56d17d7a7016aaa7blgentis<directivesynopsis>
42fd21ba5cc2aec7625782b56d17d7a7016aaa7blgentis<description>Active la transmission d'en-têtes d'autorisation HTTP aux scripts en
42fd21ba5cc2aec7625782b56d17d7a7016aaa7blgentistant que variables CGI</description>
42fd21ba5cc2aec7625782b56d17d7a7016aaa7blgentis<contextlist><context>directory</context><context>.htaccess</context>
42fd21ba5cc2aec7625782b56d17d7a7016aaa7blgentis</contextlist>
3410b584d8126761b178068883f2ffc751b9e691lgentis<compatibility>Disponible à partir de la version 2.4.13 du serveur HTTP
42fd21ba5cc2aec7625782b56d17d7a7016aaa7blgentisApache</compatibility>
42fd21ba5cc2aec7625782b56d17d7a7016aaa7blgentis <p>La directive <directive>CGIPassAuth</directive> permet aux
42fd21ba5cc2aec7625782b56d17d7a7016aaa7blgentis scripts d'accéder aux en-têtes d'autorisation HTTP tels que
42fd21ba5cc2aec7625782b56d17d7a7016aaa7blgentis <code>Authorization</code>, en-tête nécessaire aux scripts qui
42fd21ba5cc2aec7625782b56d17d7a7016aaa7blgentis implémente une authentification HTTP de base. Normalement, ces
42fd21ba5cc2aec7625782b56d17d7a7016aaa7blgentis en-têtes HTTP sont invisibles pour les scripts car ils leurs
42fd21ba5cc2aec7625782b56d17d7a7016aaa7blgentis permettraient de voir les identifiants et mots de passe
42fd21ba5cc2aec7625782b56d17d7a7016aaa7blgentis utilisés pour accéder au serveur lorsque l'authentification HTTP de
42fd21ba5cc2aec7625782b56d17d7a7016aaa7blgentis base est activée au niveau du serveur web. Cette directive doit être
42fd21ba5cc2aec7625782b56d17d7a7016aaa7blgentis définie à "On" lorsque des scripts sont autorisés à implémenter une
42fd21ba5cc2aec7625782b56d17d7a7016aaa7blgentis authentification HTTP de base.</p>
42fd21ba5cc2aec7625782b56d17d7a7016aaa7blgentis <p>Cette directive constitue une alternative à l'option de
42fd21ba5cc2aec7625782b56d17d7a7016aaa7blgentis compilation <code>SECURITY_HOLE_PASS_AUTHORIZATION</code> qui était
42fd21ba5cc2aec7625782b56d17d7a7016aaa7blgentis déjà disponible dans les versions précédentes du serveur HTTP
42fd21ba5cc2aec7625782b56d17d7a7016aaa7blgentis Apache.</p>
42fd21ba5cc2aec7625782b56d17d7a7016aaa7blgentis <p>Cette option est prise en compte par tout module qui utilise
42fd21ba5cc2aec7625782b56d17d7a7016aaa7blgentis <code>ap_add_common_vars()</code>, comme <module>mod_cgi</module>,
42fd21ba5cc2aec7625782b56d17d7a7016aaa7blgentis <module>mod_cgid</module>, <module>mod_proxy_fcgi</module>,
42fd21ba5cc2aec7625782b56d17d7a7016aaa7blgentis <module>mod_proxy_scgi</module>, etc... En particulier, elle affecte
42fd21ba5cc2aec7625782b56d17d7a7016aaa7blgentis les modules qui ne traitent pas à proprement parler les requêtes,
42fd21ba5cc2aec7625782b56d17d7a7016aaa7blgentis mais utilisent quand-même cette API, comme
42fd21ba5cc2aec7625782b56d17d7a7016aaa7blgentis <module>mod_include</module> ou <module>mod_ext_filter</module>. Les
42fd21ba5cc2aec7625782b56d17d7a7016aaa7blgentis modules tiers qui n'utilisent pas <code>ap_add_common_vars()</code>
42fd21ba5cc2aec7625782b56d17d7a7016aaa7blgentis peuvent aussi choisir de prendre en compte cette option.</p>
42fd21ba5cc2aec7625782b56d17d7a7016aaa7blgentis</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<directivesynopsis>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<description>Active la génération d'un en-tête <code>Content-MD5</code>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentisdans la réponse HTTP</description>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<contextlist><context>server config</context><context>virtual
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorhost</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<context>directory</context><context>.htaccess</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</contextlist>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Cette directive active la génération d'un en-tête
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <code>Content-MD5</code> selon les définitions des RFC 1864 et
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>MD5 est un algorithme permettant de générer un condensé (parfois
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis appelé "empreinte") à partir de données d'une taille aléatoire ; le
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis degré de précision est tel que la moindre altération des données
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis d'origine entraîne une altération de l'empreinte.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>L'en-tête <code>Content-MD5</code> permet de vérifier
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis l'intégrité de la réponse HTTP dans son ensemble. Un serveur mandataire
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis ou un client peut utiliser cet en-tête pour rechercher une
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis éventuelle modification accidentelle de la réponse au cours de sa
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis transmission. Exemple d'en-tête :</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor Content-MD5: AuLb7Dp1rqtRtxz2m9kRpA==
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Notez que des problèmes de performances peuvent affecter votre
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis serveur, car l'empreinte est générée pour chaque requête (il n'y a
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor pas de mise en cache).</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>L'en-tête <code>Content-MD5</code> n'est envoyé qu'avec les
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis documents servis par le module <module>core</module>, à l'exclusion
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor de tout autre module. Ainsi, les documents SSI, les sorties de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis scripts CGI, et les réponses à des requêtes partielles (byte range)
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis ne comportent pas cet en-tête.</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
9ed77e2c5cad980f11695a004a52abc03b55fae1lgentis<directivesynopsis>
9ed77e2c5cad980f11695a004a52abc03b55fae1lgentis<description>Répertoire de base des fichiers créés au cours de l'exécution du serveur</description>
9ed77e2c5cad980f11695a004a52abc03b55fae1lgentis<syntax>DefaultRuntimeDir <var>chemin-répertoire</var></syntax>
9ed77e2c5cad980f11695a004a52abc03b55fae1lgentis<default>DefaultRuntimeDir DEFAULT_REL_RUNTIMEDIR (logs/)</default>
9ed77e2c5cad980f11695a004a52abc03b55fae1lgentis<contextlist><context>server config</context></contextlist>
3169b556e342e88cdd0719be473eaf27d3084340lgentis<compatibility>Disponible depuis de la version 2.4.2 du serveur HTTP
3169b556e342e88cdd0719be473eaf27d3084340lgentisApache</compatibility>
9ed77e2c5cad980f11695a004a52abc03b55fae1lgentis <p>La directive <directive>DefaultRuntimeDir</directive> permet de
9ed77e2c5cad980f11695a004a52abc03b55fae1lgentis définir le répertoire dans lequel le serveur va créer les différents
9ed77e2c5cad980f11695a004a52abc03b55fae1lgentis fichiers relatifs à son exécution (mémoire partagée, verrous,
9ed77e2c5cad980f11695a004a52abc03b55fae1lgentis etc...). Si le chemin spécifié est relatif, le chemin absolu sera
9ed77e2c5cad980f11695a004a52abc03b55fae1lgentis généré relativement à la valeur de la directive
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentisDefaultRuntimeDir scratch/
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis </highlight>
9ed77e2c5cad980f11695a004a52abc03b55fae1lgentis <p>La valeur par défaut de la directive
9ed77e2c5cad980f11695a004a52abc03b55fae1lgentis <directive>DefaultRuntimeDir</directive> peut être modifiée en
9ed77e2c5cad980f11695a004a52abc03b55fae1lgentis changeant la valeur de la macro <code>DEFAULT_REL_RUNTIMEDIR</code>
9ed77e2c5cad980f11695a004a52abc03b55fae1lgentis définie à la compilation.</p>
9ed77e2c5cad980f11695a004a52abc03b55fae1lgentis <p>Note: si la valeur de <directive>ServerRoot</directive> n'a pas
9ed77e2c5cad980f11695a004a52abc03b55fae1lgentis été spécifiée avant d'utiliser cette directive, c'est la valeur par
9ed77e2c5cad980f11695a004a52abc03b55fae1lgentis défaut de <directive>ServerRoot</directive> qui sera utilisée pour
9ed77e2c5cad980f11695a004a52abc03b55fae1lgentis définir la base du répertoire.</p>
9ed77e2c5cad980f11695a004a52abc03b55fae1lgentishref="/misc/security_tips.html#serverroot">conseils à propos de
9ed77e2c5cad980f11695a004a52abc03b55fae1lgentissésurité</a> pour plus d'informations en vue de définir correctement les
9ed77e2c5cad980f11695a004a52abc03b55fae1lgentispermissions sur la racine du serveur <directive>ServerRoot</directive></seealso>
9ed77e2c5cad980f11695a004a52abc03b55fae1lgentis</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<directivesynopsis>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<description>Les seuls effets de cette directive sont des émissions
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentisd'avertissements si sa valeur est différente de <code>none</code>. Dans
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentisles versions précédentes, DefaultType permettait de spécifier un type de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentismédia à assigner par défaut au contenu d'une réponse pour lequel aucun
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentisautre type de média n'avait été trouvé.
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</description>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<syntax>DefaultType <var>type média|none</var></syntax>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<contextlist><context>server config</context><context>virtual
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorhost</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<context>directory</context><context>.htaccess</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</contextlist>
a69701660f992f38458ca3e706e3371d964f0fbelgentis<compatibility>Tous les arguments, excepté <code>none</code>, sont
a69701660f992f38458ca3e706e3371d964f0fbelgentisDESACTIVÉS à partir de la version 2.3.0.</compatibility>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Cette directive a été désactivée. Pour la compatibilité
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor ascendante avec les anciens fichiers de configuration, elle peut
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis être spécifiée avec la valeur <code>none</code>, c'est à dire sans
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis type de médium par défaut. Par exemple :</p>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis <highlight language="config">DefaultType None</highlight>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p><code>DefaultType None</code> n'est disponible que dans les
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis versions d'Apache 2.2.7 et supérieures.</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>Utilisez le fichier de configuration mime.types et la directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <directive module="mod_mime">AddType</directive> pour configurer
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis l'assignement d'un type de médium via les extensions de fichiers, ou
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor la directive <directive module="core">ForceType</directive> pour
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis attribuer un type de médium à des ressources spécifiques. Dans le
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis cas contraire, le serveur enverra sa réponse sans champ d'en-tête
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis Content-Type, et le destinataire devra déterminer lui-même le type
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis de médium.</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<directivesynopsis>
fb25b82560b7fcaffa006cb4738d86acc561b6f4lgentis<description>Permet de définir une variable</description>
fb25b82560b7fcaffa006cb4738d86acc561b6f4lgentis<syntax>Define <var>nom-paramètre</var> [<var>valeur-paramètre</var>]</syntax>
fb25b82560b7fcaffa006cb4738d86acc561b6f4lgentis<contextlist><context>server config</context><context>virtual host</context>
fb25b82560b7fcaffa006cb4738d86acc561b6f4lgentis <p>Avec un seul paramètre, l'effet de la directive
fb25b82560b7fcaffa006cb4738d86acc561b6f4lgentis <directive>Define</directive> est identique à celui de l'argument
fb25b82560b7fcaffa006cb4738d86acc561b6f4lgentis <code>-D</code> du programme <program>httpd</program>. Il permet de
fb25b82560b7fcaffa006cb4738d86acc561b6f4lgentis modifier le comportement des sections <directive module="core"
fb25b82560b7fcaffa006cb4738d86acc561b6f4lgentis type="section">IfDefine</directive> sans avoir à ajouter d'argument
fb25b82560b7fcaffa006cb4738d86acc561b6f4lgentis <code>-D</code> au sein des scripts de démarrage.</p>
fb25b82560b7fcaffa006cb4738d86acc561b6f4lgentis <p>De plus, le second paramètre permet d'affecter une valeur à la
fb25b82560b7fcaffa006cb4738d86acc561b6f4lgentis variable définie par le premier. Cette variable peut être référencée
fb25b82560b7fcaffa006cb4738d86acc561b6f4lgentis dans le fichier de configuration via la syntaxe <code>${VAR}</code>.
fb25b82560b7fcaffa006cb4738d86acc561b6f4lgentis La portée de la variable est toujours globale, et n'est jamais
fb25b82560b7fcaffa006cb4738d86acc561b6f4lgentis limitée à la section de configuration courante.</p>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis<IfDefine TEST>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis Define servername test.example.com
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis</IfDefine>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis<IfDefine !TEST>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis Define servername www.example.com
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis</IfDefine>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis </highlight>
fb25b82560b7fcaffa006cb4738d86acc561b6f4lgentis <p>Le caractère ":" est interdit dans les noms de variables afin
fb25b82560b7fcaffa006cb4738d86acc561b6f4lgentis d'éviter les conflits avec la syntaxe de la directive <directive
2dda612e9e4715a5deca6a897b50b937d0403f16lgentis <p>Si cette directive est définie au sein d'un bloc VirtualHost, les
417971bcf828b6bbe9ec2b5a9490dcb1cf1af3a4lgentis changements qu'elle induit sont visibles de toute directive
2dda612e9e4715a5deca6a897b50b937d0403f16lgentis ultérieure, au delà de tout bloc VirtualHost.</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<description>Regroupe un ensemble de directives qui ne s'appliquent
1b1b6ae3d9cf8a22cd74249fe56d4fab443f9e21lgentisqu'au répertoire concerné du système de fichiers, à ses
1b1b6ae3d9cf8a22cd74249fe56d4fab443f9e21lgentissous-répertoires, et à leur contenu.</description>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<syntax><Directory <var>chemin répertoire</var>>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor... </Directory></syntax>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<contextlist><context>server config</context><context>virtual
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorhost</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</contextlist>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>Les balises <directive type="section">Directory</directive> et
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <code></Directory></code> permettent de regrouper un ensemble
1b1b6ae3d9cf8a22cd74249fe56d4fab443f9e21lgentis de directives qui ne s'appliquent qu'au répertoire précisé,
1b1b6ae3d9cf8a22cd74249fe56d4fab443f9e21lgentis à ses sous-répertoires, et aux fichiers situés dans ces
1b1b6ae3d9cf8a22cd74249fe56d4fab443f9e21lgentis sous-répertoires. Toute directive
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis autorisée dans un contexte de répertoire peut être utilisée.
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <var>chemin répertoire</var> est soit le chemin absolu d'un
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis répertoire, soit une chaîne de caractères avec caractères génériques
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis utilisant la comparaison Unix de style shell. Dans une chaîne de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis caractères avec caractères génériques, <code>?</code> correspond à
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis un caractère quelconque, et <code>*</code> à toute chaîne de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis caractères. Les intervalles de caractères <code>[]</code> sont aussi
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis autorisés. Aucun caractère générique ne peut remplacer le caractère
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor `/', si bien que l'expression <code><Directory
3410b584d8126761b178068883f2ffc751b9e691lgentis "/*/public_html"></code> ne conviendra pas pour le chemin
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor * <code>/home/user/public_html</code>, alors que <code><Directory
3410b584d8126761b178068883f2ffc751b9e691lgentis "/home/*/public_html"></code> conviendra. Exemple :</p>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis Options Indexes FollowSymLinks
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis</Directory>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis </highlight>
3410b584d8126761b178068883f2ffc751b9e691lgentis <p>Les chemins de répertoires contenant des espaces <em>doivent</em> être
3410b584d8126761b178068883f2ffc751b9e691lgentis entourés de guillemets afin d'empêcher l'interprétation de ces
3410b584d8126761b178068883f2ffc751b9e691lgentis espaces comme fins d'arguments.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Soyez prudent avec l'argument <var>chemin répertoire</var> : il
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis doit correspondre exactement au chemin du système de fichier
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis qu'Apache httpd utilise pour accéder aux fichiers. Les directives
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor comprises dans une section <code><Directory></code> ne
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis s'appliqueront pas aux fichiers du même répertoire auxquels on
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis aura accédé via un chemin différent, per exemple via un lien
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor symbolique.</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p> Les <glossary ref="regex">Expressions rationnelles</glossary>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis peuvent aussi être utilisées en ajoutant le caractère
2a18ffd174f00789f0a81d32b0e8061d884c1a89lgentis<Directory ~ "^/www/[0-9]{3}">
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis</Directory>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis</highlight>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>pourra correspondre à tout répertoire situé dans /www/ et dont le
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor nom se compose de trois chiffres.</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor type="section">Directory</directive> (sans expression rationnelle)
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis correspondent au répertoire (ou à un de ses parents) qui contient le
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor document, les directives de la section <directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor type="section">Directory</directive> dont le chemin est le plus
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis court sont appliquées en premier, en s'intercalant avec les
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor directives des fichiers <a href="#accessfilename">.htaccess</a>. Par
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor exemple, avec</p>
3410b584d8126761b178068883f2ffc751b9e691lgentis<Directory "/">
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis AllowOverride None
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis</Directory>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis<Directory "/home">
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis AllowOverride FileInfo
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis</Directory>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis </highlight>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>l'accès au document <code>/home/web/dir/doc.html</code> emprunte
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor le chemin suivant :</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <li>Aplication de la directive <code>AllowOverride None</code>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis (qui désactive les fichiers <code>.htaccess</code>).</li>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis FileInfo</code> (pour le répertoire <code>/home</code>).</li>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <li>Application de toute directive <code>FileInfo</code> qui se
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis trouverait dans d'éventuels fichiers <code>/home/.htaccess</code>,
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <code>/home/web/dir/.htaccess</code>, dans cet ordre.</li>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Les directives associées aux répertoires sous forme d'expressions
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor rationnelles ne sont prises en compte qu'une fois toutes les
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis directives des sections sans expressions rationnelles appliquées.
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis Alors, tous les répertoires avec expressions rationnelles sont
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis testés selon l'ordre dans lequel ils apparaissent dans le fichier de
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor configuration. Par exemple, avec</p>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis<Directory ~ "abc$">
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis # ... directives ici ...
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis</Directory>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis </highlight>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>la section avec expression rationnelle ne sera prise en compte
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis qu'après les sections <directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor type="section">Directory</directive> sans expression rationnelle
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor et les fichiers <code>.htaccess</code>. Alors, l'expression
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor rationnelle conviendra pour <code>/home/abc/public_html/abc</code>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor et la section <directive type="section">Directory</directive>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor correspondante s'appliquera.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p><strong>Notez que la politique d'accès par défaut
3410b584d8126761b178068883f2ffc751b9e691lgentis dans les sections <code><Directory "/"></code> consiste à
f6edf426ed6b8912be700db47d65a001d091909flgentis autoriser tout accès sans restriction. Ceci signifie qu'Apache httpd va servir tout fichier
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis correspondant à une URL. Il est recommandé de modifier cette
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis situation à l'aide d'un bloc du style</strong></p>
3410b584d8126761b178068883f2ffc751b9e691lgentis<Directory "/">
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis Require all denied
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis</Directory>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis </highlight>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p><strong>puis d'affiner la configuration pour les répertoires que vous
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor voulez rendre accessibles. Voir la page <a
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis href="/misc/security_tips.html">Conseils à propos de sécurité</a>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>Les sections <directive type="section">Directory</directive> se situent
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor dans le fichier <code>httpd.conf</code>. Les directives <directive
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis type="section">Directory</directive> ne peuvent pas être imbriquées
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis et ne sont pas autorisées dans les sections <directive module="core"
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor type="section">Limit</directive> ou <directive module="core"
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<seealso><a href="/sections.html">Comment fonctionnent les sections
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<Directory>, <Location> et <Files></a> pour des
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentisexplications à propos de la manière dont ces différentes sections se
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentiscombinent entre elles à la réception d'une requête</seealso>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
1b1b6ae3d9cf8a22cd74249fe56d4fab443f9e21lgentis<description>Regroupe des directives qui s'appliquent au contenu de répertoires
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentisdu système de fichiers correspondant à une expression rationnelle</description>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor... </DirectoryMatch></syntax>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</contextlist>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>Les balises <directive type="section">DirectoryMatch</directive>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor et <code></DirectoryMatch></code> permettent de regrouper un
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis ensemble de directives qui ne s'appliqueront qu'au répertoire
1b1b6ae3d9cf8a22cd74249fe56d4fab443f9e21lgentis précisé (et aux fichiers qu'il contient), comme pour la section <directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor module="core" type="section">Directory</directive>. Cependant, le
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis répertoire est précisé sous la forme d'une <glossary
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor ref="regex">expression rationnelle</glossary>. Par exemple :</p>
3410b584d8126761b178068883f2ffc751b9e691lgentis<DirectoryMatch "^/www/(.+/)?[0-9]{3}/">
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis</DirectoryMatch>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis</highlight>
3410b584d8126761b178068883f2ffc751b9e691lgentis <p>convient pour les sous-répertoires de <code>/www/</code> dont
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor le nom se compose de trois chiffres.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis Avant la version 2.3.9, cette directive s'appliquait aussi aux
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis sous-répertoires (comme la directive <directive module="core"
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis type="section">Directory</directive>), et ne tenait pas compte du
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis symbole de fin de ligne ($). Depuis la version 2.3.9, seuls les
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis répertoires qui correspondent à l'expression sont affectés par les
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis directives contenues dans la section.
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis Cette directive s'applique aux requêtes pour des répertoires avec
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis ou sans slash de fin ; les expressions contenant un symbole de fin
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis de ligne ($) doivent donc faire l'objet d'une attention
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis particulière.
66a40356a2baa1bdc3f91e91399a8bf3d2dbe7c6lgentis <p>A partir de la version 2.4.8, les groupes nommés et les
3841a292dc897875faf23e639807abcc90082f3clgentis références arrières sont extraits et enregistrés dans
3841a292dc897875faf23e639807abcc90082f3clgentis l'environnement avec leur nom en majuscules et préfixé
3841a292dc897875faf23e639807abcc90082f3clgentis par "MATCH_". Ceci permet
9f47982d4f9350397f1f62f04f1ba744ad5b6fa5lgentis de référencer des URLs dans des <a href="/expr.html">expressions</a>
3841a292dc897875faf23e639807abcc90082f3clgentis ou au sein de modules comme <module>mod_rewrite</module>. Pour
3841a292dc897875faf23e639807abcc90082f3clgentis éviter toute confusion, les références arrières numérotées (non
3841a292dc897875faf23e639807abcc90082f3clgentis nommées) sont ignorées. Vous devez utiliser à la place des groupes
3841a292dc897875faf23e639807abcc90082f3clgentis nommés.</p>
3410b584d8126761b178068883f2ffc751b9e691lgentis<DirectoryMatch "^/var/www/combined/(?<sitename>[^/]+)">
3410b584d8126761b178068883f2ffc751b9e691lgentis Require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
3841a292dc897875faf23e639807abcc90082f3clgentis</DirectoryMatch>
3841a292dc897875faf23e639807abcc90082f3clgentis</highlight>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<seealso><directive type="section" module="core">Directory</directive>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentispour une description de la manière dont les expressions rationnelles
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentissont traitées en présence d'autres sections <directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzortype="section">Directory</directive> sans expressions rationnelles</seealso>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorhref="/sections.html">Comment fonctionnent les sections
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<Directory>, <Location> et <Files></a> pour une
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentisexplication à propos de la manière dont ces différentes sections se
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentiscombinent entre elles à la réception d'une requête</seealso>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<description>Racine principale de l'arborescence des documents visible
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzordepuis Internet</description>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<syntax>DocumentRoot <var>chemin répertoire</var></syntax>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<default>DocumentRoot /usr/local/apache/htdocs</default>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<contextlist><context>server config</context><context>virtual
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorhost</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</contextlist>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Cette directive permet de définir le répertoire à partir duquel
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <program>httpd</program> va servir les fichiers. S'il ne correspond
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis pas à un <directive module="mod_alias">Alias</directive>, le chemin
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis de l'URL sera ajouté par le serveur à la racine des documents afin
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis de construire le chemin du document recherché. Exemple :</p>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis <highlight language="config">DocumentRoot "/usr/web"</highlight>
21d31c05096a45954f47863580572da87c902d34lgentis <p>un accès à <code>http://my.example.com/index.html</code> se
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis réfère alors à <code>/usr/web/index.html</code>. Si <var>chemin
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis répertoire</var> n'est pas un chemin absolu, il est considéré comme
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis relatif au chemin défini par la directive <directive
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Le répertoire défini par la directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <directive>DocumentRoot</directive> ne doit pas comporter de slash
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<seealso><a href="/urlmapping.html#documentroot">Mise en
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentiscorrespondance des URLs avec le système de fichiers</a></seealso>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis<description>Contient des directives qui ne s'appliquent que si la
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentiscondition correspondant à la section <directive type="section"
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentismodule="core">If</directive> ou <directive type="section"
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentismodule="core">ElseIf</directive> précédente n'est pas satisfaite par la
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentisrequête à l'exécution</description>
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis<contextlist><context>server config</context><context>virtual host</context>
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis<context>directory</context><context>.htaccess</context>
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis</contextlist>
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis <p>La section <directive type="section">Else</directive> applique
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis les directives qu'elle contient si et seulement si les conditions
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis correspondant à la section <directive type="section">If</directive>
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis ou <directive type="section">ElseIf</directive> immédiatement
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis supérieure et dans la même portée n'ont pas été satisfaites. Par
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis exemple, dans :</p>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis<If "-z req('Host')">
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis<Else>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis</Else>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis </highlight>
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis type="section">If</directive> serait satisfaite pour les requêtes
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis HTTP/1.0 sans en-tête <var>Host:</var>, alors que celle de la section
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis <directive type="section">Else</directive> le serait pour les
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis requêtes comportant un en-tête <var>Host:</var>.</p>
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis<seealso><directive type="section" module="core">If</directive></seealso>
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis<seealso><directive type="section" module="core">ElseIf</directive></seealso>
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis<seealso><a href="/sections.html">Fonctionnement des sections <Directory>, <Location>,
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis <Files></a> pour une explication de la manière dont ces
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis différentes section se combinent entre elles lorsqu'une requête est
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis reçue. Les directives <directive type="section">If</directive>,
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis <directive type="section">ElseIf</directive>, et <directive
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis type="section">Else</directive> s'appliquent en dernier.</seealso>
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis</directivesynopsis>
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis<description>Contient des directives qui ne s'appliquent que si la
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentiscondition correspondante est satisfaite par une requête à l'exécution,
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentisalors que la condition correspondant à la section <directive
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentistype="section" module="core">If</directive> ou <directive
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentistype="section">ElseIf</directive> précédente ne l'était pas.</description>
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis<syntax><ElseIf <var>expression</var>> ... </ElseIf></syntax>
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis<contextlist><context>server config</context><context>virtual host</context>
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis<context>directory</context><context>.htaccess</context>
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis</contextlist>
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis <p>La section <directive type="section">ElseIf</directive> applique
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis les directives qu'elle contient si et seulement si d'une part la
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis condition correspondante est satisfaite, et d'autre part la condition
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis correspondant à la section <directive type="section">If</directive>
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis ou <directive type="section">ElseIf</directive> de la même portée ne
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis l'est pas. Par exemple, dans :</p>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis<ElseIf "-R '10.0.0.0/8'">
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis</ElseIf>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis<Else>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis</Else>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis </highlight>
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis <p>La condition correspondant à la section <directive
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis type="section">ElseIf</directive> est satisfaite si l'adresse
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis distante de la requête appartient au sous-réseau 10.0.0.0/8, mais
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis pas si elle appartient au sous-réseau 10.1.0.0/16.</p>
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis<seealso><a href="/expr.html">Les expressions dans le serveur HTTP
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentisApache</a>, pour une référence complète et d'autres exemples.</seealso>
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis<seealso><directive type="section" module="core">If</directive></seealso>
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis<seealso><directive type="section" module="core">Else</directive></seealso>
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis<seealso><a href="/sections.html">Fonctionnement des sections <Directory>, <Location>,
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis <Files></a> pour une explication de la manière dont ces
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis différentes section se combinent entre elles lorsqu'une requête est
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis reçue. Les directives <directive type="section">If</directive>,
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis <directive type="section">ElseIf</directive>, et <directive
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis type="section">Else</directive> s'appliquent en dernier.</seealso>
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<directivesynopsis>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<description>Utilise la projection en mémoire (Memory-Mapping) pour
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorlire les fichiers pendant qu'ils sont servis</description>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<contextlist><context>server config</context><context>virtual
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorhost</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<context>directory</context><context>.htaccess</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</contextlist>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Cette directive définit si <program>httpd</program> peut utiliser
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis la projection en mémoire (Memory-Mapping) quand il doit lire le contenu
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis d'un fichier pendant qu'il est servi. Par défaut, lorsque le
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis traitement d'une requête requiert l'accès aux données contenues dans
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis un fichier -- par exemple, pour servir un fichier interprété par le
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis serveur à l'aide de <module>mod_include</module> -- Apache httpd projette
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis le fichier en mémoire si le système d'exploitation le permet.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Cette projection en mémoire induit parfois une amélioration des
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis performances. Sur certains systèmes cependant, il est préférable de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis désactiver la projection en mémoire afin d'éviter certains problèmes
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis opérationnels :</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <li>Sur certains systèmes multi-processeurs, la projection en
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis mémoire peut dégrader les performances du programme
d7337c7fa9678c6ac72fdfcd87d8122c669f6b42lgentis <li>S'il fait l'objet d'une projection en mémoire par
d7337c7fa9678c6ac72fdfcd87d8122c669f6b42lgentis <program>httpd</program>, la suppression ou la troncature d'un
d7337c7fa9678c6ac72fdfcd87d8122c669f6b42lgentis fichier peut provoquer un crash de <program>httpd</program> avec une
d7337c7fa9678c6ac72fdfcd87d8122c669f6b42lgentis erreur de segmentation.</li>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Pour les configurations de serveur sujettes à ce genre de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis problème, il est préférable de désactiver la projection en mémoire
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis des fichiers servis en spécifiant :</p>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis <highlight language="config">EnableMMAP Off</highlight>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Pour les montages NFS, cette fonctionnalité peut être
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis explicitement désactivée pour les fichiers concernés en spécifiant
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis<Directory "/path-to-nfs-files">
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis EnableMMAP Off
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis</Directory>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis </highlight>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<description>Utilise le support sendfile du noyau pour servir les
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorfichiers aux clients</description>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<contextlist><context>server config</context><context>virtual
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorhost</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<context>directory</context><context>.htaccess</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</contextlist>
a69701660f992f38458ca3e706e3371d964f0fbelgentis<compatibility>Par défaut à Off depuis la version 2.3.9.</compatibility>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Cette directive définit si le programme <program>httpd</program>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor peut utiliser le support sendfile du noyau pour transmettre le
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis contenu des fichiers aux clients. Par défaut, lorsque le traitement
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis d'une requête ne requiert pas l'accès aux données contenues dans un
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor fichier -- par exemple, pour la transmission d'un fichier statique
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis -- Apache httpd utilise sendfile pour transmettre le contenu du fichier
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis sans même lire ce dernier, si le système d'exploitation le
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor permet.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Ce mécanisme sendfile évite la séparation des opérations de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis lecture et d'envoi, ainsi que les réservations de tampons. sur
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis certains systèmes cependant, ou sous certains systèmes de fichiers,
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis il est préférable de désactiver cette fonctionnalité afin d'éviter
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis certains problèmes opérationnels :</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <li>Certains systèmes peuvent présenter un support sendfile
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis défectueux que le système de compilation n'a pas détecté, en
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis particulier si les exécutables ont été compilés sur une autre
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis machine, puis copiés sur la première avec un support sendfile
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis défectueux.</li>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <li>Sous Linux, l'utilisation de sendfile induit des bogues lors de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis la récupération des paquets de vérification TCP (TCP-checksum) avec
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis certaines cartes réseau lorsqu'on utilise IPv6.</li>
fb25b82560b7fcaffa006cb4738d86acc561b6f4lgentis <li>Sous Linux sur Itanium, <code>sendfile</code> peut s'avérer incapable de
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor traiter les fichiers de plus de 2 Go.</li>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis module="core">DocumentRoot</directive> (par exemple NFS, SMB, CIFS,
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis noyau peut s'avérer incapable de servir un fichier de ce montage
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis réseau en passant par son propre cache.</li>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Pour les configurations de serveur non sujettes à ce genre de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis problème, vous pouvez activer cette fonctionnalité en
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis spécifiant :</p>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis <highlight language="config">EnableSendfile On</highlight>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Pour les montages réseau, cette fonctionnalité peut être
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis explicitement désactivée pour les fichiers concernés en spécifiant
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis<Directory "/path-to-nfs-files">
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis EnableSendfile Off
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis</Directory>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis </highlight>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>Veuillez noter que la configuration de la directive
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <directive>EnableSendfile</directive> dans un contexte de répertoire
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis ou de fichier .htaccess n'est pas supportée par
78f97ce162b66a0dbfd7af4dcd9984f162569b04minfrin <module>mod_cache_disk</module>. Le module ne prend en compte la
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis définition de <directive>EnableSendfile</directive> que dans un
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor contexte global.
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
5a884cb4f4b177e207554c26334ef853c5665e79lgentis<directivesynopsis>
5a884cb4f4b177e207554c26334ef853c5665e79lgentis<description>Interrompt la lecture de la configuration avec un message
5a884cb4f4b177e207554c26334ef853c5665e79lgentisd'erreur personnalisé</description>
5a884cb4f4b177e207554c26334ef853c5665e79lgentis<contextlist><context>server config</context><context>virtual host</context>
5a884cb4f4b177e207554c26334ef853c5665e79lgentis<context>directory</context><context>.htaccess</context>
5a884cb4f4b177e207554c26334ef853c5665e79lgentis</contextlist>
5a884cb4f4b177e207554c26334ef853c5665e79lgentis<compatibility>à partir de la version 2.3.9</compatibility>
5a884cb4f4b177e207554c26334ef853c5665e79lgentis <p>Si une erreur peut être détectée dans la configuration, souvent
5a884cb4f4b177e207554c26334ef853c5665e79lgentis un module manquant, cette
5a884cb4f4b177e207554c26334ef853c5665e79lgentis directive peut être utilisée pour générer un message d'erreur
5a884cb4f4b177e207554c26334ef853c5665e79lgentis personnalisé, et interrompre la lecture de la configuration. </p>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis# vérification du chargement de mod_include
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis<IfModule !include_module>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis Error "mod_include is required by mod_foo. Load it with LoadModule."
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis</IfModule>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis# vérification de la définition de SSL ou (exclusif) NOSSL
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis<IfDefine SSL>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis<IfDefine NOSSL>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis Error "Both SSL and NOSSL are defined. Define only one of them."
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis</IfDefine>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis</IfDefine>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis<IfDefine !SSL>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis<IfDefine !NOSSL>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis Error "Either SSL or NOSSL must be defined."
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis</IfDefine>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis</IfDefine>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis </highlight>
5a884cb4f4b177e207554c26334ef853c5665e79lgentis</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<description>Document que le serveur renvoie au client en cas
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzord'erreur</description>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<syntax>ErrorDocument <var>code erreur</var> <var>document</var></syntax>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<contextlist><context>server config</context><context>virtual
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorhost</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<context>directory</context><context>.htaccess</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</contextlist>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Apache httpd peut traiter les problèmes et les erreurs de quatre
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis manières,</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <li>afficher un simple message d'erreur au contenu fixe</li>
739ce874d738594946c2725c8ee01ef504720991lgentis <li>rediriger en interne vers un <var>chemin d'URL</var> local pour traiter
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis le problème ou l'erreur</li>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <li>rediriger vers une <var>URL</var> externe pour traiter
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis le problème ou l'erreur</li>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>La première option constitue le comportement par défaut; pour
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis choisir une des trois autres options, il faut configurer Apache à
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor l'aide de la directive <directive>ErrorDocument</directive>, suivie
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis du code de la réponse HTTP et d'une URL ou d'un message. Apache
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis httpd fournit parfois des informations supplémentaires à propos du
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis problème ou de l'erreur.</p>
beafd5583689e766f4ac06d1d18bbbfe6498d64algentis <p>A partir de la version 2.4.13, cette directive peut utiliser la
beafd5583689e766f4ac06d1d18bbbfe6498d64algentis <a href="/expr.html">syntaxe des expressions</a> pour générer des
beafd5583689e766f4ac06d1d18bbbfe6498d64algentis chaînes de caractères et des URLs dynamiques.</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>Les URLs peuvent commencer par un slash (/) pour les chemins web
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis locaux (relatifs au répertoire défini par la directive <directive
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis module="core">DocumentRoot</directive>), ou se présenter sous la
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis forme d'une URL complète que le client pourra résoudre.
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis Alternativement, un message à afficher par le navigateur pourra être
beafd5583689e766f4ac06d1d18bbbfe6498d64algentis fourni. Notez que la décision à propos de la nature du paramètre, à
beafd5583689e766f4ac06d1d18bbbfe6498d64algentis savoir une URL, un chemin ou un message, est prise avant
beafd5583689e766f4ac06d1d18bbbfe6498d64algentis l'interprétation de toute expression. Exemples :</p>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentisErrorDocument 500 http://foo.example.com/cgi-bin/tester
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentisErrorDocument 401 /subscription_info.html
beafd5583689e766f4ac06d1d18bbbfe6498d64algentisErrorDocument 403 "Désolé, nous ne pouvons pas vous accorder l'accès aujourd'hui"
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentisErrorDocument 403 Forbidden!
beafd5583689e766f4ac06d1d18bbbfe6498d64algentisErrorDocument 403 /cgi-bin/forbidden.pl?referrer=%{escape:%{HTTP_REFERER}}
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis </highlight>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>De plus, on peut spécifier la valeur spéciale <code>default</code>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis pour indiquer l'utilisation d'un simple message d'Apache httpd codé en
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis dur. Bien que non nécessaire dans des circonstances normales, la
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis spécification de la valeur <code>default</code> va permettre de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis rétablir l'utilisation du simple message d'Apache httpd codé en dur pour
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis les configurations qui sans cela, hériteraient d'une directive
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis ErrorDocument 404 default
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis</Directory>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis </highlight>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Notez que lorsque vous spécifiez une directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <directive>ErrorDocument</directive> pointant vers une URL distante
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis (c'est à dire tout ce qui commence par le préfixe http), le serveur
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis HTTP Apache va
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis envoyer une redirection au client afin de lui indiquer où trouver le
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis document, même dans le cas où ce document se trouve sur le serveur
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis local. Ceci a de nombreuses conséquences dont la plus importante
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis réside dans le fait que le client ne recevra pas le code d'erreur
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor original, mais au contraire un code de statut de redirection. Ceci
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor peut en retour semer la confusion chez les robots web et divers
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis clients qui tentent de déterminer la validité d'une URL en examinant
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor le code de statut. De plus, si vous utilisez une URL distante avec
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <code>ErrorDocument 401</code>, le client ne saura pas qu'il doit
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis demander un mot de passe à l'utilisateur car il ne recevra pas le
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor code de statut 401. C'est pourquoi, <strong>si vous utilisez une
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis directive <code>ErrorDocument 401</code>, elle devra faire référence
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis à un document par le biais d'un chemin local.</strong></p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Microsoft Internet Explorer (MSIE) ignore par défaut les messages
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis d'erreur générés par le serveur lorsqu'ils sont trop courts et
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor remplacent ses propres messages d'erreur "amicaux". Le seuil de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis taille varie en fonction du type d'erreur, mais en général, si la
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis taille de votre message d'erreur est supérieure à 512 octets, il y a
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis peu de chances pour que MSIE l'occulte, et il sera affiché par ce
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor dernier. Vous trouverez d'avantage d'informations dans l'article de
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor la base de connaissances Microsoft <a
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor href="http://support.microsoft.com/default.aspx?scid=kb;en-us;Q294807"
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>Bien que la plupart des messages d'erreur internes originaux
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis puissent être remplacés, ceux-ci sont cependant conservés dans
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis certaines circonstances sans tenir compte de la définition de la
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor directive <directive module="core">ErrorDocument</directive>. En
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis particulier, en cas de détection d'une requête mal formée, le
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis processus de traitement normal des requêtes est immédiatement
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis interrompu, et un message d'erreur interne est renvoyé, ceci afin de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis se prémunir contre les problèmes de sécurité liés aux requêtes mal
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis formées.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Si vous utilisez mod_proxy, il est en général préférable
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis d'activer <directive
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis module="mod_proxy">ProxyErrorOverride</directive> afin d'être en
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis mesure de produire des messages d'erreur personnalisés pour le
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis compte de votre serveur d'origine. Si vous n'activez pas
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis ProxyErrorOverride, Apache httpd ne générera pas de messages d'erreur
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis personnalisés pour le contenu mandaté.</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<seealso><a href="/custom-error.html">documentation sur la
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<directivesynopsis>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<description>Définition du chemin du journal des erreurs</description>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<syntax> ErrorLog <var>chemin fichier</var>|syslog[:<var>facility</var>]</syntax>
03fc700cc2a7b22b84891f9595f23e40d5243b62lgentis<default>ErrorLog logs/error_log (Unix) ErrorLog logs/error.log (Windows and OS/2)</default>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<contextlist><context>server config</context><context>virtual
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorhost</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</contextlist>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>La directive <directive>ErrorLog</directive> permet de définir le
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor nom du fichier dans lequel le serveur va journaliser toutes les
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor erreurs qu'il rencontre. Si le <var>chemin fichier</var> n'est pas
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis absolu, il est considéré comme relatif au chemin défini par la
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor directive <directive module="core">ServerRoot</directive>.</p>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis <highlight language="config">ErrorLog "/var/log/httpd/error_log"</highlight>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>Si le <var>chemin fichier</var> commence par une barre verticale
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis "<code>(|)</code>", il est considéré comme une commande à lancer pour traiter la
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor journalisation de l'erreur.</p>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis <highlight language="config">ErrorLog "|/usr/local/bin/httpd_errors"</highlight>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Voir les notes à propos des <a href="/logs.html#piped">journaux
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>L'utilisation de <code>syslog</code> à la place d'un nom de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis fichier active la journalisation via syslogd(8) si le système le
0e48414563f4e1b5edb1f95518b25547a499ed79lgentis supporte et si <module>mod_syslog</module> a été chargé. Le
0e48414563f4e1b5edb1f95518b25547a499ed79lgentis dispositif syslog par défaut est <code>local7</code>,
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis mais vous pouvez le modifier à l'aide de la syntaxe
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <code>syslog:<var>facility</var></code>, où <var>facility</var> peut
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis être remplacé par un des noms habituellement documentés dans la page
5a884cb4f4b177e207554c26334ef853c5665e79lgentis de man syslog(1). Le dispositif syslog <code>local7</code> est
5a884cb4f4b177e207554c26334ef853c5665e79lgentis global, et si il est modifié dans un serveur virtuel, le dispositif
5a884cb4f4b177e207554c26334ef853c5665e79lgentis final spécifié affecte l'ensemble du serveur</p>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis <highlight language="config">ErrorLog syslog:user</highlight>
0e48414563f4e1b5edb1f95518b25547a499ed79lgentis <p>Des modules additionnels peuvent implémenter leur propre
0e48414563f4e1b5edb1f95518b25547a499ed79lgentis fournisseur ErrorLog. La syntaxe est similaire à l'exemple
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis href="/misc/security_tips.html#serverroot">conseils à propos de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis sécurité</a> pour des détails sur les raisons pour lesquelles votre
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis sécurité peut être compromise si le répertoire contenant les
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis fichiers journaux présente des droits en écriture pour tout autre
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis utilisateur que celui sous lequel le serveur est démarré.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Lors de la spécification d'un chemin de fichier sur les
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis plates-formes non-Unix, on doit veiller à n'utiliser que des
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis slashes (/), même si la plate-forme autorise l'utilisation des
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis anti-slashes (\). Et d'une manière générale, il est recommandé de
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor n'utiliser que des slashes (/) dans les fichiers de
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor configuration.</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<seealso><directive module="core">LogLevel</directive></seealso>
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis<seealso><a href="/logs.html">Fichiers journaux du serveur HTTP Apache</a></seealso>
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis</directivesynopsis>
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis<directivesynopsis>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<description>Spécification du format des entrées du journal des erreurs</description>
5d323739497b5c0694a533d3efbf9796f380d8d7lgentis<syntax> ErrorLogFormat [connection|request] <var>format</var></syntax>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<contextlist><context>server config</context><context>virtual host</context>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis</contextlist>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>La directive <directive>ErrorLogFormat</directive> permet de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis spécifier quelles informations supplémentaires vont être enregistrées
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis dans le journal des erreurs en plus du message habituel.</p>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis# Exemple simple
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentisErrorLogFormat "[%t] [%l] [pid %P] %F: %E: [client %a] %M"
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis </highlight>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>La spécification de <code>connection</code> ou
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <code>request</code> comme premier paramètre permet de définir des
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis formats supplémentaires, ce qui a pour effet de journaliser des
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis informations additionnelles lorsque le premier message est
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis enregistré respectivement pour une connexion ou une requête
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis spécifique. Ces informations additionnelles ne sont enregistrées
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis qu'une seule fois par connexion/requête. Si le traitement d'une
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis connexion ou d'une requête ne génère aucun message dans le journal,
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis alors aucune information additionnelle n'est enregistrée.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Il peut arriver que certains items de la chaîne de format ne
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis produisent aucune sortie. Par exemple, l'en-tête Referer n'est
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis présent que si le message du journal est associé à une requête et s'il
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis est généré à un moment où l'en-tête Referer a déjà été lu par le
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis client. Si aucune sortie n'est générée, le comportement par défaut
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis consiste à supprimer tout ce qui se trouve entre l'espace précédent
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis et le suivant. Ceci implique que la ligne de journalisation est
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis divisée en champs ne contenant pas d'espace séparés par des espaces.
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis Si un item de la chaîne de format ne génère aucune sortie,
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis l'ensemble du champ est omis. Par exemple, si l'adresse distante
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <code>%a</code> du format <code>[%t] [%l] [%a] %M </code> n'est
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis pas disponible, les crochets qui l'entourent ne seront eux-mêmes pas
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis enregistrés. Il est possible d'échapper les espaces par un anti-slash
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis afin qu'ils ne soient pas considérés comme séparateurs de champs.
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis La combinaison '% ' (pourcentage espace) est un délimiteur de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis champ de taille nulle qui ne génère aucune sortie.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Ce comportement peut être changé en ajoutant des modificateurs à
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis l'item de la chaîne de format. Le modificateur <code>-</code>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis (moins) provoque l'enregistrement d'un signe moins si l'item
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis considéré ne génère aucune sortie. Pour les formats à enregistrement
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis unique par connexion/requête, il est aussi possible d'utiliser le
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis modificateur <code>+</code> (plus). Si un item ne générant aucune
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis sortie possède le modificateur plus, la ligne dans son ensemble est
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Un modificateur de type entier permet d'assigner un niveau de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis sévérité à un item de format. L'item considéré ne
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis sera journalisé que si la sévérité du message n'est pas
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis plus haute que le niveau de sévérité spécifié. Les
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis valeurs possibles vont de 1 (alert) à 15 (trace8), en passant par 4
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis (warn) ou 7 (debug).</p>
5d323739497b5c0694a533d3efbf9796f380d8d7lgentis <p>Par exemple, voici ce qui arriverait si vous ajoutiez des
5d323739497b5c0694a533d3efbf9796f380d8d7lgentis modificateurs à l'item <code>%{Referer}i</code> qui enregistre le
5d323739497b5c0694a533d3efbf9796f380d8d7lgentis contenu de l'en-tête <code>Referer</code>.</p>
5d323739497b5c0694a533d3efbf9796f380d8d7lgentis <columnspec><column width=".3"/><column width=".7"/></columnspec>
5d323739497b5c0694a533d3efbf9796f380d8d7lgentis <tr><th>Item modifié</th><th>Signification</th></tr>
5d323739497b5c0694a533d3efbf9796f380d8d7lgentis <td>Enregistre le caractère <code>-</code> si l'en-tête
5d323739497b5c0694a533d3efbf9796f380d8d7lgentis <td>N'enregistre rien si l'en-tête
5d323739497b5c0694a533d3efbf9796f380d8d7lgentis <td>N'enregistre le contenu de l'en-tête <code>Referer</code> que si
5d323739497b5c0694a533d3efbf9796f380d8d7lgentis la sévérité du message de journalisation est supérieure à 4.</td>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Certains items de format acceptent des paramètres supplémentaires
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis entre accolades.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <columnspec><column width=".2"/><column width=".8"/></columnspec>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <tr><th>Chaîne de format</th> <th>Description</th></tr>
00ce3c4e13e755c33b63f45c5d3ae69eccd977b1lgentis <td>Port et adresse IP sous-jacents du correspondant pour la
00ce3c4e13e755c33b63f45c5d3ae69eccd977b1lgentis connexion (voir le module
5d323739497b5c0694a533d3efbf9796f380d8d7lgentis <td>Variable d'environnement de requête <em>name</em></td></tr>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <td>Nom du fichier source et numéro de ligne de l'appel du
5d323739497b5c0694a533d3efbf9796f380d8d7lgentis <td>En-tête de requête <em>name</em></td></tr>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <td>Nombre de requêtes persistantes pour cette connexion</td></tr>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <td>Sévérité du message</td></tr>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <td>Identifiant journal de la requête</td></tr>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <td>Identifiant journal de la connexion si utilisé dans la
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <td>Nom du module qui effectue la journalisation du message</td></tr>
0e1f43ce2f83de4fd1ed05915c95d3cc38441be3lgentis <td>Identifiant unique de thread système du thread courant
0e1f43ce2f83de4fd1ed05915c95d3cc38441be3lgentis (l'identifiant affiché par la commande <code>top</code> par
0e1f43ce2f83de4fd1ed05915c95d3cc38441be3lgentis exemple ; seulement sous Linux pour l'instant)</td></tr>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <td>L'heure courante avec les microsecondes</td></tr>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <td>L'heure courante au format compact ISO 8601, avec les
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis module="core">ServerName</directive> du serveur courant.</td></tr>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <td>Le nom de serveur du serveur qui sert la requête en accord
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis avec la définition de la directive <directive module="core"
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <tr><td><code>\ </code> (anti-slash espace)</td>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <tr><td><code>% </code> (pourcentage espace)</td>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <td>Délimiteur de champ (aucune sortie)</td></tr>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>L'item de format identifiant journal <code>%L</code> génère un
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis identifiant unique pour une connexion ou une requête. Il peut servir
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis à déterminer quelles lignes correspondent à la même connexion ou
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis requête ou quelle requête est associée à tel connexion. Un item de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis format <code>%L</code> est aussi disponible dans le module
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <module>mod_log_config</module>, mais il permet dans ce contexte de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis corréler les entrées du journal des accès avec celles du journal des
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis erreurs. Si le module <module>mod_unique_id</module> est chargé,
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis c'est son identifiant unique qui sera utilisé comme identifiant de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis journal pour les requêtes.</p>
739ce874d738594946c2725c8ee01ef504720991lgentis# Exemple (format par défaut pour les MPMs threadés)
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentisErrorLogFormat "[%{u}t] [%-m:%l] [pid %P:tid %T] %7F: %E: [client\ %a] %M% ,\ referer\ %{Referer}i"
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis </highlight>
5d323739497b5c0694a533d3efbf9796f380d8d7lgentis <p>Cet exemple renverrait un message d'erreur du style :</p>
5d323739497b5c0694a533d3efbf9796f380d8d7lgentis [Thu May 12 08:28:57.652118 2011] [core:error] [pid 8777:tid 4326490112] [client ::1:58619] File does not exist: /usr/local/apache2/htdocs/favicon.ico
5d323739497b5c0694a533d3efbf9796f380d8d7lgentis <p>Notez que, comme indiqué plus haut, certains champs sont
5d323739497b5c0694a533d3efbf9796f380d8d7lgentis totalement supprimés s'ils n'ont pas été définis.</p>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis# Exemple (similaire au format 2.2.x)
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentisErrorLogFormat "[%t] [%l] %7F: %E: [client\ %a] %M% ,\ referer\ %{Referer}i"
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis </highlight>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis# Exemple avancé avec identifiants journal de requête/connexion
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentisErrorLogFormat "[%{uc}t] [%-m:%-l] [R:%L] [C:%{C}L] %7F: %E: %M"
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentisErrorLogFormat request "[%{uc}t] [R:%L] Request %k on C:%{c}L pid:%P tid:%T"
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentisErrorLogFormat request "[%{uc}t] [R:%L] UA:'%+{User-Agent}i'"
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentisErrorLogFormat request "[%{uc}t] [R:%L] Referer:'%+{Referer}i'"
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentisErrorLogFormat connection "[%{uc}t] [C:%{c}L] local\ %a remote\ %A"
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis </highlight>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<seealso><directive module="core">ErrorLog</directive></seealso>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<seealso><directive module="core">LogLevel</directive></seealso>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<seealso><a href="/logs.html">Fichiers journaux du serveur HTTP Apache</a></seealso>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis</directivesynopsis>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<directivesynopsis>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<description>Extrait des informations d'état étendues pour chaque
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentisrequête</description>
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis<contextlist><context>server config</context></contextlist>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Cette option permet d'extraire des données supplémentaires
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis concernant la requête en cours de traitement pour un processus
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis donné, ainsi qu'un résumé d'utilisation ; vous pouvez accéder à
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis ces variables pendant l'exécution en configurant
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis <module>mod_status</module>. Notez que d'autres modules sont
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis susceptibles de s'appuyer sur ce tableau de bord.</p>
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis <p>Cette directive s'applique au serveur dans son ensemble, et ne
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis peut pas être activée/désactivée pour un serveur virtuel
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis particulier. Notez que l'extraction des informations d'état étendues
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis peut ralentir le serveur. Notez aussi que cette définition ne peut
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis pas être modifiée au cours d'un redémarrage graceful.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Notez que le chargement de <module>mod_status</module> définit
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis automatiquement ExtendedStatus à On, et que d'autres modules tiers
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis sont susceptibles d'en faire de même. De tels modules ont besoin
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis d'informations détaillées à propos de l'état de tous les processus.
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis Depuis la version 2.3.6, <module>mod_status</module> a définit la
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis valeur par défaut à On, alors qu'elle était à Off dans les versions
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis antérieures.</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<directivesynopsis>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<description>Caractéristiques de fichier utilisées lors de la génération
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentisde l'en-tête de réponse HTTP ETag pour les fichiers statiques</description>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<contextlist><context>server config</context><context>virtual
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorhost</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<context>directory</context><context>.htaccess</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</contextlist>
8202fc9176b3bca8b27ad20737863494e2f244a5lgentis<compatibility>La valeur par défaut était "INode MTime Size"
8202fc9176b3bca8b27ad20737863494e2f244a5lgentisdans les versions 2.3.14 et antérieures.</compatibility>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis La directive <directive>FileETag</directive> définit les
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis caractéristiques de fichier utilisées lors de la génération de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis l'en-tête de réponse HTTP <code>ETag</code> (entity tag) quand le
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis document est contenu dans un fichier statique(la valeur de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis est utilisée dans le cadre de la gestion du cache pour préserver la
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis bande passante réseau). La directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <directive>FileETag</directive> vous permet maintenant de choisir
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis quelles caractéristiques du fichier vont être utilisées, le cas
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis échéant. Les mots-clés reconnus sont :
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <dd>Le numéro d'i-node du fichier sera inclus dans le processus de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis génération</dd>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <dd>La date et l'heure auxquelles le fichier a été modifié la
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis dernière fois seront incluses</dd>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <dd>Tous les champs disponibles seront utilisés. Cette définition
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis est équivalente à :
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis <highlight language="config">FileETag INode MTime Size</highlight></dd>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <dd>Si le document se compose d'un fichier, aucun champ
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <code>ETag</code> ne sera inclus dans la réponse</dd>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Les mots-clés <code>INode</code>, <code>MTime</code>, et
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <code>Size</code> peuvent être préfixés par <code>+</code> ou
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <code>-</code>, ce qui permet de modifier les valeurs par défaut
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis héritées d'un niveau de configuration plus général. Tout mot-clé
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis apparaissant sans aucun préfixe annule entièrement et immédiatement
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis les configurations héritées.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Si la configuration d'un répertoire contient
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <code>FileETag INode MTime Size</code>, et si un de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis ses sous-répertoires contient <code>FileETag -INode</code>, la
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis configuration de ce sous-répertoire (qui sera propagée vers tout
48a42d4cf6ed025e08edcc3ad6a62c5000755a07lgentis sous-répertoire qui ne la supplante pas), sera équivalente à
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis Ne modifiez pas les valeurs par défaut pour les répertoires ou
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis localisations où WebDAV est activé et qui utilisent
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <module>mod_dav_fs</module> comme fournisseur de stockage.
8202fc9176b3bca8b27ad20737863494e2f244a5lgentis <code>MTime Size</code> comme format fixe pour les
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis comparaisons de champs <code>ETag</code> dans les requêtes
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis conditionnelles. Ces requêtes conditionnelles échoueront si le
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis format <code>ETag</code> est modifié via la directive
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <note><title>Inclusions côté serveur</title>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis Aucun champ ETag n'est généré pour les réponses interprétées par
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <module>mod_include</module>, car l'entité de la réponse peut
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis changer sans modification de l'INode, du MTime, ou de la taille du
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis fichier statique contenant les directives SSI.
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<description>Contient des directives qui s'appliquent aux fichiers
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentisprécisés</description>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<syntax><Files <var>nom fichier</var>> ... </Files></syntax>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<contextlist><context>server config</context><context>virtual
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorhost</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<context>directory</context><context>.htaccess</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</contextlist>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>La directive <directive type="section">Files</directive> limite
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis la portée des directives qu'elle contient aux fichiers précisés.
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor Elle est comparable aux directives <directive module="core"
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor type="section">Directory</directive> et <directive module="core"
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor type="section">Location</directive>. Elle doit se terminer par une
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor balise <code></Files></code>. Les directives contenues dans
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis cette section s'appliqueront à tout objet dont le nom de base (la
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis dernière partie du nom de fichier) correspond au fichier spécifié.
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor Les sections <directive type="section">Files</directive> sont
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis traitées selon l'ordre dans lequel elles apparaissent dans le
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis fichier de configuration, après les sections <directive module="core"
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor type="section">Directory</directive> et la lecture des fichiers
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <code>.htaccess</code>, mais avant les sections <directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor type="section" module="core">Location</directive>. Notez que les
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis sections <directive type="section">Files</directive> peuvent être
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis imbriquées dans les sections <directive type="section"
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor module="core">Directory</directive> afin de restreindre la portion
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis du système de fichiers à laquelle ces dernières vont
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor s'appliquer.</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>L'argument <var>filename</var> peut contenir un nom de fichier
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis ou une chaîne de caractères avec caractères génériques, où
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <code>?</code> remplace un caractère, et <code>*</code> toute chaîne
365fe22ed4eb1d92c2a8c8c6352897a4fb93769blgentis de caractères.</p>
365fe22ed4eb1d92c2a8c8c6352897a4fb93769blgentis<Files "cat.html">
365fe22ed4eb1d92c2a8c8c6352897a4fb93769blgentis # Insérer ici des directives qui s'appliquent au fichier cat.html
365fe22ed4eb1d92c2a8c8c6352897a4fb93769blgentis</Files>
365fe22ed4eb1d92c2a8c8c6352897a4fb93769blgentis<Files "?at.*">
365fe22ed4eb1d92c2a8c8c6352897a4fb93769blgentis # Les directives insérées ici s'appliqueront aux fichiers
365fe22ed4eb1d92c2a8c8c6352897a4fb93769blgentis</Files>
365fe22ed4eb1d92c2a8c8c6352897a4fb93769blgentis</highlight>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor ref="regex">Expressions rationnelles</glossary> en ajoutant la
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis<Files ~ "\.(gif|jpe?g|png)$">
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis</Files>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis</highlight>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>correspondrait à la plupart des formats graphiques de l'Internet.
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis Il est cependant préférable d'utiliser la directive <directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor module="core" type="section">FilesMatch</directive>.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Notez qu'à la différence des sections <directive type="section"
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor module="core">Directory</directive> et <directive type="section"
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor module="core">Location</directive>, les sections <directive
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis type="section">Files</directive> peuvent être utilisées dans les
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor fichiers <code>.htaccess</code>. Ceci permet aux utilisateurs de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis contrôler l'accès à leurs propres ressources, fichier par
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor fichier.</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<seealso><a href="/sections.html">Comment fonctionnent les sections
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<Directory>, <Location> et <Files></a> pour une
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentisexplication de la manière dont ces différentes sections se combinent
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentisentre elles à la réception d'une requête</seealso>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<description>Contient des directives qui s'appliquent à des fichiers
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentisspécifiés sous la forme d'expressions rationnelles</description>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<syntax><FilesMatch <var>expression rationnelle</var>> ...
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</FilesMatch></syntax>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<contextlist><context>server config</context><context>virtual
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorhost</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<context>directory</context><context>.htaccess</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</contextlist>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>La section <directive type="section">FilesMatch</directive>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis limite la portée des directives qu'elle contient aux fichiers
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis spécifiés, tout comme le ferait une section <directive module="core"
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor type="section">Files</directive>. Mais elle accepte aussi les
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <glossary ref="regex">expressions rationnelles</glossary>. Par
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor exemple :</p>
3410b584d8126761b178068883f2ffc751b9e691lgentis<FilesMatch ".+\.(gif|jpe?g|png)$">
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis</FilesMatch>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis</highlight>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>correspondrait à la plupart des formats graphiques de
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor l'Internet.</p>
3410b584d8126761b178068883f2ffc751b9e691lgentis <note>Les caractères <code>.+</code> au début de l'expression
3410b584d8126761b178068883f2ffc751b9e691lgentis rationnelle permettent de s'assurer que les fichiers de nom
3410b584d8126761b178068883f2ffc751b9e691lgentis <code>.png</code>, ou <code>.gif</code>, par exemple, ne seront pas
3410b584d8126761b178068883f2ffc751b9e691lgentis pris en compte.</note>
66a40356a2baa1bdc3f91e91399a8bf3d2dbe7c6lgentis <p>A partir de la version 2.4.8, les groupes nommés et les
3841a292dc897875faf23e639807abcc90082f3clgentis références arrières sont extraits et enregistrés dans
3841a292dc897875faf23e639807abcc90082f3clgentis l'environnement avec leur nom en majuscules et préfixé
3841a292dc897875faf23e639807abcc90082f3clgentis par "MATCH_". Ceci permet
9f47982d4f9350397f1f62f04f1ba744ad5b6fa5lgentis de référencer des URLs dans des <a href="/expr.html">expressions</a>
3841a292dc897875faf23e639807abcc90082f3clgentis ou au sein de modules comme <module>mod_rewrite</module>. Pour
3841a292dc897875faf23e639807abcc90082f3clgentis éviter toute confusion, les références arrières numérotées (non
3841a292dc897875faf23e639807abcc90082f3clgentis nommées) sont ignorées. Vous devez utiliser à la place des groupes
3841a292dc897875faf23e639807abcc90082f3clgentis nommés.</p>
3410b584d8126761b178068883f2ffc751b9e691lgentis<FilesMatch "^(?<sitename>[^/]+)">
3841a292dc897875faf23e639807abcc90082f3clgentis require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
9f47982d4f9350397f1f62f04f1ba744ad5b6fa5lgentis</FilesMatch>
3841a292dc897875faf23e639807abcc90082f3clgentis</highlight>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<seealso><a href="/sections.html">Comment fonctionnent les sections
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<Directory>, <Location> et <Files></a> pour une
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentisexplication de la manière dont ces différentes sections se combinent
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentisentre elles à la réception d'une requête</seealso>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<directivesynopsis>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<description>Force le type de médium spécifié dans le champ d'en-tête
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorHTTP Content-Type pour les fichiers correspondants</description>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<syntax>ForceType <var>type médium</var>|None</syntax>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<contextlist><context>directory</context><context>.htaccess</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</contextlist>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Lorsqu'elle est placée dans un fichier <code>.htaccess</code> ou
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor module="core">Directory</directive>, <directive type="section"
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor module="core">Location</directive>, ou <directive type="section"
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor module="core">Files</directive>, cette directive force
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis l'identification du type MIME des fichiers spécifiés à la valeur de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis l'argument <var>type médium</var>. Par exemple, si vous possédez un
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis répertoire ne contenant que des fichiers GIF, et si vous ne voulez
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor pas leur ajouter l'extension <code>.gif</code>, vous pouvez utiliser
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis <highlight language="config">ForceType image/gif</highlight>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>Notez que cette directive l'emporte sur d'autres associations de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis type de médium indirectes définies dans mime.types ou via la
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor directive <directive module="mod_mime">AddType</directive>.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Vous pouvez aussi annuler toute définition plus générale de
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <directive>ForceType</directive> en affectant la valeur
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <code>None</code> à l'argument <var>type médium</var> :</p>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis# force le type MIME de tous les fichiers à image/gif:
3410b584d8126761b178068883f2ffc751b9e691lgentis<Location "/images">
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis</Location>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis# mais utilise les méthodes classiques d'attribution du type MIME
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis# dans le sous-répertoire suivant :
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis ForceType None
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis</Location>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis </highlight>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>A la base, cette directive écrase le type de contenu généré pour
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis les fichiers statiques servis à partir du sytème de fichiers. Pour
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis les ressources autres que les fichiers statiques pour lesquels le
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis générateur de réponse spécifie en général un type de contenu, cette
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis directive est ignorée.</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
5a884cb4f4b177e207554c26334ef853c5665e79lgentis<directivesynopsis>
5a884cb4f4b177e207554c26334ef853c5665e79lgentis<description>Répertoire dans lequel écrire les données de profiling
5a884cb4f4b177e207554c26334ef853c5665e79lgentis<syntax>GprofDir <var>/tmp/gprof/</var>|<var>/tmp/gprof/</var>%</syntax>
5a884cb4f4b177e207554c26334ef853c5665e79lgentis<contextlist><context>server config</context><context>virtual host</context>
5a884cb4f4b177e207554c26334ef853c5665e79lgentis</contextlist>
5a884cb4f4b177e207554c26334ef853c5665e79lgentis <p>Lorsque le serveur a été compilé avec le support du profiling
5a884cb4f4b177e207554c26334ef853c5665e79lgentis gprof, la directive <directive>GprofDir</directive> permet de
5a884cb4f4b177e207554c26334ef853c5665e79lgentis spécifier dans quel répertoire les fichiers <code>gmon.out</code>
5a884cb4f4b177e207554c26334ef853c5665e79lgentis doivent être écrits lorsque le processus s'arrête. Si l'argument se
5a884cb4f4b177e207554c26334ef853c5665e79lgentis termine par un caractère pourcentage ('%'), des sous-répertoires
5a884cb4f4b177e207554c26334ef853c5665e79lgentis sont créés pour chaque identifiant de processus.</p>
5a884cb4f4b177e207554c26334ef853c5665e79lgentis <p>Cette directive ne fonctionne actuellement qu'avec le MPM
5a884cb4f4b177e207554c26334ef853c5665e79lgentis</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<description>Active la recherche DNS sur les adresses IP des
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorclients</description>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<contextlist><context>server config</context><context>virtual
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorhost</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>Cette directive active la recherche DNS afin de pouvoir
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis journaliser les nom d'hôtes (et les passer aux programmes CGI et aux
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor inclusions SSI via la variable <code>REMOTE_HOST</code>). La valeur
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <code>Double</code> déclenche une double recherche DNS inverse. En
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis d'autres termes, une fois la recherche inverse effectuée, on lance
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis une recherche directe sur le résultat de cette dernière. Au moins
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor une des adresses IP fournies par la recherche directe doit
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis correspondre à l'adresse originale (ce que l'on nomme
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <code>PARANOID</code> dans la terminologie "tcpwrappers").</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>Quelle que soit la configuration, lorsqu'on utilise
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <module>mod_authz_host</module> pour contrôler l'accès en fonction
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis du nom d'hôte, une double recherche DNS inverse est effectuée,
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis sécurité oblige. Notez cependant que le résultat de cette double
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis recherche n'est en général pas accessible, à moins que vous n'ayez
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis spécifié <code>HostnameLookups Double</code>. Par exemple, si vous
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis n'avez spécifié que <code>HostnameLookups On</code>, et si une
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis requête concerne un objet protégé par des restrictions en fonction
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis du nom d'hôte, quel que soit le résultat de la double recherche
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis inverse, les programmes CGI ne recevront que le résultat de la
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor recherche inverse simple dans la variable
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>La valeur par défaut est <code>Off</code> afin de préserver le
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis traffic réseau des sites pour lesquels la recherche inverse n'est
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis pas vraiment nécessaire. Cette valeur par défaut est aussi bénéfique
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis pour les utilisateurs finaux car il n'ont ainsi pas à subir de temps
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis d'attente supplémentaires dus aux recherches DNS. Les sites
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis fortement chargés devraient laisser cette directive à
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <code>Off</code>, car les recherches DNS peuvent prendre des temps
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis très longs. Vous pouvez éventuellement utiliser hors ligne
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis l'utilitaire <program>logresolve</program>, compilé par défaut dans
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis le sous-répertoire <code>bin</code> de votre répertoire
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis d'installation, afin de déterminer les noms d'hôtes associés aux
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis adresses IP journalisées.</p>
0ae80e97c7736c9b059bfb0472d48655096c20fblgentis href="mod_authz_host.html#reqhost">directives Require à base de
0ae80e97c7736c9b059bfb0472d48655096c20fblgentis nom</a>, une recherche de nom d'hôte sera effectuée quelle que soit
0ae80e97c7736c9b059bfb0472d48655096c20fblgentis la définition de la directive <code>HostnameLookups</code>.</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<description>Contient des directives qui ne s'appliquent que si une
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorcondition est satisfaite au cours du traitement d'une
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentisrequête</description>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<syntax><If <var>expression</var>> ... </If></syntax>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<contextlist><context>server config</context><context>virtual
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorhost</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<context>directory</context><context>.htaccess</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</contextlist>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>La directive <directive type="section">If</directive> évalue une
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis expression à la volée, et applique les directives qu'elle contient
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor si et seulement si l'expression renvoie la valeur "vrai". Par
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor exemple :</p>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis <highlight language="config"><If "-z req('Host')"></highlight>
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis <p>serait satisfaite pour les requêtes HTTP/1.0 sans en-tête
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis <var>Host:</var>. Les expressions peuvent contenir différents
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis opérateurs de type shell pour la comparaison de chaînes
4d239fe66e915d2ef73a95c0620f6b3a9f068b64lgentis (<code>==</code>, <code>!=</code>, <code><</code>, ...), la
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis comparaison d'entiers (<code>-eq</code>, <code>-ne</code>, ...), ou
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis à usages divers (<code>-n</code>, <code>-z</code>, <code>-f</code>,
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis ...). Les expressions rationnelles sont aussi supportées,</p>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis <highlight language="config"><If "%{QUERY_STRING} =~ /(delete|commit)=.*?elem/"></highlight>
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis <p>ainsi que les comparaison de modèles de type shell et de
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis nombreuses autres opérations. Ces opérations peuvent être effectuées
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis sur les en-têtes de requêtes (<code>req</code>), les variables
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis d'environnement (<code>env</code>), et un grand nombre d'autres
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis propriétés. La documentation complète est disponible dans <a
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis href="/expr.html">Les expressions dans le serveur HTTP Apache</a>.</p>
63edd358d6b6fda4f9dfa96effa972bf996b77f8lgentis <p>Cette section de configuration ne peut contenir que des
63edd358d6b6fda4f9dfa96effa972bf996b77f8lgentis directives qui supportent le <a
9f47982d4f9350397f1f62f04f1ba744ad5b6fa5lgentis href="directive-dict.html#Context">contexte de répertoire</a>.</p>
3410b584d8126761b178068883f2ffc751b9e691lgentis Certaines variables comme <code>CONTENT_TYPE</code> ainsi que
3410b584d8126761b178068883f2ffc751b9e691lgentis d'autres en-têtes de réponse ne seront pas disponibles dans ce bloc,
3410b584d8126761b178068883f2ffc751b9e691lgentis car elle sont définies après l'évaluation des conditions <If>.
560024d8ef457c288c07cee03dd8db0ab28c2fb8lgentis<seealso><a href="/expr.html">Les expressions dans le serveur HTTP
560024d8ef457c288c07cee03dd8db0ab28c2fb8lgentisApache</a>, pour une référence complète et d'autres exemples.</seealso>
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis<seealso><directive type="section" module="core">ElseIf</directive></seealso>
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis<seealso><directive type="section" module="core">Else</directive></seealso>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<seealso><a href="/sections.html">Comment fonctionnent les sections
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<Directory>, <Location> et <Files></a> pour une
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentisexplication de la manière dont ces différentes sections se combinent
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentisentre elles à la réception d'une requête. Les
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentisdirectives <directive type="section">If</directive>, <directive
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentistype="section">Else</directive> s'appliquent en dernier.</seealso>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<description>Contient des directives qui ne s'appliqueront que si un
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentistest retourne "vrai" au démarrage du serveur</description>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<syntax><IfDefine [!]<var>paramètre</var>> ...
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor </IfDefine></syntax>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<contextlist><context>server config</context><context>virtual
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorhost</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<context>directory</context><context>.htaccess</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</contextlist>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <var>test</var>>...</IfDefine></code> permet de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis conférer un caractère conditionnel à un ensemble de directives. Les
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis directives situées à l'intérieur d'une section <directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor type="section">IfDefine</directive> ne s'appliquent que si
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <var>test</var> est vrai. Si <var>test</var> est faux, tout ce qui
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis se trouve entre les balises de début et de fin est ignoré.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p><var>test</var> peut se présenter sous deux formes :</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <li><code>!</code><var>nom paramètre</var></li>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Dans le premier cas, les directives situées entre les balises de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis début et de fin ne s'appliqueront que si le paramètre nommé <var>nom
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis paramètre</var> est défini. Le second format inverse le test, et
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor dans ce cas, les directives ne s'appliqueront que si <var>nom
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis paramètre</var> n'est <strong>pas</strong> défini.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>L'argument <var>nom paramètre</var> est une définition qui peut
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis être effectuée par la ligne de commande
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <code>-D<var>paramètre</var></code> au démarrage du serveur, ou via la
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor directive <directive module="core">Define</directive>.</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>Les sections <directive type="section">IfDefine</directive>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis peuvent être imbriquées, ce qui permet d'implémenter un test
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis multi-paramètres simple. Exemple :</p>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis <example>httpd -DReverseProxy -DUseCache -DMemCache ...</example>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis<IfDefine ReverseProxy>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis LoadModule proxy_http_module modules/mod_proxy_http.so
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis <IfDefine UseCache>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis <IfDefine MemCache>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis LoadModule mem_cache_module modules/mod_mem_cache.so
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis </IfDefine>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis <IfDefine !MemCache>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis LoadModule cache_disk_module modules/mod_cache_disk.so
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis </IfDefine>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis </IfDefine>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis</IfDefine>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis </highlight>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<description>Contient des directives qui ne s'appliquent qu'en fonction
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentisde la présence ou de l'absence d'un module spécifique</description>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<syntax><IfModule [!]<var>fichier module</var>|<var>identificateur
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<contextlist><context>server config</context><context>virtual
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorhost</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<context>directory</context><context>.htaccess</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</contextlist>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <var>test</var>>...</IfModule></code> permet de conférer à
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis des directives un caractère conditionnel basé sur la présence d'un
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis module spécifique. Les directives situées dans une section
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <directive type="section">IfModule</directive> ne s'appliquent que
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor si <var>test</var> est vrai. Si <var>test</var> est faux, tout ce
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis qui se trouve entre les balises de début et de fin est ignoré.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p><var>test</var> peut se présenter sous deux formes :</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Dans le premier cas, les directives situées entre les balises de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis début et de fin ne s'appliquent que si le module <var>module</var>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis est présent -- soit compilé avec le binaire Apache httpd, soit chargé
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor dynamiquement via la directive <directive module="mod_so"
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor >LoadModule</directive>. Le second format inverse le test, et dans
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor ce cas, les directives ne s'appliquent que si <var>module</var>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>L'argument <var>module</var> peut contenir soit l'identificateur
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor du module, soit le nom du fichier source du module. Par exemple,
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor correspondant. Si un module comporte plusieurs fichiers sources,
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis utilisez le nom du fichier qui contient la chaîne de caractères
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>Les sections <directive type="section">IfModule</directive>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis peuvent être imbriquées, ce qui permet d'implémenter des tests
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor multi-modules simples.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <note>Cette section ne doit être utilisée que si votre fichier de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis configuration ne fonctionne qu'en fonction de la présence ou de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis l'absence d'un module spécifique. D'une manière générale, il n'est
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis pas nécessaire de placer les directives à l'intérieur de sections
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <directive type="section">IfModule</directive>.</note>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<description>Inclut d'autres fichiers de configuration dans un des
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorfichiers de configuration du serveur</description>
0913bfbe40ded555f40fed41749671697bc3c287lgentis<syntax>Include <var>chemin-fichier</var>|<var>chemin-répertoire</var>|<var>wildcard</var></syntax>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<contextlist><context>server config</context><context>virtual
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorhost</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</contextlist>
a69701660f992f38458ca3e706e3371d964f0fbelgentis<compatibility>Utilisation des caractères
a69701660f992f38458ca3e706e3371d964f0fbelgentisgénériques dans la partie chemin depuis la version 2.3.6</compatibility>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>Cette directive permet l'inclusion d'autres fichiers de
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor configuration dans un des fichiers de configuration du serveur.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>On peut utiliser des caractères génériques de style Shell
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis (<code>fnmatch()</code>) aussi bien dans la partie nom de fichier du
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis chemin que dans la partie répertoires pour inclure plusieurs
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis fichiers en une
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis seule fois, selon leur ordre alphabétique. De plus, si la directive
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <directive>Include</directive> pointe vers un répertoire, Apache
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis httpd inclura tous les fichiers de ce répertoire et de tous ces
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis sous-répertoires. L'inclusion de répertoires entiers est cependant
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis déconseillée, car il est fréquent d'oublier des fichiers
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis temporaires dans un répertoire, ce qui causerait une erreur
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <program>httpd</program> en cas d'inclusion. Pour inclure des
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis fichiers qui correspondent à un certain modèle, comme *.conf par
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis exemple, nous vous recommandons d'utiliser plutôt la syntaxe avec
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis caractères génériques comme ci-dessous.</p>
0913bfbe40ded555f40fed41749671697bc3c287lgentis <p>La directive <directive module="core">Include</directive>
0913bfbe40ded555f40fed41749671697bc3c287lgentis <strong>échouera avec un code d'erreur</strong> si une expression
0913bfbe40ded555f40fed41749671697bc3c287lgentis contenant des caractères génériques ne correspond à aucun fichier.
0913bfbe40ded555f40fed41749671697bc3c287lgentis Pour ignorer les expressions contenant des caractères génériques ne
0913bfbe40ded555f40fed41749671697bc3c287lgentis correspondant à aucun fichier, utilisez la directive <directive
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Le chemin fichier spécifié peut être soit un chemin absolu, soit
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis un chemin relatif au répertoire défini par la directive <directive
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis </highlight>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>ou encore, avec des chemins relatifs au répertoire défini par la
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor directive <directive module="core">ServerRoot</directive> :</p>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis </highlight>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>On peut aussi insérer des caractères génériques dans la partie
0913bfbe40ded555f40fed41749671697bc3c287lgentis répertoires du chemin. Dans l'exemple suivant, la directive
0913bfbe40ded555f40fed41749671697bc3c287lgentis échouera si aucun sous-répertoire de conf/vhosts ne contient au
0913bfbe40ded555f40fed41749671697bc3c287lgentis moins un fichier *.conf :</p>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis <highlight language="config">Include conf/vhosts/*/*.conf</highlight>
0913bfbe40ded555f40fed41749671697bc3c287lgentis <p>Par contre, dans l'exemple suivant, la directive sera simplement
0913bfbe40ded555f40fed41749671697bc3c287lgentis ignorée si aucun sous-répertoire de conf/vhosts ne contient au
0913bfbe40ded555f40fed41749671697bc3c287lgentis moins un fichier *.conf :</p>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis <highlight language="config">IncludeOptional conf/vhosts/*/*.conf</highlight>
0913bfbe40ded555f40fed41749671697bc3c287lgentis<seealso><directive module="core">IncludeOptional</directive></seealso>
0913bfbe40ded555f40fed41749671697bc3c287lgentis</directivesynopsis>
0913bfbe40ded555f40fed41749671697bc3c287lgentis<directivesynopsis>
0913bfbe40ded555f40fed41749671697bc3c287lgentis<description>Inclusion de fichiers dans le fichier de configuration</description>
0913bfbe40ded555f40fed41749671697bc3c287lgentis<syntax>IncludeOptional
0913bfbe40ded555f40fed41749671697bc3c287lgentis<var>chemin-fichier</var>|<var>chemin-répertoire</var>|<var>wildcard</var></syntax>
0913bfbe40ded555f40fed41749671697bc3c287lgentis<contextlist><context>server config</context><context>virtual host</context>
0913bfbe40ded555f40fed41749671697bc3c287lgentis</contextlist>
0913bfbe40ded555f40fed41749671697bc3c287lgentis<compatibility>Disponible à partir de la version 2.3.6 du serveur HTTP
0913bfbe40ded555f40fed41749671697bc3c287lgentisApache</compatibility>
0913bfbe40ded555f40fed41749671697bc3c287lgentis <p>Cette directive permet d'inclure des fichiers dans les fichiers
0913bfbe40ded555f40fed41749671697bc3c287lgentis de configuration du serveur. Elle fonctionne de manière identique à
0913bfbe40ded555f40fed41749671697bc3c287lgentis la directive <directive module="core">Include</directive>, à
0913bfbe40ded555f40fed41749671697bc3c287lgentis l'exception du fait que si l'expression avec caractères génériques
0913bfbe40ded555f40fed41749671697bc3c287lgentis wilcard ne correspond à aucun fichier ou répertoire, elle sera
0913bfbe40ded555f40fed41749671697bc3c287lgentis ignorée silencieusement au lieu de causer une erreur.</p>
0913bfbe40ded555f40fed41749671697bc3c287lgentis<seealso><directive module="core">Include</directive></seealso>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<description>Active les connexions HTTP persistantes</description>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<contextlist><context>server config</context><context>virtual
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorhost</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</contextlist>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>L'extension Keep-Alive de HTTP/1.0 et l'implémentation des
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor connexions persistantes dans HTTP/1.1 ont rendu possibles des
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis sessions HTTP de longue durée, ce qui permet de transmettre
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis plusieurs requêtes via la même connexion TCP. Dans certains cas, le
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis gain en rapidité pour des documents comportant de nombreuses images
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor peut atteindre 50%. Pour activer les connexions persistantes,
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>Pour les clients HTTP/1.0, les connexions persistantes ne seront
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis mises en oeuvre que si elles ont été spécialement demandées par un
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor client. De plus, une connexion persistante avec un client HTTP/1.0
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis ne peut être utilisée que si la taille du contenu est connue
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor d'avance. Ceci implique que les contenus dynamiques comme les
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis sorties CGI, les pages SSI, et les listings de répertoires générés
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis par le serveur n'utiliseront en général pas les connexions
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor persistantes avec les clients HTTP/1.0. Avec les clients HTTP/1.1,
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis les connexions persistantes sont utilisées par défaut, sauf
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor instructions contraires. Si le client le demande, le transfert par
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis tronçons de taille fixe (chunked encoding) sera utilisé afin de
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor transmettre un contenu de longueur inconnue via une connexion
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor persistante.</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>Lorsqu'un client utilise une connexion persistante, elle comptera
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis pour une seule requête pour la directive <directive
d7337c7fa9678c6ac72fdfcd87d8122c669f6b42lgentis module="mpm_common">MaxConnectionsPerChild</directive>, quel
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis que soit le nombre de requêtes transmises via cette connexion.</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<seealso><directive module="core">MaxKeepAliveRequests</directive></seealso>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<directivesynopsis>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<description>Durée pendant laquelle le serveur va attendre une requête
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzoravant de fermer une connexion persistante</description>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<syntax>KeepAliveTimeout <var>nombre</var>[ms]</syntax>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<contextlist><context>server config</context><context>virtual
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorhost</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</contextlist>
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis <p>Le nombre de secondes pendant lesquelles Apache httpd va attendre une
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis requête avant de fermer la connexion. Le délai peut être défini en
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis millisecondes en suffixant sa valeur par ms. La valeur du délai
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis spécifiée par la directive <directive
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis module="core">Timeout</directive> s'applique dès qu'une requête a
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis été reçue.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Donner une valeur trop élévée à
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <directive>KeepAliveTimeout</directive> peut induire des problèmes
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis de performances sur les serveurs fortement chargés. Plus le délai
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis est élévé, plus nombreux seront les processus serveur en attente de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis requêtes de la part de clients inactifs.</p>
0c13db48388dcfba27ff8a360faa22f332c2a975lgentis <p>Si la directive <directive>KeepAliveTimeout</directive>
0c13db48388dcfba27ff8a360faa22f332c2a975lgentis <strong>n'est pas</strong> définie pour un des serveurs virtuels
0c13db48388dcfba27ff8a360faa22f332c2a975lgentis à base de nom, c'est le serveur virtuel dont la paire adresse
0c13db48388dcfba27ff8a360faa22f332c2a975lgentis IP/port correspond le mieux qui sera utilisée.</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<description>Limite les contrôles d'accès que la section contient à
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentiscertaines méthodes HTTP</description>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<syntax><Limit <var>méthode</var> [<var>méthode</var>] ... > ...
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor </Limit></syntax>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<contextlist><context>directory</context><context>.htaccess</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</contextlist>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Les contrôles d'accès s'appliquent normalement à
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <strong>toutes</strong> les méthodes d'accès, et c'est en général le
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis comportement souhaité. <strong>Dans le cas général, les directives
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis de contrôle d'accès n'ont pas à être placées dans une section
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <directive type="section">Limit</directive>.</strong></p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>La directive <directive type="section">Limit</directive> a pour
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis but de limiter les effets des contrôles d'accès aux méthodes HTTP
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis spécifiées. Pour toutes les autres méthodes, les restrictions
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis d'accès contenues dans la section <directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor type="section">Limit</directive> <strong>n'auront aucun
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis effet</strong>. L'exemple suivant n'applique les contrôles d'accès
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis qu'aux méthodes <code>POST</code>, <code>PUT</code>, et
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <code>DELETE</code>, en laissant les autres méthodes sans protection
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis<Limit POST PUT DELETE>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis Require valid-user
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis</Limit>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis </highlight>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>La liste des noms de méthodes peut contenir une ou plusieurs
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor valeurs parmi les suivantes : <code>GET</code>, <code>POST</code>,
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <code>PUT</code>, <code>DELETE</code>, <code>CONNECT</code>,
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <code>OPTIONS</code>, <code>PATCH</code>, <code>PROPFIND</code>,
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <code>PROPPATCH</code>, <code>MKCOL</code>, <code>COPY</code>,
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <code>MOVE</code>, <code>LOCK</code>, et <code>UNLOCK</code>.
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <strong>Le nom de méthode est sensible à la casse.</strong> Si la
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis valeur <code>GET</code> est présente, les requêtes <code>HEAD</code>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis seront aussi concernées. La méthode <code>TRACE</code> ne peut pas
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis être limitée (voir la directive <directive
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis type="section">LimitExcept</directive> doit toujours être préférée à
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis une section <directive type="section">Limit</directive> pour la
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis restriction d'accès, car une section <directive type="section"
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor module="core">LimitExcept</directive> fournit une protection contre
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis les méthodes arbitraires.</note>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>Les directives <directive type="section">Limit</directive> et
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <directive type="section" module="core">LimitExcept</directive>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis peuvent être imbriquées. Dans ce cas, pour chaque niveau des
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor directives <directive type="section">Limit</directive> ou <directive
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis type="section" module="core">LimitExcept</directive>, ces dernières
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis doivent restreindre l'accès pour les méthodes auxquelles les
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis contrôles d'accès s'appliquent.</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <note type="warning">Lorsqu'on utilise les directives <directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor type="section">LimitExcept</directive> avec la directive <directive
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis module="mod_authz_core">Require</directive>, la première directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <directive module="mod_authz_core">Require</directive> dont la
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis condition est satisfaite autorise la requête, sans tenir compte de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis la présence d'autres directives <directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>Par exemple, avec la configuration suivante, tous les
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis utilisateurs seront autorisés à effectuer des requêtes
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <code>POST</code>, et la directive <code>Require group
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis editors</code> sera ignorée dans tous les cas :</p>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis<LimitExcept GET>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis Require valid-user
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis</LimitExcept>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis<Limit POST>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis Require group editors
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis</Limit>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis </highlight>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<description>Applique les contrôles d'accès à toutes les méthodes HTTP,
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentissauf celles qui sont spécifiées</description>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<syntax><LimitExcept <var>méthode</var> [<var>méthode</var>] ... > ...
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor </LimitExcept></syntax>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<contextlist><context>directory</context><context>.htaccess</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</contextlist>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p><directive type="section">LimitExcept</directive> et
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <code></LimitExcept></code> permettent de regrouper des
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis directives de contrôle d'accès qui s'appliqueront à toutes les
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis méthodes d'accès HTTP qui ne font <strong>pas</strong> partie de la
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor liste des arguments ; en d'autres termes, elles ont un comportement
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis opposé à celui de la section <directive type="section"
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor module="core">Limit</directive>, et on peut les utiliser pour
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis contrôler aussi bien les méthodes standards que les méthodes non
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor standards ou non reconnues. Voir la documentation de la section
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <directive module="core" type="section">Limit</directive> pour plus
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis de détails.</p>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis<LimitExcept POST GET>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis Require valid-user
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis</LimitExcept>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis </highlight>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<directivesynopsis>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<description>Détermine le nombre maximal de redirections internes et de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentissous-requêtes imbriquées</description>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<syntax>LimitInternalRecursion <var>nombre</var> [<var>nombre</var>]</syntax>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<contextlist><context>server config</context><context>virtual
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorhost</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</contextlist>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>Une redirection interne survient, par exemple, quand on utilise
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor la directive <directive module="mod_actions">Action</directive> qui
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis redirige en interne la requête d'origine vers un script CGI. Une
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis sous-requête est le mécanisme qu'utilise Apache httpd pour déterminer ce
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis qui se passerait pour un URI s'il faisait l'objet d'une requête. Par
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis exemple, <module>mod_dir</module> utilise les sous-requêtes pour
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis rechercher les fichiers listés dans la directive <directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>La directive <directive>LimitInternalRecursion</directive> permet
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis d'éviter un crash du serveur dû à un bouclage infini de redirections
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis internes ou de sous-requêtes. De tels bouclages sont dus en général
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis à des erreurs de configuration.</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>La directive accepte, comme arguments, deux limites qui sont
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis évaluées à chaque requête. Le premier <var>nombre</var> est le
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis nombre maximum de redirections internes qui peuvent se succéder. Le
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis second <var>nombre</var> détermine la profondeur d'imbrication
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis maximum des sous-requêtes. Si vous ne spécifiez qu'un seul
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <var>nombre</var>, il sera affecté aux deux limites.</p>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis <highlight language="config">LimitInternalRecursion 5</highlight>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<directivesynopsis>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<description>limite la taille maximale du corps de la requête HTTP
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentisenvoyée par le client</description>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<contextlist><context>server config</context><context>virtual
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorhost</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<context>directory</context><context>.htaccess</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</contextlist>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Cette directive spécifie la taille maximale autorisée pour le
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis corps d'une requête ; la valeur de l'argument <var>octets</var> va
5a884cb4f4b177e207554c26334ef853c5665e79lgentis de 0 (pour une taille illimitée), à 2147483647 (2Go). Voir la note
5a884cb4f4b177e207554c26334ef853c5665e79lgentis ci-dessous pour la limite d'applicabilité aux requêtes mandatées.</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>La directive <directive>LimitRequestBody</directive> permet de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis définir une limite pour la taille maximale autorisée du corps d'une
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis requête HTTP en tenant compte du contexte dans lequel la directive
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis a été placée (c'est à dire au niveau du serveur, d'un répertoire,
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis d'un fichier ou d'une localisation). Si la requête du client dépasse
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis cette limite, le serveur répondra par un message d'erreur et ne
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis traitera pas la requête. La taille du corps d'une requête normale va
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis varier de manière importante en fonction de la nature de la
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis ressource et des méthodes autorisées pour cette dernière. Les
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor scripts CGI utilisent souvent le corps du message pour extraire les
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis informations d'un formulaire. Les implémentations de la méthode
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <code>PUT</code> nécessitent une valeur au moins aussi élevée que la
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis taille maximale des représentations que le serveur désire accepter
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor pour cette ressource.</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>L'administrateur du serveur peut utiliser cette directive pour
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis contrôler plus efficacement les comportements anormaux des requêtes
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis des clients, ce qui lui permettra de prévenir certaines formes
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis d'attaques par déni de service.</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>Si par exemple, vous autorisez le chargement de fichiers vers une
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis localisation particulière, et souhaitez limiter la taille des
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis fichiers chargés à 100Ko, vous pouvez utiliser la directive suivante
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis <highlight language="config">LimitRequestBody 102400</highlight>
5a884cb4f4b177e207554c26334ef853c5665e79lgentis <note><p>Pour une description détaillée de la manière dont cette
5a884cb4f4b177e207554c26334ef853c5665e79lgentis directive est interprétée par les requêtes mandatées, voir la
5a884cb4f4b177e207554c26334ef853c5665e79lgentis documentation du module <module>mod_proxy</module>.</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<directivesynopsis>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<description>Limite le nombre de champs d'en-tête autorisés dans une
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentisrequête HTTP</description>
424edfaa5b21b17d739ebefa4c16966ed6310067lgentis<contextlist><context>server config</context><context>virtual host</context></contextlist>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p><var>nombre</var> est un entier de 0 (nombre de champs illimité)
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis à 32767. La valeur par défaut est définie à la compilation par la
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor constante <code>DEFAULT_LIMIT_REQUEST_FIELDS</code> (100 selon la
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor distribution).</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>La directive <directive>LimitRequestFields</directive> permet à
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor l'administrateur du serveur de modifier le nombre maximum de champs
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis d'en-tête autorisés dans une requête HTTP. Pour un serveur, cette
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis valeur doit être supérieure au nombre de champs qu'une requête
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis client normale peut contenir. Le nombre de champs d'en-tête d'une
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis requête qu'un client utilise dépasse rarement 20, mais ce nombre
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis peut varier selon les implémentations des clients, et souvent en
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor fonction des extensions que les utilisateurs configurent dans leurs
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis navigateurs pour supporter la négociation de contenu détaillée. Les
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor extensions HTTP optionnelles utilisent souvent les
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis champs d'en-tête des requêtes.</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>L'administrateur du serveur peut utiliser cette directive pour
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis contrôler plus efficacement les comportements anormaux des requêtes
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis des clients, ce qui lui permettra de prévenir certaines formes
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis d'attaques par déni de service. La valeur spécifiée doit être
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis augmentée si les clients standards reçoivent une erreur du serveur
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis indiquant que la requête comportait un nombre d'en-têtes trop
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor important.</p>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis <highlight language="config">LimitRequestFields 50</highlight>
424edfaa5b21b17d739ebefa4c16966ed6310067lgentis <p>Dans le cas des serveurs virtuels à base de noms, la valeur de
424edfaa5b21b17d739ebefa4c16966ed6310067lgentis cette directive est extraite du serveur virtuel par défaut (le
3670f762ba6e3c38c29ea8a90fcdd5281ab13d53lgentis premier de la liste) pour la paire adresse IP/port.</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<directivesynopsis>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<description>Dédinit la taille maximale autorisée d'un en-tête de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentisrequête HTTP</description>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<syntax>LimitRequestFieldSize <var>octets</var></syntax>
424edfaa5b21b17d739ebefa4c16966ed6310067lgentis<contextlist><context>server config</context><context>virtual host</context></contextlist>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Cette directive permet de définir le nombre maximum
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis d'<var>octets</var> autorisés dans un en-tête de requête HTTP.</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>La directive <directive>LimitRequestFieldSize</directive> permet
98857218d3269556b5cf0e923a8292e2c9f82abflgentis à l'administrateur du serveur de définir la taille
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis maximale autorisée d'un en-tête de requête HTTP. Pour un serveur,
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis cette valeur doit être suffisamment grande pour contenir tout
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis en-tête d'une requête client normale. La taille d'un champ d'en-tête
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis de requête normal va varier selon les implémentations des clients,
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor et en fonction des extensions que les utilisateurs
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis configurent dans leurs navigateurs pour supporter la négociation de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis contenu détaillée. Les en-têtes d'authentification SPNEGO peuvent
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor atteindre une taille de 12392 octets.</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>>L'administrateur du serveur peut utiliser cette directive pour
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis contrôler plus efficacement les comportements anormaux des requêtes
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis des clients, ce qui lui permettra de prévenir certaines formes
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis d'attaques par déni de service.</p>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis <highlight language="config">LimitRequestFieldSize 4094</highlight>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <note>Dans des conditions normales, la valeur par défaut de cette
ea7faa14f220892d3de347b2897b5197b9edcb7algentis directive ne doit pas être modifiée.</note>
424edfaa5b21b17d739ebefa4c16966ed6310067lgentis <p>Dans le cas des serveurs virtuels à base de noms, la valeur de
424edfaa5b21b17d739ebefa4c16966ed6310067lgentis cette directive est extraite du serveur virtuel par défaut (le
3670f762ba6e3c38c29ea8a90fcdd5281ab13d53lgentis premier de la liste) pour lequel la paire adresse IP/port
3670f762ba6e3c38c29ea8a90fcdd5281ab13d53lgentis correspond le mieux.</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<directivesynopsis>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<description>Définit la taille maximale d'une ligne de requête
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorHTTP</description>
424edfaa5b21b17d739ebefa4c16966ed6310067lgentis<contextlist><context>server config</context><context>virtual host</context></contextlist>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Cette directive permet de définir la taille maximale autorisée
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis pour une ligne de requête HTTP en <var>octets</var>.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>La directive <directive>LimitRequestLine</directive> permet à
98857218d3269556b5cf0e923a8292e2c9f82abflgentis l'administrateur du serveur de définir la taille
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis maximale autorisée d'une ligne de requête HTTP client. Comme une
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis requête comporte une méthode HTTP, un URI, et une version de
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor protocole, la directive <directive>LimitRequestLine</directive>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis impose une restriction sur la longueur maximale autorisée pour un
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis URI dans une requête au niveau du serveur. Pour un serveur, cette
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis valeur doit être suffisamment grande pour référencer les noms de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis toutes ses ressources, y compris toutes informations pouvant être
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis ajoutées dans la partie requête d'une méthode <code>GET</code>.</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>L'administrateur du serveur peut utiliser cette directive pour
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis contrôler plus efficacement les comportements anormaux des requêtes
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis des clients, ce qui lui permettra de prévenir certaines formes
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis d'attaques par déni de service.</p>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis <highlight language="config">LimitRequestLine 4094</highlight>
4d1b7892b353a05d93eacd3e7f0499d926062bb4lgentis <note>Dans des conditions normales, cette directive doit conserver
4d1b7892b353a05d93eacd3e7f0499d926062bb4lgentis sa valeur par défaut.</note>
424edfaa5b21b17d739ebefa4c16966ed6310067lgentis <p>Dans le cas des serveurs virtuels à base de noms, la valeur de
424edfaa5b21b17d739ebefa4c16966ed6310067lgentis cette directive est extraite du serveur virtuel par défaut (le
3670f762ba6e3c38c29ea8a90fcdd5281ab13d53lgentis premier de la liste) pour lequel la paire adresse IP/port
3670f762ba6e3c38c29ea8a90fcdd5281ab13d53lgentis correspond le mieux.</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<directivesynopsis>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<description>Définit la taille maximale du corps d'une requête au format
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorXML</description>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<syntax>LimitXMLRequestBody <var>octets</var></syntax>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<contextlist><context>server config</context><context>virtual
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorhost</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<context>directory</context><context>.htaccess</context></contextlist>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Taille maximale (en octets) du corps d'une requête au format XML.
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor Une valeur de <code>0</code> signifie qu'aucune limite n'est
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis imposée.</p>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis <highlight language="config">LimitXMLRequestBody 0</highlight>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<description>N'applique les directives contenues qu'aux URLs
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentisspécifiées</description>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<syntax><Location
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <var>chemin URL</var>|<var>URL</var>> ... </Location></syntax>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<contextlist><context>server config</context><context>virtual
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorhost</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</contextlist>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>La directive <directive type="section">Location</directive>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis limite la portée des directives contenues aux URLs définies par
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis l'argument URL. Elle est similaire à la directive <directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor type="section" module="core">Directory</directive>, et marque le
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis début d'une section qui se termine par une directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <code></Location></code>. Les sections <directive
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis type="section">Location</directive> sont traitées selon l'ordre dans
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor lequel elles apparaissent dans le fichier de configuration, mais
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis après les sections <directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor type="section" module="core">Directory</directive> et la lecture des
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis fichiers <code>.htaccess</code>, et après les sections <directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>Les sections <directive type="section">Location</directive>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis agissent complètement en dehors du système de fichiers. Ceci a de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis nombreuses conséquences. Parmi les plus importantes, on ne doit pas
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor utiliser les sections <directive type="section">Location</directive>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis pour contrôler l'accès aux répertoires du système de fichiers. Comme
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis plusieurs URLs peuvent correspondre au même répertoire du système de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis fichiers, un tel contrôle d'accès pourrait être contourné.</p>
1b1b6ae3d9cf8a22cd74249fe56d4fab443f9e21lgentis <p>Les directives que contient cette section seront appliquées aux
1b1b6ae3d9cf8a22cd74249fe56d4fab443f9e21lgentis requêtes si la partie chemin de l'URL satisfait à l'un au moins de
1b1b6ae3d9cf8a22cd74249fe56d4fab443f9e21lgentis ces critères :
1b1b6ae3d9cf8a22cd74249fe56d4fab443f9e21lgentis <li>Le chemin spécifié correspond exactement à la partie chemin de
1b1b6ae3d9cf8a22cd74249fe56d4fab443f9e21lgentis <li>Le chemin spécifié, qui se termine par un slash, est un
1b1b6ae3d9cf8a22cd74249fe56d4fab443f9e21lgentis préfixe de la partie chemin de l'URL (traité comme une racine du
1b1b6ae3d9cf8a22cd74249fe56d4fab443f9e21lgentis <li>Le chemin spécifié, si on lui ajoute un slash de fin, est un
1b1b6ae3d9cf8a22cd74249fe56d4fab443f9e21lgentis préfixe de la partie chemin de l'URL (aussi traité comme une racine du
1b1b6ae3d9cf8a22cd74249fe56d4fab443f9e21lgentis Dans l'exemple ci-dessous, où aucun slash de fin n'est utilisé, les
1b1b6ae3d9cf8a22cd74249fe56d4fab443f9e21lgentis directives contenues dans la section s'appliqueront à /private1,
1b1b6ae3d9cf8a22cd74249fe56d4fab443f9e21lgentis /private1/ et /private1/file.txt, mais pas à /private1other.
3410b584d8126761b178068883f2ffc751b9e691lgentis<Location "/private1">
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis</Location>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis </highlight>
1b1b6ae3d9cf8a22cd74249fe56d4fab443f9e21lgentis De même, dans l'exemple ci-dessous, où l'on utilise un slash de fin, les
1b1b6ae3d9cf8a22cd74249fe56d4fab443f9e21lgentis directives contenues dans la section s'appliqueront à /private2/ et
dfcf800069c4a5afdd843c8f0ae454140df9f26dlgentis à /private2/file.txt, mais pas à /private2other.
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis</Location>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis </highlight>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis type="section">Location</directive> pour appliquer des directives à
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis des contenus situés en dehors du système de fichiers. Pour les
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis contenus situés à l'intérieur du système de fichiers, utilisez
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis plutôt les sections <directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor type="section" module="core">Directory</directive> et <directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor type="section" module="core">Files</directive>. <code><Location
3410b584d8126761b178068883f2ffc751b9e691lgentis "/"></code> constitue une exception et permet d'appliquer aisément
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis une configuration à l'ensemble du serveur.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Pour toutes les requêtes originales (non mandatées), l'argument
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor URL est un chemin d'URL de la forme
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <code>/chemin/</code>. <em>Aucun protocole, nom d'hôte, port, ou chaîne
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis de requête ne doivent apparaître.</em> Pour les requêtes mandatées, l'URL
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis spécifiée doit être de la forme
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <code>protocole://nom_serveur/chemin</code>, et vous devez inclure
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis le préfixe.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>L'URL peut contenir des caractères génériques. Dans une chaîne
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis avec caractères génériques, <code>?</code> correspond à un caractère
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis quelconque, et <code>*</code> à toute chaîne de caractères. Les
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis caractères génériques ne peuvent pas remplacer un / dans le chemin
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>On peut aussi utiliser les <glossary ref="regex">Expressions
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis rationnelles</glossary>, moyennant l'addition d'un caractère
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis<Location ~ "/(extra|special)/data">
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis</Location>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis</highlight>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>concernerait les URLs contenant les sous-chaîne
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <code>/extra/data</code> ou <code>/special/data</code>. La directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <directive type="section" module="core">LocationMatch</directive>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis présente un comportement identique à la version avec expressions
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor rationnelles de la directive <directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor type="section">Location</directive>, et son utilisation est
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis préférable à l'utilisation de cette dernière pour la simple raison
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor qu'il est difficile de distinguer <code>~</code> de <code>-</code>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor dans la plupart des fontes.</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>La directive <directive type="section">Location</directive>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor s'utilise principalement avec la directive <directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor module="core">SetHandler</directive>. Par exemple, pour activer les
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis requêtes d'état, mais ne les autoriser que depuis des navigateurs
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor appartenant au domaine <code>example.com</code>, vous pouvez
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor utiliser :</p>
3410b584d8126761b178068883f2ffc751b9e691lgentis<Location "/status">
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis SetHandler server-status
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis</Location>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis </highlight>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <note><title>Note à propos du slash (/)</title>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>La signification du caractère slash dépend de l'endroit où il
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis se trouve dans l'URL. Les utilisateurs peuvent être habitués à
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis son comportement dans le système de fichiers où plusieurs slashes
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis successifs sont souvent réduits à un slash unique (en d'autres
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis termes, <code>/home///foo</code> est identique à
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <code>/home/foo</code>). Dans l'espace de nommage des URLs, ce
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor n'est cependant pas toujours le cas. Pour la directive <directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor type="section" module="core">LocationMatch</directive> et la
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor version avec expressions rationnelles de la directive <directive
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis type="section">Location</directive>, vous devez spécifier
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor explicitement les slashes multiples si telle est votre
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor intention.</p>
3410b584d8126761b178068883f2ffc751b9e691lgentis <p>Par exemple, <code><LocationMatch "^/abc"></code> va
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis correspondre à l'URL <code>/abc</code> mais pas à l'URL <code>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor >Location</directive> sans expression rationnelle se comporte de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis la même manière lorsqu'elle est utilisée pour des requêtes
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis mandatées. Par contre, lorsque la directive <directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor type="section">Location</directive> sans expression rationnelle
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis est utilisée pour des requêtes non mandatées, elle fera
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis correspondre implicitement les slashes multiples à des slashes
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis uniques. Par exemple, si vous spécifiez <code><Location
3410b584d8126761b178068883f2ffc751b9e691lgentis "/abc/def"></code>, une requête de la forme
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<seealso><a href="/sections.html">Comment fonctionnent les sections
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<Directory>, <Location> et <Files></a> pour une
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentisexplication de la manière dont ces différentes sections se combinent
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentisentre elles à la réception d'une requête.</seealso>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<description>N'applique les directives contenues qu'aux URLs
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentiscorrespondant à une expression rationnelle</description>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<syntax><LocationMatch
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <var>regex</var>> ... </LocationMatch></syntax>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<contextlist><context>server config</context><context>virtual
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorhost</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</contextlist>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>La directive <directive type="section">LocationMatch</directive>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis limite la portée des directives contenues à l'URL spécifiée, de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis manière identique à la directive <directive module="core"
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor type="section">Location</directive>. Mais son argument permettant de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis spécifier les URLs concernées est une <glossary
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor ref="regex">expression rationnelle</glossary> au lieu d'une simple
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis chaîne de caractères. Par exemple :</p>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis<LocationMatch "/(extra|special)/data">
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis</LocationMatch>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis</highlight>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>correspondrait à toute URL contenant les sous-chaînes
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <code>/extra/data</code> ou <code>/special/data</code>.</p>
3410b584d8126761b178068883f2ffc751b9e691lgentis <note><p>Si vous recherchez une URL <strong>commençant par</strong>
3410b584d8126761b178068883f2ffc751b9e691lgentis plutôt que seulement contenant <code>/extra/data</code>, préfixez
3410b584d8126761b178068883f2ffc751b9e691lgentis l'expression rationnelle avec un <code>^</code>.</p>
3410b584d8126761b178068883f2ffc751b9e691lgentis <LocationMatch "^/(extra|special)/data">
3410b584d8126761b178068883f2ffc751b9e691lgentis </highlight>
66a40356a2baa1bdc3f91e91399a8bf3d2dbe7c6lgentis <p>A partir de la version 2.4.8, les groupes nommés et les
3841a292dc897875faf23e639807abcc90082f3clgentis références arrières sont extraits et enregistrés dans
3841a292dc897875faf23e639807abcc90082f3clgentis l'environnement avec leur nom en majuscules et préfixé
3841a292dc897875faf23e639807abcc90082f3clgentis par "MATCH_". Ceci permet
9f47982d4f9350397f1f62f04f1ba744ad5b6fa5lgentis de référencer des URLs dans des <a href="/expr.html">expressions</a>
3841a292dc897875faf23e639807abcc90082f3clgentis ou au sein de modules comme <module>mod_rewrite</module>. Pour
3841a292dc897875faf23e639807abcc90082f3clgentis éviter toute confusion, les références arrières numérotées (non
3841a292dc897875faf23e639807abcc90082f3clgentis nommées) sont ignorées. Vous devez utiliser à la place des groupes
3841a292dc897875faf23e639807abcc90082f3clgentis nommés.</p>
3410b584d8126761b178068883f2ffc751b9e691lgentis<LocationMatch "^/combined/(?<sitename>[^/]+)">
3841a292dc897875faf23e639807abcc90082f3clgentis require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
3841a292dc897875faf23e639807abcc90082f3clgentis</LocationMatch>
3841a292dc897875faf23e639807abcc90082f3clgentis</highlight>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<seealso><a href="/sections.html">Comment fonctionnent les sections
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<Directory>, <Location> et <Files></a> pour une
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentisexplication de la manière dont ces différentes sections se combinent
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentisentre elles à la réception d'une requête.</seealso>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<directivesynopsis>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<description>Contrôle la verbosité du journal des erreurs</description>
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis<syntax>LogLevel [<var>module</var>:]<var>niveau</var>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<contextlist><context>server config</context><context>virtual
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</contextlist>
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis<compatibility>La configuration du niveau de journalisation par module
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentiset par répertoire est disponible depuis la version 2.3.6 du serveur HTTP
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentisApache</compatibility>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>La directive <directive>LogLevel</directive> permet d'ajuster la
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis verbosité des messages enregistrés dans les journaux d'erreur (voir
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor la directive <directive module="core">ErrorLog</directive>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis directive). Les <var>niveau</var>x disponibles sont présentés
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis ci-après, par ordre de criticité décroissante :</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <columnspec><column width=".2"/><column width=".3"/><column width=".5"/>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor </columnspec>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <td>Urgences - le système est inutilisable.</td>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <td>Des mesures doivent être prises immédiatement.</td>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <td>"getpwuid: couldn't determine user name from uid"</td>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <td>"socket: Failed to get a socket, exiting child"</td>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <td>"child process 1234 did not exit, sending another
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor SIGHUP"</td>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <td>"httpd: caught SIGBUS, attempting to dump core in
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <td>"Server seems busy, (you may need to increase
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis <td>"proxy: CONNECT: sending the CONNECT request to the remote proxy"</td>
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis <td>"read from buffered SSL brigade, mode 0, 17 bytes"</td>
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis <td>"map lookup FAILED: map=rewritemap key=keyname"</td>
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis <td>"cache lookup FAILED, forcing new map lookup"</td>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <td>Messages de traces, enregistrement d'une grande quantité de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis données</td>
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis <td>"| 0000: 02 23 44 30 13 40 ac 34 df 3d bf 9a 19 49 39 15 |"</td>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <td>Messages de traces, enregistrement d'une grande quantité de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis données</td>
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis <td>"| 0000: 02 23 44 30 13 40 ac 34 df 3d bf 9a 19 49 39 15 |"</td>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Lorsqu'un niveau particulier est spécifié, les messages de tous
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis les autres niveaux de criticité supérieure seront aussi enregistrés.
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <em>Par exemple</em>, si <code>LogLevel info</code> est spécifié,
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor les messages de niveaux <code>notice</code> et <code>warn</code>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis seront aussi émis.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Il est recommandé d'utiliser un niveau <code>crit</code> ou
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis inférieur.</p>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis <highlight language="config">LogLevel notice</highlight>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>Si la journalisation s'effectue directement dans un fichier,
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis les messages de niveau <code>notice</code> ne peuvent pas être
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis supprimés et sont donc toujours journalisés. Cependant, ceci ne
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor s'applique pas lorsque la journalisation s'effectue vers
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Spécifier un niveau sans nom de module va attribuer ce niveau à
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis tous les modules. Spécifier un niveau avec nom de module va
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis attribuer ce niveau à ce module seulement. Il est possible de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis spécifier un module par le nom de son fichier source ou par son
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis identificateur, avec ou sans le suffixe <code>_module</code>. Les
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis trois spécifications suivantes sont donc équivalentes :</p>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentisLogLevel info ssl:warn
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentisLogLevel info mod_ssl.c:warn
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentisLogLevel info ssl_module:warn
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis </highlight>
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis <p>Il est aussi possible d'attribuer un niveau de journalisation par
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis répertoire :</p>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentisLogLevel info
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis LogLevel debug
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis</Directory>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis </highlight>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis La configuration du niveau de journalisation par répertoire
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis n'affecte que les messages journalisés après l'interprétation de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis la requête et qui sont associés à cette dernière. Les messages
a69701660f992f38458ca3e706e3371d964f0fbelgentis de journalisation associés au serveur ou à la connexion ne sont
a69701660f992f38458ca3e706e3371d964f0fbelgentis pas affectés. Il est cependant possible d'agir sur ces
a69701660f992f38458ca3e706e3371d964f0fbelgentis derniers à l'aide de la directive <directive
a69701660f992f38458ca3e706e3371d964f0fbelgentis<seealso><directive module="core">ErrorLog</directive></seealso>
a69701660f992f38458ca3e706e3371d964f0fbelgentis<seealso><directive module="core">ErrorLogFormat</directive></seealso>
a69701660f992f38458ca3e706e3371d964f0fbelgentis<seealso><directive module="core">LogLevelOverride</directive></seealso>
739ce874d738594946c2725c8ee01ef504720991lgentis<seealso><a href="/logs.html">Journaux du serveur HTTP Apache</a></seealso>
a69701660f992f38458ca3e706e3371d964f0fbelgentis</directivesynopsis>
a69701660f992f38458ca3e706e3371d964f0fbelgentis<directivesynopsis>
a69701660f992f38458ca3e706e3371d964f0fbelgentis<description>Surcharge la verbosité du journal des erreurs pour certains
a69701660f992f38458ca3e706e3371d964f0fbelgentisclients</description>
a69701660f992f38458ca3e706e3371d964f0fbelgentis<syntax>LogLevel <var>ipaddress</var>[/<var>prefixlen</var>]
a69701660f992f38458ca3e706e3371d964f0fbelgentis [<var>module</var>:]<var>level</var> [<var>module</var>:<var>level</var>] ...
a69701660f992f38458ca3e706e3371d964f0fbelgentis<contextlist><context>server config</context><context>virtual host</context>
a69701660f992f38458ca3e706e3371d964f0fbelgentis</contextlist>
a69701660f992f38458ca3e706e3371d964f0fbelgentis<compatibility>Disponible à partir de la version 2.5.0 du serveur HTTP
a69701660f992f38458ca3e706e3371d964f0fbelgentisApache.</compatibility>
a69701660f992f38458ca3e706e3371d964f0fbelgentis <p>La directive <directive>LogLevelOverride</directive> permet
a69701660f992f38458ca3e706e3371d964f0fbelgentis d'affiner la définition de la directive <directive
a69701660f992f38458ca3e706e3371d964f0fbelgentis module="core">LogLevel</directive> pour les requêtes en provenance
a69701660f992f38458ca3e706e3371d964f0fbelgentis de certaines adresses IP. Il est ainsi possible d'activer une
a69701660f992f38458ca3e706e3371d964f0fbelgentis journalisation détaillée seulement pour certains clients à des fins
a69701660f992f38458ca3e706e3371d964f0fbelgentis de test. Les adresses IP sont vérifiées à un stade très précoce du
a69701660f992f38458ca3e706e3371d964f0fbelgentis processus de connexion. Ainsi, la directive
a69701660f992f38458ca3e706e3371d964f0fbelgentis <directive>LogLevelOverride</directive> permet de modifier le niveau
a69701660f992f38458ca3e706e3371d964f0fbelgentis de journalisation pour des processus comme la négociation SSL qui
a69701660f992f38458ca3e706e3371d964f0fbelgentis intervient avant l'évaluation d'une éventuelle directive <directive
a69701660f992f38458ca3e706e3371d964f0fbelgentis module="core">LogLevel</directive> au sein d'un conteneur <directive
a69701660f992f38458ca3e706e3371d964f0fbelgentis <p>La directive <directive>LogLevelOverride</directive> accepte soit
a69701660f992f38458ca3e706e3371d964f0fbelgentis une adresse IP simple, soit une spécification de sous-réseau CIDR de
a69701660f992f38458ca3e706e3371d964f0fbelgentis la forme adresse-IP/masque. Pour la syntaxe de la spécification du
a69701660f992f38458ca3e706e3371d964f0fbelgentis niveau de journalisation, voir la directive <directive
a69701660f992f38458ca3e706e3371d964f0fbelgentis <p>Pour les requêtes concernées par une directive
a69701660f992f38458ca3e706e3371d964f0fbelgentis <directive>LogLevelOverride</directive>, les spécifications de
a69701660f992f38458ca3e706e3371d964f0fbelgentis niveau répertoire de la directive <directive
a69701660f992f38458ca3e706e3371d964f0fbelgentis module="core">LogLevel</directive> sont ignorées.</p>
a69701660f992f38458ca3e706e3371d964f0fbelgentis LogLevelOverride 192.0.2.7 ssl:trace8
a69701660f992f38458ca3e706e3371d964f0fbelgentis </highlight>
a69701660f992f38458ca3e706e3371d964f0fbelgentis La directive <directive
a69701660f992f38458ca3e706e3371d964f0fbelgentis module="core">LogLevelOverride</directive> n'affecte que les
a69701660f992f38458ca3e706e3371d964f0fbelgentis messages associés à la requête ou à la connexion. Les messages
a69701660f992f38458ca3e706e3371d964f0fbelgentis associés au serveur ne sont pas affectés.
a69701660f992f38458ca3e706e3371d964f0fbelgentis<seealso><directive module="core">LogLevel</directive></seealso>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<directivesynopsis>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<description>Nombre de requêtes permises pour une connexion
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorpersistante</description>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<syntax>MaxKeepAliveRequests <var>nombre</var></syntax>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<contextlist><context>server config</context><context>virtual
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorhost</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</contextlist>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>La directive <directive>MaxKeepAliveRequests</directive> permet
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis de limiter le nombre de requêtes autorisées par connexion lorsque
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <directive module="core" >KeepAlive</directive> est à "on". Si sa
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis valeur est <code>0</code>, le nombre de requêtes autorisées est
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis illimité. Il est recommandé de définir une valeur assez haute pour
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor des performances du serveur maximales.</p>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis <highlight language="config">MaxKeepAliveRequests 500</highlight>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
6fe2db325e5923d8420a87e76d99fe114271ebbelgentis<directivesynopsis>
6fe2db325e5923d8420a87e76d99fe114271ebbelgentis<description>Nombre de segments de données autorisé avant le renvoi de
6fe2db325e5923d8420a87e76d99fe114271ebbelgentisl'intégralité de la ressource</description>
6fe2db325e5923d8420a87e76d99fe114271ebbelgentis<syntax>MaxRanges default | unlimited | none | <var>nombre de segments</var></syntax>
6fe2db325e5923d8420a87e76d99fe114271ebbelgentis<contextlist><context>server config</context><context>virtual host</context>
6fe2db325e5923d8420a87e76d99fe114271ebbelgentis</contextlist>
6fe2db325e5923d8420a87e76d99fe114271ebbelgentis<compatibility>Disponible depuis la version 2.3.15 du serveur HTTP
6fe2db325e5923d8420a87e76d99fe114271ebbelgentisApache</compatibility>
6fe2db325e5923d8420a87e76d99fe114271ebbelgentis <p>La directive <directive>MaxRanges</directive> permet de limiter
6fe2db325e5923d8420a87e76d99fe114271ebbelgentis le nombre de segments de données que le serveur va renvoyer au
6fe2db325e5923d8420a87e76d99fe114271ebbelgentis client. Si un nombre de segments plus important est demandé, la
6fe2db325e5923d8420a87e76d99fe114271ebbelgentis ressource sera renvoyée dans son intégralité.</p>
6fe2db325e5923d8420a87e76d99fe114271ebbelgentis <dd>Limite le nombre de segments de données à 200 (valeur par
6fe2db325e5923d8420a87e76d99fe114271ebbelgentis défaut définie à la compilation).</dd>
6fe2db325e5923d8420a87e76d99fe114271ebbelgentis <dd>Les en-têtes Range sont ignorés.</dd>
6fe2db325e5923d8420a87e76d99fe114271ebbelgentis <dd>Le nombre de segments de données est illimité.</dd>
6fe2db325e5923d8420a87e76d99fe114271ebbelgentis <dd>Un nombre positif représentera la nombre de segments de
6fe2db325e5923d8420a87e76d99fe114271ebbelgentis données maximal que le serveur renverra au client.</dd>
6fe2db325e5923d8420a87e76d99fe114271ebbelgentis</directivesynopsis>
78617ba4bbe57c2c7919ea0503ca34d07c3517a6lgentis<directivesynopsis>
78617ba4bbe57c2c7919ea0503ca34d07c3517a6lgentis <description>Nombre de chevauchements de segments de données autorisé
78617ba4bbe57c2c7919ea0503ca34d07c3517a6lgentis (par exemple <code>100-200,150-300</code>) avant le renvoi de la
78617ba4bbe57c2c7919ea0503ca34d07c3517a6lgentis ressource complète</description>
78617ba4bbe57c2c7919ea0503ca34d07c3517a6lgentis <syntax>MaxRangeOverlaps default | unlimited | none | <var>nombre de
78617ba4bbe57c2c7919ea0503ca34d07c3517a6lgentis <contextlist><context>server config</context><context>virtual host</context>
78617ba4bbe57c2c7919ea0503ca34d07c3517a6lgentis </contextlist>
78617ba4bbe57c2c7919ea0503ca34d07c3517a6lgentis <compatibility>Disponible depuis la version 2.3.15 du serveur HTTP
78617ba4bbe57c2c7919ea0503ca34d07c3517a6lgentis Apache</compatibility>
78617ba4bbe57c2c7919ea0503ca34d07c3517a6lgentis <p>La directive <directive>MaxRangeOverlaps</directive> permet
78617ba4bbe57c2c7919ea0503ca34d07c3517a6lgentis de limiter le nombre de chevauchements de segments de données HTTP
78617ba4bbe57c2c7919ea0503ca34d07c3517a6lgentis autorisé par le serveur. Si le nombre de
78617ba4bbe57c2c7919ea0503ca34d07c3517a6lgentis chevauchements de segments demandé est supérieur au nombre maximal
78617ba4bbe57c2c7919ea0503ca34d07c3517a6lgentis autorisé, la ressource sera renvoyée dans son intégralité.</p>
78617ba4bbe57c2c7919ea0503ca34d07c3517a6lgentis <dd>Limite le nombre de chevauchements de segments à la valeur
78617ba4bbe57c2c7919ea0503ca34d07c3517a6lgentis par défaut 20 définie à la compilation.</dd>
78617ba4bbe57c2c7919ea0503ca34d07c3517a6lgentis <dd>Aucun chevauchement de segment n'est autorisé.</dd>
78617ba4bbe57c2c7919ea0503ca34d07c3517a6lgentis <dd>Le nombre de chevauchements de segments est illimité.</dd>
78617ba4bbe57c2c7919ea0503ca34d07c3517a6lgentis <dd>Un nombre positif représente le nombre maximal de
78617ba4bbe57c2c7919ea0503ca34d07c3517a6lgentis chevauchements de segments autorisé par le serveur.</dd>
78617ba4bbe57c2c7919ea0503ca34d07c3517a6lgentis</directivesynopsis>
78617ba4bbe57c2c7919ea0503ca34d07c3517a6lgentis<directivesynopsis>
78617ba4bbe57c2c7919ea0503ca34d07c3517a6lgentis <description>Nombre d'inversions d'ordre autorisé dans la spécification des
78617ba4bbe57c2c7919ea0503ca34d07c3517a6lgentis segments de données (par exemple <code>100-200,50-70</code>) avant le renvoi de la
78617ba4bbe57c2c7919ea0503ca34d07c3517a6lgentis ressource complète</description>
78617ba4bbe57c2c7919ea0503ca34d07c3517a6lgentis <syntax>MaxRangeReversals default | unlimited | none | <var>nombre
78617ba4bbe57c2c7919ea0503ca34d07c3517a6lgentis <contextlist><context>server config</context><context>virtual host</context>
78617ba4bbe57c2c7919ea0503ca34d07c3517a6lgentis </contextlist>
78617ba4bbe57c2c7919ea0503ca34d07c3517a6lgentis <compatibility>Disponible depuis la version 2.3.15 du serveur HTTP
78617ba4bbe57c2c7919ea0503ca34d07c3517a6lgentis Apache</compatibility>
78617ba4bbe57c2c7919ea0503ca34d07c3517a6lgentis <p>La directive <directive>MaxRangeReversals</directive> permet
78617ba4bbe57c2c7919ea0503ca34d07c3517a6lgentis de limiter le nombre d'inversions d'ordre dans la spécification
78617ba4bbe57c2c7919ea0503ca34d07c3517a6lgentis des segments de données HTTP
78617ba4bbe57c2c7919ea0503ca34d07c3517a6lgentis autorisé par le serveur. Si le nombre
78617ba4bbe57c2c7919ea0503ca34d07c3517a6lgentis d'inversions demandé est supérieur au nombre maximal
78617ba4bbe57c2c7919ea0503ca34d07c3517a6lgentis autorisé, la ressource sera renvoyée dans son intégralité.</p>
78617ba4bbe57c2c7919ea0503ca34d07c3517a6lgentis <dd>Limite le nombre d'inversions à la valeur
78617ba4bbe57c2c7919ea0503ca34d07c3517a6lgentis par défaut 20 définie à la compilation.</dd>
78617ba4bbe57c2c7919ea0503ca34d07c3517a6lgentis <dd>Le nombre d'inversions est illimité.</dd>
78617ba4bbe57c2c7919ea0503ca34d07c3517a6lgentis <dd>Un nombre positif représente le nombre maximal
78617ba4bbe57c2c7919ea0503ca34d07c3517a6lgentis d'inversions autorisé par le serveur.</dd>
78617ba4bbe57c2c7919ea0503ca34d07c3517a6lgentis</directivesynopsis>
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis<directivesynopsis>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<description>Définit les mécanismes de mutex et le repertoire du fichier
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentisverrou pour tous les mutex ou seulement les mutex spécifiés</description>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<syntax>Mutex <var>mécanisme</var> [default|<var>nom-mutex</var>] ... [OmitPID]</syntax>
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis<contextlist><context>server config</context></contextlist>
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis<compatibility>Disponible depuis la version 2.3.4 du serveur HTTP Apache</compatibility>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>La directive <directive>Mutex</directive> permet de définir le
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis mécanisme de mutex, et éventuellement le répertoire du fichier
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis verrou que les modules et httpd utilisent pour sérialiser l'accès aux
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis ressources. Spécifiez <code>default</code> comme premier argument
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis pour modifier la configuration de tous les mutex ; spécifiez un nom
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis de mutex (voir la table ci-dessous) comme premier argument pour
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis ne modifier que la configuration de ce mutex.</p>
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis <p>La directive <directive>Mutex</directive> est typiquement
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis utilisée dans les situations exceptionnelles suivantes :</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <li>choix d'un autre mécanisme de mutex lorsque le mécanisme par
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis défaut sélectionné par <glossary>APR</glossary> présente un
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis problème de fonctionnement ou de performances.</li>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <li>choix d'un autre répertoire utilisé par les mutex à base de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis fichier lorsque le répertoire par défaut ne supporte pas le
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis verrouillage</li>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Cette directive ne configure que les mutex qui ont été
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis enregistrés avec le serveur de base via l'API
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis <code>ap_mutex_register()</code>. Tous les modules fournis avec
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis httpd supportent la directive <directive>Mutex</directive>, mais il
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis n'en sera pas forcément de même pour les modules tiers.
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis Reportez-vous à la documentation du module tiers considéré afin de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis déterminer le(s) nom(s) de mutex qui pourront être définis si la
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis directive est supportée.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Les <em>mécanismes</em> de mutex disponibles sont les suivants :</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>C'est l'implémentation du verrouillage par défaut, telle
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis qu'elle est définie par <glossary>APR</glossary>. On peut
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis afficher l'implémentation du verrouillage par défaut via la
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis commande <program>httpd</program> avec l'option <code>-V</code>.</p></li>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Le mutex est désactivé, et cette valeur n'est permise pour un
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis mutex que si le module indique qu'il s'agit d'un choix valide.
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis Consultez la documentation du module pour plus d'informations.</p></li>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Une variante de mutex basée sur un sémaphore Posix.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>La propriété du sémaphore n'est pas restituée si un thread du
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis processus gérant le mutex provoque une erreur de segmentation,
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis ce qui provoquera un blocage du serveur web.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Une variante de mutex basée sur un sémaphore IPC SystemV.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Il peut arriver que les sémaphores SysV soient conservés si le
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis processus se crashe avant que le sémaphore ne soit supprimé.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <note type="warning"><title>Sécurité</title>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>L'API des sémaphores permet les attaques par déni de service
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis par tout programme CGI s'exécutant sous le même uid que le
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis serveur web (autrement dit tous les programmes CGI, à moins que
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis vous n'utilisiez un programme du style <program>suexec</program>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Sélection de la "meilleure" implémentation des sémaphores
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis disponible ; le choix s'effectue entre les sémaphores posix et
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Une variante de mutex à base de mutex de thread Posix
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis inter-processus.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Sur la plupart des systèmes, si un processus enfant se
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis termine anormalement alors qu'il détenait un mutex qui utilise
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis cette implémentation, le serveur va se bloquer et cesser de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis répondre aux requêtes. Dans ce cas, un redémarrage manuel est
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis nécessaire pour récupérer le mutex.</p>
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis <p>Solaris constitue une exception notable, en ceci qu'il fournit
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis un mécanisme qui permet en général de récupérer le mutex après
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis l'arrêt anormal d'un processus enfant qui détenait le mutex.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Si votre système implémente la fonction
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis <code>pthread_mutexattr_setrobust_np()</code>, vous devriez
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis pouvoir utiliser l'option <code>pthread</code> sans problème.</p>
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis <p>Une variante de mutex utilisant un fichier verrou physique et
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Lorsqu'on utilise plusieurs mutex basés sur ce mécanisme dans
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis un environnement multi-processus, multi-thread, des erreurs de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis blocage (EDEADLK) peuvent être rapportées pour des opérations de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis mutex valides si la fonction <code>fcntl()</code> ne gère pas
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis les threads, comme sous Solaris.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Méthode similaire à <code>fcntl:/chemin/vers/mutex</code>,
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis mais c'est la fonction <code>flock()</code> qui est utilisée
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis pour gérer le verrouillage par fichier.</p></li>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Sélection de la "meilleure" implémentation de verrouillage
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis par fichier disponible ; le choix s'effectue entre
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis <code>fcntl</code> et <code>flock</code>, dans cet ordre.</p></li>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>La plupart des mécanismes ne sont disponibles que sur les
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis plate-formes où ces dernières et <glossary>APR</glossary> les
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis supportent. Les mécanismes qui ne sont pas disponibles sur toutes
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis <em>sysvsem</em>, <em>sem</em>, <em>pthread</em>, <em>fcntl</em>,
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Avec les mécanismes à base de fichier <em>fcntl</em> et
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <em>flock</em>, le chemin, s'il est fourni, est un répertoire dans
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis lequel le fichier verrou sera créé. Le répertoire par défaut est le
2a18ffd174f00789f0a81d32b0e8061d884c1a89lgentis répertoire d'exécution httpd défini par la directive <directive
2a18ffd174f00789f0a81d32b0e8061d884c1a89lgentis module="core">DefaultRuntimeDir</directive>. Si le répertoire
2a18ffd174f00789f0a81d32b0e8061d884c1a89lgentis spécifié est un chemin relatif, il est relatif au chemin défini par
2a18ffd174f00789f0a81d32b0e8061d884c1a89lgentis la directive <directive module="core">DefaultRuntimeDir</directive>.
2a18ffd174f00789f0a81d32b0e8061d884c1a89lgentis Utilisez toujours un système
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis de fichiers local sur disque pour <code>/chemin/vers/mutex</code> et
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis jamais un répertoire se trouvant dans un système de fichiers NFS ou
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis AFS. Le nom de base du fichier se composera du type de mutex, d'une
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis chaîne optionnelle correspondant à l'instance et fournie par le
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis module ; et, sauf si le mot-clé <code>OmitPID</code> a été spécifié,
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis l'identificateur du processus parent httpd sera ajouté afin de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis rendre le nom du fichier unique, évitant ainsi tout conflit lorsque
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis plusieurs instances d'httpd partagent le même répertoire de
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis verrouillage. Par exemple, si le nom de mutex est
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <code>mpm-accept</code>, et si le répertoire de verrouillage est
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis <code>/var/httpd/locks</code>, le nom du fichier verrou pour
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis l'instance httpd dont le processus parent a pour identifiant 12345
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis sera <code>/var/httpd/locks/mpm-accept.12345</code>.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <note type="warning"><title>Sécurité</title>
3670f762ba6e3c38c29ea8a90fcdd5281ab13d53lgentis <p>Il est conseillé d'<em>éviter</em> de placer les fichiers mutex
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis dans un répertoire où tout le monde peut écrire comme
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis <code>/var/tmp</code>, car quelqu'un pourrait initier une attaque
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis par déni de service et empêcher le serveur de démarrer en créant un
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis fichier verrou possédant un nom identique à celui que le serveur va
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis tenter de créer.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>La table suivante décrit les noms de mutex utilisés par httpd et
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis ses modules associés.</p>
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis <td>modules MPM <module>prefork</module> et <module>worker</module></td>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <td>connexions entrantes, afin d'éviter le problème de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis l'afflux de requêtes ; pour plus d'informations, voir la
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis documentation <a
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis href="/misc/perf-tuning.html">Amélioration des
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <td>liste de clients en mémoire partagée</td>
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis <td>communication avec des programmes externes
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis d'associations de valeurs, afin d'éviter les interférences
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis d'entrées/sorties entre plusieurs requêtes</td>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <td>cache de l'étiquetage OCSP ("OCSP stapling")</td>
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis <td>fonction de rappel d'un module client particulier</td>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Le mot-clé <code>OmitPID</code> permet d'empêcher l'addition de
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis l'identifiant du processus httpd parent au nom du fichier verrou.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Dans l'exemple suivant, le mécanisme de mutex pour le mutex
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis mpm-accept est modifié pour passer du mécanisme par défaut au
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis mécanisme <code>fcntl</code>, avec le fichier verrou associé créé
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis dans le répertoire <code>/var/httpd/locks</code>. Le mécanisme de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis mutex par défaut pour tous les autres mutex deviendra
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentisMutex sysvsem default
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis </highlight>
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<directivesynopsis>
78617ba4bbe57c2c7919ea0503ca34d07c3517a6lgentis<description>OBSOLETE : Définit une adresse IP pour les serveurs virtuels à base de
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzornom</description>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<syntax>NameVirtualHost <var>adresse</var>[:<var>port</var>]</syntax>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<contextlist><context>server config</context></contextlist>
3670f762ba6e3c38c29ea8a90fcdd5281ab13d53lgentis <p>Avant la version 2.3.11, il était nécessaire de définir une
3670f762ba6e3c38c29ea8a90fcdd5281ab13d53lgentis directive <directive>NameVirtualHost</directive> pour indiquer au
3670f762ba6e3c38c29ea8a90fcdd5281ab13d53lgentis serveur qu'une paire adresse IP/port particulière pouvait être
3670f762ba6e3c38c29ea8a90fcdd5281ab13d53lgentis utilisée comme serveur virtuel à base de nom. Depuis la version
3670f762ba6e3c38c29ea8a90fcdd5281ab13d53lgentis 2.3.11, chaque fois qu'une paire adresse IP/port est utilisée dans
3670f762ba6e3c38c29ea8a90fcdd5281ab13d53lgentis plusieurs serveurs virtuels, l'hébergement virtuel à base de nom est
3670f762ba6e3c38c29ea8a90fcdd5281ab13d53lgentis automatiquement activé pour cette adresse.</p>
3670f762ba6e3c38c29ea8a90fcdd5281ab13d53lgentis <p>Cette directive n'a actuellement plus aucun effet.</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<seealso><a href="/vhosts/">Documentation sur les serveurs
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<directivesynopsis>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<description>Définit les fonctionnalités disponibles pour un répertoire
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorparticulier</description>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<syntax>Options
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor [+|-]<var>option</var> [[+|-]<var>option</var>] ...</syntax>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<contextlist><context>server config</context><context>virtual
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorhost</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<context>directory</context><context>.htaccess</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</contextlist>
969c0a67509fbbf8d412abe2b2860710c2158704lgentis<compatibility>Avec la version 2.3.11, la valeur par défaut passe de All
969c0a67509fbbf8d412abe2b2860710c2158704lgentisà FollowSymlinks</compatibility>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>La directive <directive>Options</directive> permet de définir
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis les fonctionnalités de serveur disponibles pour un répertoire
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor particulier.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p><var>option</var> peut être défini à <code>None</code>, auquel
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis cas aucune fonctionnalité spécifique n'est activée, ou comprendre
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor une ou plusieurs des options suivantes :</p>
969c0a67509fbbf8d412abe2b2860710c2158704lgentis <dd>Toutes les options excepté <code>MultiViews</code>.</dd>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <dd>L'exécution de scripts CGI à l'aide du module
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis Le serveur va suivre les liens symboliques dans le répertoire
969c0a67509fbbf8d412abe2b2860710c2158704lgentis concerné. Il s'agit de la valeur par défaut.
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>Bien que le serveur suive les liens symboliques, il ne modifie
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <em>pas</em> le nom de chemin concerné défini par la section
2a18ffd174f00789f0a81d32b0e8061d884c1a89lgentis <code>SymLinksIfOwnerMatch</code> ne fonctionnent que dans les
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Le fait d'omettre cette option ne doit pas être considéré comme
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis une mesure de sécurité efficace, car il existe toujours une
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis situation de compétition (race condition) entre l'instant où l'on
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis vérifie qu'un chemin n'est pas un lien symbolique, et l'instant où
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor l'on utilise effectivement ce chemin.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis Les inclusions côté serveur (SSI) à l'aide du module
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <module>mod_include</module> sont autorisées.</dd>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis Les inclusions côté serveur (SSI) sont permises, mais <code>#exec
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis cmd</code> et <code>#exec cgi</code> sont désactivés.
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor L'utilisation de <code>#include virtual</code> pour les scripts
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis CGI est cependant toujours possible depuis des répertoires
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis définis par <directive
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis Si une URL requise correspond au répertoire concerné, et si aucun
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <directive module="mod_dir">DirectoryIndex</directive> (<em>par
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis exemple</em> <code>index.html</code>) n'est défini pour ce
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis répertoire, le module <module>mod_autoindex</module> va renvoyer
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis un listing formaté du répertoire.</dd>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis Les vues multiples ("multiviews") à <a
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis href="/content-negotiation.html">contenu négocié</a> à l'aide du
5a884cb4f4b177e207554c26334ef853c5665e79lgentis module <module>mod_negotiation</module> sont autorisées.
5a884cb4f4b177e207554c26334ef853c5665e79lgentis <note><title>Note</title> <p>Cette option est ignorée si elle est
5a884cb4f4b177e207554c26334ef853c5665e79lgentis définie en tout autre endroit qu'une section <directive
5a884cb4f4b177e207554c26334ef853c5665e79lgentis module="core" type="section">Directory</directive>, car
5a884cb4f4b177e207554c26334ef853c5665e79lgentis <module>mod_negotiation</module> a besoin de ressources réelles
5a884cb4f4b177e207554c26334ef853c5665e79lgentis pour effectuer ses comparaisons et ses évaluations.</p></note>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <dd>Le serveur ne suivra que les liens symboliques qui renvoient
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis vers un fichier ou un répertoire dont le propriétaire est le même
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor que celui du lien.
2a18ffd174f00789f0a81d32b0e8061d884c1a89lgentis <code>SymLinksIfOwnerMatch</code> ne fonctionnent que dans les
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Le fait d'omettre cette option ne doit pas être considéré comme
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis une mesure de sécurité efficace, car il existe toujours une
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis situation de compétition (race condition) entre l'instant où l'on
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis vérifie qu'un chemin n'est pas un lien symbolique, et l'instant où
2a18ffd174f00789f0a81d32b0e8061d884c1a89lgentis l'on utilise effectivement ce chemin.</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>Normalement, si plusieurs directives
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <directive>Options</directive> peuvent s'appliquer à un répertoire,
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis c'est la plus spécifique qui est utilisée et les autres sont
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis ignorées ; les options ne sont pas fusionnées (voir <a
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor href="/sections.html#mergin">comment les sections sont
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis fusionnées</a>). Elles le sont cependant si <em>toutes</em> les
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor options de la directive <directive>Options</directive> sont
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis précédées d'un symbole <code>+</code> ou <code>-</code>. Toute
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis option précédée d'un <code>+</code> est ajoutée à la liste des
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis options courantes de manière forcée et toute option précédée d'un
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <code>-</code> est supprimée de la liste des options courantes de la
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis même manière.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Mélanger des <directive>Options</directive> avec <code>+</code>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor ou <code>-</code> avec des <directive>Options</directive> sans
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <code>+</code> ou <code>-</code> constitue une erreur de syntaxe, et
3670f762ba6e3c38c29ea8a90fcdd5281ab13d53lgentis la vérification de la syntaxe au cours du démarrage du serveur fera
3670f762ba6e3c38c29ea8a90fcdd5281ab13d53lgentis échouer ce dernier.</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>Par exemple, sans aucun symbole <code>+</code> et <code>-</code>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis Options Indexes FollowSymLinks
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis</Directory>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis Options Includes
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis</Directory>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis </highlight>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>ici, seule l'option <code>Includes</code> sera prise en compte
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis pour le répertoire <code>/web/docs/spec</code>. Par contre, si la
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor seconde directive <directive>Options</directive> utilise les
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis Options Indexes FollowSymLinks
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis</Directory>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis Options +Includes -Indexes
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis</Directory>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis </highlight>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <code>Includes</code> seront prises en compte pour le répertoire
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <code>-Includes</code> désactive complètement les inclusions côté
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis serveur sans tenir compte des définitions précédentes.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>En l'absence de toute définition d'options, la valeur par défaut
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
5a884cb4f4b177e207554c26334ef853c5665e79lgentis<directivesynopsis>
5a884cb4f4b177e207554c26334ef853c5665e79lgentis<description>Protocole pour une socket d'écoute</description>
5a884cb4f4b177e207554c26334ef853c5665e79lgentis<contextlist><context>server config</context><context>virtual host</context></contextlist>
a69701660f992f38458ca3e706e3371d964f0fbelgentis<compatibility>Sous Windows, disponible à partir de la version 2.3.3 du
a69701660f992f38458ca3e706e3371d964f0fbelgentisserveur HTTP Apache.</compatibility>
5a884cb4f4b177e207554c26334ef853c5665e79lgentis <p>Cette directive permet de spécifier le protocole utilisé pour une
5a884cb4f4b177e207554c26334ef853c5665e79lgentis socket d'écoute particulière. Le protocole sert à déterminer quel
5a884cb4f4b177e207554c26334ef853c5665e79lgentis module doit traiter une requête, et d'appliquer les optimisations
5a884cb4f4b177e207554c26334ef853c5665e79lgentis spécifiques au protocole via la directive
5a884cb4f4b177e207554c26334ef853c5665e79lgentis <p>Vous ne devez définir le protocole que si vous travaillez avec
5a884cb4f4b177e207554c26334ef853c5665e79lgentis des ports non standards ; dans le cas général, le protocole
5a884cb4f4b177e207554c26334ef853c5665e79lgentis <code>http</code> est associé au port 80 et le protocole
5a884cb4f4b177e207554c26334ef853c5665e79lgentis <p>Par exemple, si vous travaillez avec le protocole
5a884cb4f4b177e207554c26334ef853c5665e79lgentis <code>https</code> sur un port non standard, spécifiez le protocole
5a884cb4f4b177e207554c26334ef853c5665e79lgentis de manière explicite :</p>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis <highlight language="config">Protocol https</highlight>
5a884cb4f4b177e207554c26334ef853c5665e79lgentis <p>Vous pouvez aussi spécifier le protocole via la directive
5a884cb4f4b177e207554c26334ef853c5665e79lgentis <directive module="mpm_common">Listen</directive>.</p>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis<seealso><directive module="core">AcceptFilter</directive></seealso>
5a884cb4f4b177e207554c26334ef853c5665e79lgentis<seealso><directive module="mpm_common">Listen</directive></seealso>
5a884cb4f4b177e207554c26334ef853c5665e79lgentis</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<directivesynopsis>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<description>Limite le temps CPU alloué aux processus initiés par les
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentisprocessus enfants d'Apache httpd</description>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<syntax>RLimitCPU <var>secondes</var>|max [<var>secondes</var>|max]</syntax>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<default>Non défini ; utilise les valeurs par défaut du système
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzord'exploitation</default>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<contextlist><context>server config</context><context>virtual
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorhost</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<context>directory</context><context>.htaccess</context></contextlist>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Prend 1 ou 2 paramètres. Le premier definit la limite de
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor consommation de ressources pour tous les processus, et le second la
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis consommation de ressources maximale. Les deux paramètres peuvent
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor contenir soit un nombre, soit <code>max</code> pour indiquer au
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis serveur que la limite de consommation correspond à la valeur
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis maximale autorisée par la configuration du système d'exploitation.
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor Pour augmenter la consommation maximale de ressources, le serveur
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis doit s'exécuter en tant que <code>root</code>, ou se trouver dans sa
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis phase de démarrage.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Cette directive s'applique aux processus initiés par les
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis processus enfants d'Apache httpd qui traitent les requêtes, et non aux
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis processus enfants eux-mêmes. Sont concernés les scripts CGI et les
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis commandes exec des SSI, mais en aucun cas les processus initiés par
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis le processus parent d'Apache httpd comme les journalisations redirigées
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor vers un programme.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Les limites de ressources CPU sont exprimées en secondes par
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor processus.</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<seealso><directive module="core">RLimitMEM</directive></seealso>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<seealso><directive module="core">RLimitNPROC</directive></seealso>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<directivesynopsis>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<description>Limite la mémoire allouée aux processus initiés par les
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentisprocessus enfants d'Apache httpd</description>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<syntax>RLimitMEM <var>octets</var>|max [<var>octets</var>|max]</syntax>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<default>Non défini ; utilise les valeurs par défaut du système
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzord'exploitation</default>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<contextlist><context>server config</context><context>virtual
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorhost</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<context>directory</context><context>.htaccess</context></contextlist>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Prend 1 ou 2 paramètres. Le premier definit la limite de
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor consommation de ressources pour tous les processus, et le second la
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis consommation de ressources maximale. Les deux paramètres peuvent
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor contenir soit un nombre, soit <code>max</code> pour indiquer au
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis serveur que la limite de consommation correspond à la valeur
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis maximale autorisée par la configuration du système d'exploitation.
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor Pour augmenter la consommation maximale de ressources, le serveur
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis doit s'exécuter en tant que <code>root</code>, ou se trouver dans sa
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis phase de démarrage.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Cette directive s'applique aux processus initiés par les
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis processus enfants d'Apache httpd qui traitent les requêtes, et non aux
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis processus enfants eux-mêmes. Sont concernés les scripts CGI et les
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis commandes exec des SSI, mais en aucun cas les processus initiés par
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis le processus parent d'Apache httpd comme les journalisations redirigées
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor vers un programme.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Les limites de ressources mémoire sont exprimées en octets par
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor processus.</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<seealso><directive module="core">RLimitCPU</directive></seealso>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<seealso><directive module="core">RLimitNPROC</directive></seealso>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<directivesynopsis>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<description>Limite le nombre de processus qui peuvent être initiés par
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentisles processus initiés par les processus enfants d'Apache httpd</description>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<syntax>RLimitNPROC <var>nombre</var>|max [<var>nombre</var>|max]</syntax>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<default>Unset; uses operating system defaults</default>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<contextlist><context>server config</context><context>virtual
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorhost</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<context>directory</context><context>.htaccess</context></contextlist>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Prend 1 ou 2 paramètres. Le premier definit la limite de
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor consommation de ressources pour tous les processus, et le second la
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis consommation de ressources maximale. Les deux paramètres peuvent
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor contenir soit un nombre, soit <code>max</code> pour indiquer au
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis serveur que la limite de consommation correspond à la valeur
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis maximale autorisée par la configuration du système d'exploitation.
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor Pour augmenter la consommation maximale de ressources, le serveur
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis doit s'exécuter en tant que <code>root</code>, ou se trouver dans sa
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis phase de démarrage.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Cette directive s'applique aux processus initiés par les
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis processus enfants d'Apache httpd qui traitent les requêtes, et non aux
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis processus enfants eux-mêmes. Sont concernés les scripts CGI et les
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis commandes exec des SSI, mais en aucun cas les processus initiés par
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis le processus parent d'Apache httpd comme les journalisations redirigées
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor vers un programme.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Les limites des processus contrôlent le nombre de processus par
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor utilisateur.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Si les processus CGI s'exécutent sous le même
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor utilisateur que celui du serveur web, cette
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor directive va limiter le nombre de processus que le serveur
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis pourra lui-même créer. La présence de messages
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <strong><code>cannot fork</code></strong> dans le journal des
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor erreurs indiquera que la limite est atteinte.</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<seealso><directive module="core">RLimitMEM</directive></seealso>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<seealso><directive module="core">RLimitCPU</directive></seealso>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<directivesynopsis>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<description>Permet de localiser l'interpréteur des scripts
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorCGI</description>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<syntax>ScriptInterpreterSource Registry|Registry-Strict|Script</syntax>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<contextlist><context>server config</context><context>virtual
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorhost</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<context>directory</context><context>.htaccess</context></contextlist>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Cette directive permet de contrôler la méthode qu'utilise Apache
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis httpd pour trouver l'interpréteur destiné à exécuter les scripts CGI. La
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis définition par défaut est <code>Script</code> : ceci indique à
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis Apache httpd qu'il doit utiliser l'interpréteur précisé dans la ligne
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis shebang du script (la première ligne, commençant par
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <code>#!</code>). Sur les systèmes Win32, cette ligne ressemble
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis souvent à ceci :</p>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis <highlight language="perl">#!C:/Perl/bin/perl.exe</highlight>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>ou simplement, dans le cas où <code>perl</code> est dans le
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>Avec <code>ScriptInterpreterSource Registry</code>, Windows va
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor effectuer une recherche dans l'arborescence
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <code>HKEY_CLASSES_ROOT</code> de la base de registre avec comme
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis mot-clé l'extension du fichier contenant le script (par exemple
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <code>.pl</code>). C'est la commande définie par la sous-clé de
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor registre <code>Shell\ExecCGI\Command</code> ou, si elle n'existe
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis pas, la sous-clé <code>Shell\Open\Command</code> qui est utilisée
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis pour ouvrir le fichier du script. Si ces clés de registre ne sont
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis pas trouvées, Apache httpd utilise la méthode de l'option
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <note type="warning"><title>Sécurité</title>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>Soyez prudent si vous utilisez <code>ScriptInterpreterSource
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis Registry</code> avec des répertoires faisant l'objet d'un <directive
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis module="mod_alias">ScriptAlias</directive>, car Apache httpd va essayer
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis d'exécuter <strong>tous</strong> les fichiers contenus dans
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor celui-ci. L'option <code>Registry</code> peut causer des appels de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis programmes non voulus sur des fichiers non destinés à être exécutés.
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis Par exemple, la commande par défaut open sur les fichiers
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <code>.htm</code> sur la plupart des systèmes Windows va lancer
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis Microsoft Internet Explorer ; ainsi, toute requête HTTP pour un
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis fichier <code>.htm</code> situé dans le répertoire des scripts
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis va lancer le navigateur en arrière-plan sur le serveur, ce qui a
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis toutes les chances de crasher votre système dans les minutes qui
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor suivent.</p>
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis <p>L'option <code>Registry-Strict</code>, apparue avec la version
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis 2.0 du serveur HTTP Apache,
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis agit de manière identique à <code>Registry</code>, mais n'utilise
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis que la sous-clé <code>Shell\ExecCGI\Command</code>. La présence de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis la clé <code>ExecCGI</code> n'étant pas systématique, Elle doit être
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis définie manuellement dans le registre Windows et évite ainsi tout
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis appel de programme accidentel sur votre système.</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis<directivesynopsis>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<description>Détermine si mod_status affiche les 63 premiers caractères
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentisd'une requête ou les 63 derniers, en supposant que la requête
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentiselle-même possède plus de 63 caractères.</description>
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis<contextlist><context>server config</context></contextlist>
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis <p>Avec <code>ExtendedStatus On</code>, mod_status affiche la
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis véritable requête en cours de traitement. Pour des raisons
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis historiques, seuls 63 caractères de la requête sont réellement
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis stockés à des fins d'affichage. Cette directive permet de déterminer
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis si ce sont les 63 premiers caractères qui seront stockés (c'est le
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis comportement par défaut),
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis ou si ce sont les 63 derniers. Ceci ne s'applique bien entendu que
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis si la taille de la requête est de 64 caractères ou plus.</p>
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis >GET /disque1/stockage/apache/htdocs/images/rep-images1/nourriture/pommes.jpg HTTP/1.1</code>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis , l'affichage de la requête par mod_status se présentera comme suit :
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis <td>GET /disque1/stockage/apache/htdocs/images/rep-images1/nourritu</td>
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis <td>apache/htdocs/images/rep-images1/nourriture/pommes.jpg HTTP/1.1</td>
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<directivesynopsis>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<description>L'adresse électronique que le serveur inclut dans les
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentismessages d'erreur envoyés au client</description>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<syntax>ServerAdmin <var>adresse électronique</var>|<var>URL</var></syntax>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<contextlist><context>server config</context><context>virtual
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorhost</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</contextlist>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>La directive <directive>ServerAdmin</directive> permet de définir
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor l'adresse de contact que le serveur va inclure dans tout message
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor d'erreur qu'il envoie au client. Si le programme <code>httpd</code>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor ne reconnait pas l'argument fourni comme une URL, il suppose que
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis c'est une <var>adresse électronique</var>, et lui ajoute le préfixe
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <code>mailto:</code> dans les cibles des hyperliens. Il est
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis cependant recommandé d'utiliser exclusivement une adresse
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis électronique, car de nombreux scripts CGI considèrent ceci comme
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor implicite. Si vous utilisez une URL, elle doit pointer vers un autre
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis serveur que vous contrôlez. Dans le cas contraire, les utilisateurs
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis seraient dans l'impossibilité de vous contacter en cas de problème.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Il peut s'avérer utile de définir une adresse dédiée à
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor l'administration du serveur, par exemple :</p>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis <highlight language="config">ServerAdmin www-admin@foo.example.com</highlight>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>car les utilisateurs ne mentionnent pas systématiquement le
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor serveur dont ils parlent !</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<description>Autres noms d'un serveur utilisables pour atteindre des
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentisserveurs virtuels à base de nom</description>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<syntax>ServerAlias <var>nom serveur</var> [<var>nom serveur</var>]
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor...</syntax>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<contextlist><context>virtual host</context></contextlist>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>La directive <directive>ServerAlias</directive> permet de définir
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor les noms alternatifs d'un serveur utilisables pour atteindre des <a
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis href="/vhosts/name-based.html">serveurs virtuels à base de
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor nom</a>. La directive <directive>ServerAlias</directive> peut
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis contenir des caractères génériques, si nécessaire.</p>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis<VirtualHost *:80>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis ServerAlias server server2.example.com server2
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis UseCanonicalName Off
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis</VirtualHost>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis </highlight>
699c9f9d20c0a2acd4617d802e90c447c4c33b00lgentis <p>La recherche du serveur virtuel à base de nom correspondant au
699c9f9d20c0a2acd4617d802e90c447c4c33b00lgentis plus près à la requête s'effectue selon l'ordre d'apparition des
699c9f9d20c0a2acd4617d802e90c447c4c33b00lgentis module="core">virtualhost</directive> dans le fichier de
699c9f9d20c0a2acd4617d802e90c447c4c33b00lgentis configuration. Le premier serveur virtuel dont le <directive
699c9f9d20c0a2acd4617d802e90c447c4c33b00lgentis module="core">ServerName</directive> ou le <directive
699c9f9d20c0a2acd4617d802e90c447c4c33b00lgentis module="core">ServerAlias</directive> correspond est choisi, sans
699c9f9d20c0a2acd4617d802e90c447c4c33b00lgentis priorité particulière si le nom contient des caractères génériques
699c9f9d20c0a2acd4617d802e90c447c4c33b00lgentis (que ce soit pour ServerName ou ServerAlias).</p>
b1e8a4a1a94094f54da1200b4559b709b07ab00dlgentis <p>Tous les noms spécifiés au sein d'une section
b1e8a4a1a94094f54da1200b4559b709b07ab00dlgentis <directive>VirtualHost</directive> sont traités comme un
b1e8a4a1a94094f54da1200b4559b709b07ab00dlgentis <directive>ServerAlias</directive> (sans caractères génériques).</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<seealso><directive module="core">UseCanonicalName</directive></seealso>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<seealso><a href="/vhosts/">Documentation sur les serveurs virtuels
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<directivesynopsis>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<description>Nom d'hôte et port que le serveur utilise pour
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentiss'authentifier lui-même</description>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<syntax>ServerName [<var>protocole</var>://]<var>nom de domaine
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentisentièrement qualifié</var>[:<var>port</var>]</syntax>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<contextlist><context>server config</context><context>virtual
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorhost</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</contextlist>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>La directive <directive>ServerName</directive> permet de définir
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis les protocole, nom d'hôte et port d'une requête que le serveur
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis utilise pour s'authentifier lui-même. Ceci est utile lors de la
726d021e86222971fdbad105750100befeac3577lgentis création de redirections d'URLs.</p>
726d021e86222971fdbad105750100befeac3577lgentis <p>La directive <directive>ServerName</directive> permet aussi
726d021e86222971fdbad105750100befeac3577lgentis (éventuellement en conjonction avec la directive
726d021e86222971fdbad105750100befeac3577lgentis <directive>ServerAlias</directive>) d'identifier de manière unique
726d021e86222971fdbad105750100befeac3577lgentis un serveur virtuel, lorsqu'elle est utilisée dans un contexte de <a
726d021e86222971fdbad105750100befeac3577lgentis href="/vhosts/name-based.html">serveurs virtuels à base de
726d021e86222971fdbad105750100befeac3577lgentis <p>Par exemple, si le nom de la
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis machine hébergeant le serveur web est
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <code>simple.example.com</code>, la machine possède l'alias
67972b58b9a56ebc101bea2e9758569b973dd5cand DNS <code>www.example.com</code>, et si vous voulez que le serveur
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis web s'identifie avec cet alias, vous devez utilisez la définition
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor suivante :</p>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis <highlight language="config">ServerName www.example.com</highlight>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>La directive <directive>ServerName</directive> peut apparaître à
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis toutes les étapes de la définition du serveur. Toute occurrence
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis annule cependant la précédente (pour ce serveur).</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>Si la directive <directive>ServerName</directive> n'est pas
9c57e865c5b7064c3a806c65295e3dc5c61e2d3algentis définie, le serveur tente de déterminer le nom
9c57e865c5b7064c3a806c65295e3dc5c61e2d3algentis d'hôte visible du point de vue du client en effectuant
9c57e865c5b7064c3a806c65295e3dc5c61e2d3algentis une recherche DNS inverse sur une adresse IP du serveur.</p>
9c57e865c5b7064c3a806c65295e3dc5c61e2d3algentis <p>Si la directive
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <directive>ServerName</directive> ne précise pas de port, le serveur
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis utilisera celui de la requête entrante. Il est recommandé de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis spécifier un nom d'hôte et un port spécifiques à l'aide de la
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis directive <directive>ServerName</directive> pour une fiabilité
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis optimale et à titre préventif.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis href="/vhosts/name-based.html">serveurs virtuels à base de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis nom</a>, une directive <directive>ServerName</directive> située à
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis l'intérieur d'une section <directive type="section"
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis module="core">VirtualHost</directive> spécifiera quel nom d'hôte
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis doit apparaître dans l'en-tête de requête <code>Host:</code> pour
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor pouvoir atteindre ce serveur virtuel.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Parfois, le serveur s'exécute en amont d'un dispositif qui
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis implémente SSL, comme un mandataire inverse, un répartiteur de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis charge ou un boîtier dédié SSL. Dans ce cas, spécifiez le protocole
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <code>https://</code> et le port auquel les clients se connectent
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor dans la directive <directive>ServerName</directive>, afin de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis s'assurer que le serveur génère correctement ses URLs
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor d'auto-identification.
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor module="core">UseCanonicalName</directive> et <directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor module="core">UseCanonicalPhysicalPort</directive> pour les
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis définitions qui permettent de déterminer si les URLs
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor auto-identifiantes (par exemple via le module
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <module>mod_dir</module>) vont faire référence au port spécifié, ou
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis au port indiqué dans la requête du client.
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Si la valeur de la directive <directive>ServerName</directive> ne
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis peut pas être résolue en adresse IP, le démarrage du serveur
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis provoquera un avertissement. <code>httpd</code> va alors utiliser le
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis résultat de la commande système <code>hostname</code> pour
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis déterminer le nom du serveur, ce qui ne correspondra pratiquement
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis jamais au nom de serveur que vous souhaitez réellement.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis httpd: Could not reliably determine the server's fully qualified domain name, using rocinante.local for ServerName
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<seealso><a href="/dns-caveats.html">Problèmes concernant le DNS et
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<seealso><a href="/vhosts/">Documentation sur les serveurs virtuels
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<seealso><directive module="core">UseCanonicalName</directive></seealso>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<seealso><directive module="core">UseCanonicalPhysicalPort</directive></seealso>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<seealso><directive module="core">ServerAlias</directive></seealso>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<directivesynopsis>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<description>Nom de chemin d'URL hérité pour un serveur virtuel à base
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentisde nom accédé par un navigateur incompatible</description>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<contextlist><context>virtual host</context></contextlist>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>La directive <directive>ServerPath</directive> permet de définir
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis le nom de chemin d'URL hérité d'un hôte, à utiliser avec les <a
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis href="/vhosts/">serveurs virtuels à base de nom</a>.</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<seealso><a href="/vhosts/">Documentation sur les serveurs virtuels
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<directivesynopsis>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<description>Racine du répertoire d'installation du
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorserveur</description>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<syntax>ServerRoot <var>chemin de répertoire</var></syntax>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<contextlist><context>server config</context></contextlist>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>La directive <directive>ServerRoot</directive> permet de définir
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis le répertoire dans lequel le serveur est installé. En particulier,
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis il contiendra les sous-répertoires <code>conf/</code> et
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <code>logs/</code>. Les chemins relatifs indiqués dans les autres
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor directives (comme <directive
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis module="mod_so">LoadModule</directive>) seront définis par
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis rapport à ce répertoire.</p>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis <highlight language="config">ServerRoot "/home/httpd"</highlight>
25cbd52bee363a7adb7068e44cd92fdbfad2b6f2lgentis <p>La valeur par défaut de <directive>ServerRoot</directive> peut
25cbd52bee363a7adb7068e44cd92fdbfad2b6f2lgentis être modifiée via l'argument <code>--prefix</code> de la commande <a
25cbd52bee363a7adb7068e44cd92fdbfad2b6f2lgentis href="/programs/configure.html"><code>configure</code></a>, et de
25cbd52bee363a7adb7068e44cd92fdbfad2b6f2lgentis nombreuses distributions tierces du serveur proposent une valeur
25cbd52bee363a7adb7068e44cd92fdbfad2b6f2lgentis différente de celles listées ci-dessus.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<seealso><a href="/misc/security_tips.html#serverroot">les conseils à
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentispropos de sécurité</a> pour des informations sur la manière de définir
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentiscorrectement les permissions sur le répertoire indiqué par la directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<directivesynopsis>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<description>Définit un pied de page pour les documents générés par le
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorserveur</description>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<contextlist><context>server config</context><context>virtual
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorhost</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<context>directory</context><context>.htaccess</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</contextlist>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>La directive <directive>ServerSignature</directive> permet de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis définir une ligne de pied de page fixe pour les documents générés
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis par le serveur (messages d'erreur, listings de répertoires ftp de
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <module>mod_proxy</module>, sorties de <module>mod_info</module>,
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis etc...). Dans le cas d'une chaîne de mandataires, l'utilisateur n'a
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis souvent aucun moyen de déterminer lequel des mandataires chaînés a
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis généré un message d'erreur, et c'est une des raisons pour lesquelles
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis on peut être amené à ajouter un tel pied de page.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>La valeur par défaut <code>Off</code> supprime la ligne de pied
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor de page (et est ainsi compatible avec le comportement des
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis versions 1.2 et antérieures d'Apache). la valeur <code>On</code>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis ajoute simplement une ligne contenant le numéro de version du
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor serveur ainsi que le nom du serveur virtuel issu de la directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <directive module="core">ServerName</directive>, alors que la valeur
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <code>EMail</code> ajoute en plus une référence "mailto:" à
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis l'administrateur du document référencé issu la directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <directive module="core">ServerAdmin</directive>.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Après la version 2.0.44, les détails à propos du numéro de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis version du serveur sont contrôlés à l'aide de la directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <directive module="core">ServerTokens</directive>.</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<seealso><directive module="core">ServerTokens</directive></seealso>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<directivesynopsis>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<description>Configure l'en-tête <code>Server</code> de la réponse
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorHTTP</description>
66d8ca1eca657363fb8e50c19aa4d19c90671eedlgentis<syntax>ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full</syntax>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<contextlist><context>server config</context></contextlist>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Cette directive permet de contrôler le contenu de l'en-tête
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <code>Server</code> inclus dans la réponse envoyée au client : cet
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis en-tête peut contenir le type de système d'exploitation du serveur,
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis ainsi que des informations à propos des modules compilés avec le
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor serveur.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <dt><code>ServerTokens Full</code> (ou non spécifié)</dt>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis <dd>Le serveur envoie par exemple : <code>Server: Apache/2.4.2
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server:
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server:
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server:
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server:
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server:
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Cette définition s'applique à l'ensemble du serveur et ne peut
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis être activée ou désactivée pour tel ou tel serveur virtuel.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Dans les versions postérieures à 2.0.44, cette directive contrôle
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor aussi les informations fournies par la directive <directive
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <note>Définir <directive>ServerTokens</directive> à une
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis valeur inférieure à <code>minimal</code> n'est pas
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis recommandé car le débogage des problèmes
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis interopérationnels n'en sera alors que plus difficile. Notez
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis aussi que la désactivation de l'en-tête Server:
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis n'améliore en rien la sécurité de votre
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis serveur ; le concept de "sécurité par
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis l'obscurité" est un mythe et conduit à
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis une mauvaise perception de ce qu'est la sécurité.</note>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<seealso><directive module="core">ServerSignature</directive></seealso>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<directivesynopsis>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<description>Force le traitement des fichiers spécifiés par un
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorgestionnaire particulier</description>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<syntax>SetHandler <var>nom gestionnaire</var>|None</syntax>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<contextlist><context>server config</context><context>virtual
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorhost</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<context>directory</context><context>.htaccess</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</contextlist>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Lorsqu'elle se situe à l'intérieur d'un fichier
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <code>.htaccess</code>, ou d'une section <directive type="section"
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor module="core">Directory</directive> ou <directive type="section"
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor module="core">Location</directive>, cette directive force le
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis traitement de tous les fichiers spécifiés par le <a
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis href="/handler.html">gestionnaire</a> défini par l'argument
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <var>nom gestionnaire</var>. Par exemple, dans le cas d'un
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis répertoire dont vous voulez interpréter le contenu comme des
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis fichiers de règles d'images cliquables, sans tenir compte des
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor extensions, vous pouvez ajouter la ligne suivante dans un fichier
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <code>.htaccess</code> de ce répertoire :</p>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis <highlight language="config">SetHandler imap-file</highlight>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>Autre exemple : si vous voulez que le serveur affiche un
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis compte-rendu d'état chaque fois qu'une URL du type <code>http://nom
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis serveur/status</code> est appelée, vous pouvez ajouter ceci dans
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis<Location "/status">
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis SetHandler server-status
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis</Location>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis </highlight>
880d9baec98753a7d0e69e6980e413ad64af7a26lgentis <p>Vous pouvez aussi utiliser cette directive pour associer un
880d9baec98753a7d0e69e6980e413ad64af7a26lgentis gestionnaire à des fichiers possèdant une extension de nom de
880d9baec98753a7d0e69e6980e413ad64af7a26lgentis fichier particulière. Par exemple :</p>
3410b584d8126761b178068883f2ffc751b9e691lgentis<FilesMatch "\.php$">
880d9baec98753a7d0e69e6980e413ad64af7a26lgentis</FilesMatch>
880d9baec98753a7d0e69e6980e413ad64af7a26lgentis </highlight>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Vous pouvez écraser la définition antérieure d'une directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <directive>SetHandler</directive> en utilisant la valeur
fb25b82560b7fcaffa006cb4738d86acc561b6f4lgentis <p>Comme <directive>SetHandler</directive> l'emporte sur la
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis définition des gestionnaires par défaut, le comportement habituel
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis consistant à traiter les URLs se terminant par un slash (/) comme
fb25b82560b7fcaffa006cb4738d86acc561b6f4lgentis des répertoires ou des fichiers index est désactivé.</p></note>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<seealso><directive module="mod_mime">AddHandler</directive></seealso>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<directivesynopsis>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<description>Définit les filtres par lesquels vont passer les requêtes
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentisclient et les données POST</description>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<syntax>SetInputFilter <var>filtre</var>[;<var>filtre</var>...]</syntax>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<contextlist><context>server config</context><context>virtual
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorhost</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<context>directory</context><context>.htaccess</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</contextlist>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>La directive <directive>SetInputFilter</directive> permet de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis définir le ou les filtres par lesquels vont passer les requêtes
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis client et les données POST au moment où le serveur les reçoit. Cette
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis définition vient en ajout à tout autre filtre défini en
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor quelqu'endroit que ce soit, y compris via la directive <directive
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Si la directive comporte plusieurs filtres, ils doivent être
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis séparés par des points-virgules, et spécifiés selon l'ordre dans
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor lequel vous souhaitez les voir agir sur les contenus.</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<directivesynopsis>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<description>Définit les filtres par lesquels vont passer les réponses
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzordu serveur</description>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<syntax>SetOutputFilter <var>filtre</var>[;<var>filtre</var>...]</syntax>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<contextlist><context>server config</context><context>virtual
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorhost</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<context>directory</context><context>.htaccess</context>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</contextlist>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>La directive <directive>SetOutputFilter</directive> permet de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis définir les filtres par lesquels vont passer les réponses du serveur
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis avant d'être envoyées au client. Cette définition vient en ajout à
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis tout autre filtre défini en quelqu'endroit que ce soit, y compris
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor via la directive <directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>Par exemple, la configuration suivante va traiter tous les
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis fichiers du répertoire <code>/www/data/</code> comme des inclusions
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis côté serveur (SSI) :</p>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis SetOutputFilter INCLUDES
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis</Directory>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis </highlight>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Si la directive comporte plusieurs filtres, ils doivent être
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis séparés par des points-virgules, et spécifiés selon l'ordre dans
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor lequel vous souhaitez les voir agir sur les contenus.</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<seealso><a href="/filter.html">Filters</a> documentation</seealso>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<description>Temps pendant lequel le serveur va attendre certains
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentisévènements avant de considérer qu'une requête a échoué</description>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<contextlist><context>server config</context><context>virtual
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>La directive <directive>TimeOut</directive> permet de définir le
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis temps maximum pendant lequel Apache httpd va attendre des entrées/sorties
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor selon les circonstances :</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <li>Lors de la lecture de données en provenance du client, le
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis temps maximum jusqu'à l'arrivée d'un paquet TCP si le tampon est
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <li>Lors de l'écriture de données destinées au client, le temps
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis maximum jusqu'à l'arrivée de l'accusé-réception d'un paquet si le
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor tampon d'envoi est plein.</li>
fed05bd9cff037691a12077d6d9d83f9892e70a5lgentis <li>Avec <module>mod_cgi</module> et <module>mod_cgid</module>, le temps d'attente maximum des
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor sorties d'un script CGI.</li>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <li>Avec <module>mod_ext_filter</module>, le temps d'attente
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor maximum des sorties d'un processus de filtrage.</li>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <li>Avec <module>mod_proxy</module>, la valeur du délai par défaut
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor si <directive module="mod_proxy">ProxyTimeout</directive> n'est
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis pas défini.</li>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<directivesynopsis>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<description>Détermine le comportement des requêtes
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<syntax>TraceEnable <var>[on|off|extended]</var></syntax>
f98460c087bf9c741a3a21c4cf07c7c2ef110d3blgentis<contextlist><context>server config</context><context>virtual host</context></contextlist>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>Cette directive l'emporte sur le comportement de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <module>mod_proxy</module>. La définition par défaut
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <code>TraceEnable on</code> permet des requêtes <code>TRACE</code>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis selon la RFC 2616, qui interdit d'ajouter tout corps à la requête.
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis La définition <code>TraceEnable off</code> indique au noyau du
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis serveur et à <module>mod_proxy</module> de retourner un code
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis d'erreur <code>405</code> (Méthode non autorisée) au client.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>En fait, et à des fins de test et de diagnostic seulement, on
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis peut autoriser l'ajout d'un corps de requête à l'aide de la
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis définition non standard <code>TraceEnable extended</code>. Le noyau
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor du serveur (dans le cas d'un serveur d'origine) va limiter la taille
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis du corps de requête à 64k (plus 8k pour les en-têtes de
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor fractionnement si <code>Transfer-Encoding: chunked</code> est
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis utilisé). Le noyau du serveur va reproduire l'ensemble des en-têtes,
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis y compris les en-têtes de fractionnement avec le corps de la
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis réponse. Dans le cas d'un serveur mandataire, la taille du corps de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis requête n'est pas limitée à 64k.</p>
378f8519e90890c7207d4714ed35ca5ce36d91bdlgentis <p>Bien que certains prétendent le contraire, <code>TRACE</code> ne
378f8519e90890c7207d4714ed35ca5ce36d91bdlgentis constitue pas une vulnérabilité en matière de sécurité, et il n'y a
378f8519e90890c7207d4714ed35ca5ce36d91bdlgentis aucune raison suffisante pour le désactiver, ce qui rendrait
378f8519e90890c7207d4714ed35ca5ce36d91bdlgentis votre serveur non conforme.</p>
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis</directivesynopsis>
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis<directivesynopsis>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<description>Invalide la définition d'une variable</description>
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis module="core">Define</directive> ou d'un argument <code>-D</code> de
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis <program>httpd</program> en invalidant l'existence de la variable
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis correspondante.</p>
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis <p>On peut utiliser cette directive pour inverser l'effet d'une
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis section <directive module="core" type="section">IfDefine</directive>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis sans avoir à modifier les arguments <code>-D</code> dans les scripts
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis de démarrage.</p>
2dda612e9e4715a5deca6a897b50b937d0403f16lgentis <p>Si cette directive est définie au sein d'un bloc VirtualHost, les
417971bcf828b6bbe9ec2b5a9490dcb1cf1af3a4lgentis changements qu'elle induit sont visibles de toute directive
2dda612e9e4715a5deca6a897b50b937d0403f16lgentis ultérieure, au delà de tout bloc VirtualHost.</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<directivesynopsis>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<description>Définit la manière dont le serveur détermine son propre nom
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzoret son port</description>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<contextlist><context>server config</context><context>virtual
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorhost</context>
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis <p>Dans de nombreuses situations, Apache httpd doit construire une URL
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <em>auto-identifiante</em> -- c'est à dire une URL qui fait
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis référence au serveur lui-même. Avec <code>UseCanonicalName
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis On</code>, Apache httpd va utiliser le nom d'hôte et le port spécifiés par
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor la directive <directive module="core">ServerName</directive> pour
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis construire le nom canonique du serveur. Ce nom est utilisé dans
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis toutes les URLs auto-identifiantes, et affecté aux variables
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <code>SERVER_NAME</code> et <code>SERVER_PORT</code> dans les
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor programmes CGI.</p>
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis <p>Avec <code>UseCanonicalName Off</code>, Apache httpd va construire ses
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis URLs auto-identifiantes à l'aide du nom d'hôte et du port fournis
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis par le client, si ce dernier en a fourni un (dans la négative,
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis Apache utilisera le nom canonique, de la même manière que
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis ci-dessus). Ces valeurs sont les mêmes que celles qui sont utilisées
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis pour implémenter les <a
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis href="/vhosts/name-based.html">serveurs virtuels à base de
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis nom</a>, et sont disponibles avec les mêmes clients. De même, les
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor variables CGI <code>SERVER_NAME</code> et <code>SERVER_PORT</code>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis seront affectées des valeurs fournies par le client.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Cette directive peut s'avérer utile, par exemple, sur un serveur
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor intranet auquel les utilisateurs se connectent en utilisant des noms
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor courts tels que <code>www</code>. Si les utilisateurs tapent un nom
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis court suivi d'une URL qui fait référence à un répertoire, comme
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <code>http://www/splat</code>, <em>sans le slash terminal</em>, vous
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis remarquerez qu'Apache httpd va les rediriger vers
21d31c05096a45954f47863580572da87c902d34lgentis <code>http://www.example.com/splat/</code>. Si vous avez activé
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis l'authentification, ceci va obliger l'utilisateur à s'authentifier
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis deux fois (une première fois pour <code>www</code> et une seconde
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis href="http://wiki.apache.org/httpd/FAQ#Why_does_Apache_ask_for_my_password_twice_before_serving_a_file.3F">la
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis foire aux questions sur ce sujet pour plus d'informations</a>).
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis Par contre, si <directive>UseCanonicalName</directive> est définie à
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis <code>Off</code>, Apache httpd redirigera l'utilisateur vers
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Pour l'hébergement virtuel en masse à base d'adresse IP, on
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis utilise une troisième option, <code>UseCanonicalName
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor DNS</code>, pour supporter les clients anciens qui ne
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis fournissent pas d'en-tête <code>Host:</code>. Apache httpd effectue alors
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor une recherche DNS inverse sur l'adresse IP du serveur auquel le
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis client s'est connecté afin de construire ses URLs
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor auto-identifiantes.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Les programmes CGI risquent d'être perturbés par cette option
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor s'ils tiennent compte de la variable <code>SERVER_NAME</code>. Le
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor client est pratiquement libre de fournir la valeur qu'il veut comme
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis nom d'hôte. Mais si le programme CGI n'utilise
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <code>SERVER_NAME</code> que pour construire des URLs
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis auto-identifiantes, il ne devrait pas y avoir de problème.</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<seealso><directive module="core">UseCanonicalPhysicalPort</directive></seealso>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<seealso><directive module="core">ServerName</directive></seealso>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<seealso><directive module="mpm_common">Listen</directive></seealso>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<directivesynopsis>
fb25b82560b7fcaffa006cb4738d86acc561b6f4lgentis<description>Définit la manière dont le serveur
fb25b82560b7fcaffa006cb4738d86acc561b6f4lgentisdétermine son propre port</description>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<contextlist><context>server config</context><context>virtual
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzorhost</context>
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis <p>Dans de nombreuses situations, Apache httpd doit construire une URL
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <em>auto-identifiante</em> -- c'est à dire une URL qui fait
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis référence au serveur lui-même. Avec <code>UseCanonicalPhysicalPort
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis On</code>, Apache httpd va fournir le numéro de port physique réel utilisé
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis par la requête en tant que port potentiel, pour construire le port
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor canonique afin que le serveur puisse alimenter la directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <directive module="core">UseCanonicalName</directive>. Avec
1f8ff58254f12b4a0756dc2bd173fcd4a401d3e2lgentis <code>UseCanonicalPhysicalPort Off</code>, Apache httpd n'utilisera pas le
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis numéro de port physique réel, mais au contraire se référera aux
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis informations de configuration pour construire un numéro de port
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor valide.</p>
fb25b82560b7fcaffa006cb4738d86acc561b6f4lgentis <p>L'ordre dans lequel s'effectue la recherche quand on utilise le
fb25b82560b7fcaffa006cb4738d86acc561b6f4lgentis port physique est le suivant :</p>
fb25b82560b7fcaffa006cb4738d86acc561b6f4lgentis <li>Port indiqué dans <directive module="core">Servername</directive></li>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <li>Port spécifié dans l'en-tête <code>Host:</code></li>
fb25b82560b7fcaffa006cb4738d86acc561b6f4lgentis <li>Port spécifié par <directive module="core">Servername</directive></li>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>Avec <code>UseCanonicalPhysicalPort Off</code>, on reprend
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor l'ordre ci-dessus en supprimant "Port physique".</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<seealso><directive module="core">UseCanonicalName</directive></seealso>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<seealso><directive module="core">ServerName</directive></seealso>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<seealso><directive module="mpm_common">Listen</directive></seealso>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<description>Contient des directives qui ne s'appliquent qu'à un nom
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentisd'hôte spécifique ou à une adresse IP</description>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<syntax><VirtualHost
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <var>adresse IP</var>[:<var>port</var>] [<var>adresse
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor </VirtualHost></syntax>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<contextlist><context>server config</context></contextlist>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <p>Les balises <directive type="section">VirtualHost</directive> et
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <code></VirtualHost></code> permettent de rassembler un groupe
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis de directives qui ne s'appliquent qu'à un serveur virtuel
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis particulier. Toute directive autorisée dans un contexte de serveur
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis virtuel peut être utilisée. Lorsque le serveur reçoit un requête
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis pour un document hébergé par un serveur virtuel particulier, il
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis applique les directives de configuration rassemblées dans la section
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <directive type="section">VirtualHost</directive>. <var>adresse
3670f762ba6e3c38c29ea8a90fcdd5281ab13d53lgentis IP</var> peut être une des entités suivantes, éventuellement suivies
3670f762ba6e3c38c29ea8a90fcdd5281ab13d53lgentis d'un caractère ':' et d'un numéro de port (ou *) :</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <li>Un nom de domaine entièrement qualifié correspondant à
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis l'adresse IP du serveur virtuel (non recommandé) ;</li>
3670f762ba6e3c38c29ea8a90fcdd5281ab13d53lgentis <li>Le caractère <code>*</code>, qui agit comme un
3670f762ba6e3c38c29ea8a90fcdd5281ab13d53lgentis caractère générique, et correspond à toute adresse IP.</li>
3670f762ba6e3c38c29ea8a90fcdd5281ab13d53lgentis <li>La chaîne <code>_default_</code>, dont la signification est
3670f762ba6e3c38c29ea8a90fcdd5281ab13d53lgentis identique à celle du caractère <code>*</code></li>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis<VirtualHost 10.1.2.3:80>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis ServerAdmin webmaster@host.example.com
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis</VirtualHost>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis </highlight>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Les adresses IPv6 doivent être entourées de crochets car dans le
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis cas contraire, un éventuel port optionnel ne pourrait pas être
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis déterminé. Voici un exemple de serveur virtuel avec adresse IPv6
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis<VirtualHost [2001:db8::a00:20ff:fea7:ccea]:80>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis ServerAdmin webmaster@host.example.com
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis</VirtualHost>
388d7b7d9b52042054e3d2cc23b378fcd47624e4lgentis </highlight>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <p>Chaque serveur virtuel doit correspondre à une adresse IP, un
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis port ou un nom d'hôte spécifique ; dans le premier cas, le serveur
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis doit être configuré pour recevoir les paquets IP de plusieurs
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis adresses (si le serveur n'a qu'une interface réseau, on peut
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis utiliser à cet effet la commande <code>ifconfig alias</code> -- si
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis votre système d'exploitation le permet).</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor type="section">VirtualHost</directive> n'affecte en rien les
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis adresses IP sur lesquelles Apache httpd est en écoute. Vous devez vous
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor assurer que les adresses des serveurs virtuels sont bien incluses
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis dans la liste des adresses précisées par la directive <directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor type="section">VirtualHost</directive> doit comporter une directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <directive module="core">ServerName</directive>. Dans le cas
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis contraire, le serveur virtuel héritera de la valeur de la directive
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor <directive module="core">ServerName</directive> issue de la
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor configuration du serveur principal.</p>
3670f762ba6e3c38c29ea8a90fcdd5281ab13d53lgentis <p>A l'arrivée d'une requête, le serveur tente de la
3670f762ba6e3c38c29ea8a90fcdd5281ab13d53lgentis faire prendre en compte par la section <directive
3670f762ba6e3c38c29ea8a90fcdd5281ab13d53lgentis type="section">VirtualHost</directive> qui correspond le mieux en ne
3670f762ba6e3c38c29ea8a90fcdd5281ab13d53lgentis se basant que sur la paire adresse IP/port. Les chaînes sans
3670f762ba6e3c38c29ea8a90fcdd5281ab13d53lgentis caractères génériques l'emportent sur celles qui en contiennent. Si
3670f762ba6e3c38c29ea8a90fcdd5281ab13d53lgentis aucune correspondance du point de vue de l'adresse IP/port n'est
3670f762ba6e3c38c29ea8a90fcdd5281ab13d53lgentis trouvée, c'est la configuration du serveur "principal" qui sera
3670f762ba6e3c38c29ea8a90fcdd5281ab13d53lgentis utilisée.</p>
3670f762ba6e3c38c29ea8a90fcdd5281ab13d53lgentis <p>Si plusieurs serveurs virtuels correspondent du point de vue de
3670f762ba6e3c38c29ea8a90fcdd5281ab13d53lgentis l'adresse IP/port, le serveur sélectionne celui qui correspond le
3670f762ba6e3c38c29ea8a90fcdd5281ab13d53lgentis mieux du point de vue du nom d'hôte de la requête. Si aucune
3670f762ba6e3c38c29ea8a90fcdd5281ab13d53lgentis correspondance du point de vue du nom d'hôte n'est trouvée, c'est le
3670f762ba6e3c38c29ea8a90fcdd5281ab13d53lgentis premier serveur virtuel dont l'adresse IP/port correspond qui sera
3670f762ba6e3c38c29ea8a90fcdd5281ab13d53lgentis utilisé. Par voie de conséquence, le premier serveur virtuel
3670f762ba6e3c38c29ea8a90fcdd5281ab13d53lgentis comportant une certaine paire adresse IP/port est le serveur virtuel
3670f762ba6e3c38c29ea8a90fcdd5281ab13d53lgentis par défaut pour cette paire adresse IP/port.</p>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis <note type="warning"><title>Sécurité</title>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis href="/misc/security_tips.html">conseils à propos de sécurité</a>
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis pour une description détaillée des raisons pour lesquelles la
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis sécurité de votre serveur pourrait être compromise, si le répertoire
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor contenant les fichiers journaux est inscriptible par tout autre
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis utilisateur que celui qui démarre le serveur.</p>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<seealso><a href="/vhosts/">Documentation des serveurs virtuels
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<seealso><a href="/dns-caveats.html">Problèmes concernant le DNS et
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentis<seealso><a href="/bind.html">Définition des adresses et ports
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<seealso><a href="/sections.html">Comment fonctionnent les sections
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor<Directory>, <Location> et <Files></a> pour une
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentisexplication de la manière dont ces différentes sections se combinent
3016c72ae8173bcfc0989ff1b297d4f27f445108lgentisentre elles à la réception d'une requête</seealso>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</directivesynopsis>
76f2a8a1a43991bf3b20227cafb4f3d7e108c567lgentis<directivesynopsis>
76f2a8a1a43991bf3b20227cafb4f3d7e108c567lgentis<description>Enregistrement de méthodes HTTP non standards</description>
76f2a8a1a43991bf3b20227cafb4f3d7e108c567lgentis<syntax>RegisterHttpMethod <var>méthode</var> [<var>méthode</var> [...]]</syntax>
76f2a8a1a43991bf3b20227cafb4f3d7e108c567lgentis<contextlist><context>server config</context></contextlist>
76f2a8a1a43991bf3b20227cafb4f3d7e108c567lgentis<p>Normalement, les méthodes HTTP non conformes aux RFCs correspondantes
76f2a8a1a43991bf3b20227cafb4f3d7e108c567lgentissont rejetées au cours du traitement de la requête par HTTPD. Pour
76f2a8a1a43991bf3b20227cafb4f3d7e108c567lgentiséviter ceci, les modules peuvent enregistrer les méthodes HTTP non
76f2a8a1a43991bf3b20227cafb4f3d7e108c567lgentisstandards qu'ils supportent. La directive
76f2a8a1a43991bf3b20227cafb4f3d7e108c567lgentis<directive>RegisterHttpMethod</directive> permet d'enregistrer de telles
76f2a8a1a43991bf3b20227cafb4f3d7e108c567lgentisméthodes manuellement. Ceci peut s'avérer utile si de telle méthodes
76f2a8a1a43991bf3b20227cafb4f3d7e108c567lgentisdoivent être utilisées dans un traitement externe, comme un script CGI.</p>
76f2a8a1a43991bf3b20227cafb4f3d7e108c567lgentis</directivesynopsis>
a69701660f992f38458ca3e706e3371d964f0fbelgentis<directivesynopsis>
a69701660f992f38458ca3e706e3371d964f0fbelgentis<description>Message d'avertissement personnalisable en provenance de
a69701660f992f38458ca3e706e3371d964f0fbelgentisl'interprétation du fichier de configuration</description>
a69701660f992f38458ca3e706e3371d964f0fbelgentis<contextlist><context>server config</context><context>virtual host</context>
a69701660f992f38458ca3e706e3371d964f0fbelgentis<context>directory</context><context>.htaccess</context>
a69701660f992f38458ca3e706e3371d964f0fbelgentis</contextlist>
a69701660f992f38458ca3e706e3371d964f0fbelgentis<compatibility>Disponible à partir de la version 2.5 du serveur HTTP
a69701660f992f38458ca3e706e3371d964f0fbelgentisApache.</compatibility>
a69701660f992f38458ca3e706e3371d964f0fbelgentis <p>Cette directive permet de signaler la détection d'un problème de
a69701660f992f38458ca3e706e3371d964f0fbelgentis configuration en générant un message d'avertissement
a69701660f992f38458ca3e706e3371d964f0fbelgentis personnalisable. L'interprétation du fichier de configuration n'est
a69701660f992f38458ca3e706e3371d964f0fbelgentis pas interrompue. Un exemple typique d'utilisation est la
a69701660f992f38458ca3e706e3371d964f0fbelgentis vérification de la définition de certaines options définies par
a69701660f992f38458ca3e706e3371d964f0fbelgentis l'utilisateur, et l'envoi d'un avertissement éventuel.</p>
a69701660f992f38458ca3e706e3371d964f0fbelgentis# signale que ReverseProxy n'est pas défini
a69701660f992f38458ca3e706e3371d964f0fbelgentis<IfDefine !ReverseProxy>
a69701660f992f38458ca3e706e3371d964f0fbelgentis Warning "le mandataire inverse n'a pas été spécifié, veuillez corriger
a69701660f992f38458ca3e706e3371d964f0fbelgentis si nécessaire"
a69701660f992f38458ca3e706e3371d964f0fbelgentis</IfDefine>
a69701660f992f38458ca3e706e3371d964f0fbelgentis<IfDefine ReverseProxy>
a69701660f992f38458ca3e706e3371d964f0fbelgentis # définition de la configuration personnalisée du mandataire
a69701660f992f38458ca3e706e3371d964f0fbelgentis</IfDefine>
a69701660f992f38458ca3e706e3371d964f0fbelgentis </highlight>
a69701660f992f38458ca3e706e3371d964f0fbelgentis</directivesynopsis>
84adfa1749498da235ea1c3646cdeb485fc2bbb5lgentis<directivesynopsis>
84adfa1749498da235ea1c3646cdeb485fc2bbb5lgentis<description>Détermine si les données supplémentaires (trailers) sont
84adfa1749498da235ea1c3646cdeb485fc2bbb5lgentisfusionnées avec les en-têtes</description>
84adfa1749498da235ea1c3646cdeb485fc2bbb5lgentis<contextlist><context>server config</context><context>virtual host</context></contextlist>
2dda612e9e4715a5deca6a897b50b937d0403f16lgentis<compatibility>Disponible à partir de la version 2.4.10 du serveur HTTP
2dda612e9e4715a5deca6a897b50b937d0403f16lgentisApache</compatibility>
84adfa1749498da235ea1c3646cdeb485fc2bbb5lgentis <p>Cette directive permet de contrôler la fusion des données HTTP
84adfa1749498da235ea1c3646cdeb485fc2bbb5lgentis supplémentaires (trailers) avec la représentation interne des
84adfa1749498da235ea1c3646cdeb485fc2bbb5lgentis en-têtes. Cette fusion intervient lorsque le corps de la requête a
84adfa1749498da235ea1c3646cdeb485fc2bbb5lgentis été entièrement reçu, bien longtemps après que la majeure partie du
84adfa1749498da235ea1c3646cdeb485fc2bbb5lgentis traitement des en-têtes ait une chance de pouvoir examiner ou
84adfa1749498da235ea1c3646cdeb485fc2bbb5lgentis modifier les en-têtes de la requête.</p>
84adfa1749498da235ea1c3646cdeb485fc2bbb5lgentis <p>Cette option a été introduite dans un souci de compatibilité avec
84adfa1749498da235ea1c3646cdeb485fc2bbb5lgentis les versions antérieures à 2.4.10, où les données supplémentaires
84adfa1749498da235ea1c3646cdeb485fc2bbb5lgentis étaient systématiquement fusionnées avec les en-têtes de la requête.</p>
84adfa1749498da235ea1c3646cdeb485fc2bbb5lgentis</directivesynopsis>
ee310fab1ff1ed24942136c5e7423bfae0ff01eagryzor</modulesynopsis>