--- /dev/null
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ This file is generated from xml source: DO NOT EDIT
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ -->
+<title>core - Serveur Apache HTTP</title>
+<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
+<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
+<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body>
+<div id="page-header">
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
+<p class="apache">Serveur Apache HTTP Version 2.3</p>
+<img alt="" src="../images/feather.gif" /></div>
+<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
+<div id="path">
+<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.3</a> > <a href="./">Modules</a></div>
+<div id="page-content">
+<div id="preamble"><h1>Fonctionalités de Base Apache</h1>
+<div class="toplang">
+<p><span>Langues Disponibles: </span><a href="../de/mod/core.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/mod/core.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../fr/mod/core.html" title="Français"> fr </a> |
+<a href="../ja/mod/core.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../tr/mod/core.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+</div>
+<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fonctionnalités de base du serveur HTTP Apache toujours
+disponibles</td></tr>
+<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Core</td></tr></table>
+</div>
+<div id="quickview"><h3 class="directives">Directives</h3>
+<ul id="toc">
+<li><img alt="" src="../images/down.gif" /> <a href="#acceptfilter">AcceptFilter</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#acceptpathinfo">AcceptPathInfo</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#accessfilename">AccessFileName</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#adddefaultcharset">AddDefaultCharset</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#addoutputfilterbytype">AddOutputFilterByType</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#allowencodedslashes">AllowEncodedSlashes</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#allowoverride">AllowOverride</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#cgimapextension">CGIMapExtension</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#contentdigest">ContentDigest</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#defaulttype">DefaultType</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#define">Define</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#directory"><Directory></a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#directorymatch"><DirectoryMatch></a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#documentroot">DocumentRoot</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#enablemmap">EnableMMAP</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#enablesendfile">EnableSendfile</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#errordocument">ErrorDocument</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#errorlog">ErrorLog</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#fileetag">FileETag</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#files"><Files></a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#filesmatch"><FilesMatch></a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#forcetype">ForceType</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#hostnamelookups">HostnameLookups</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#if"><If></a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#ifdefine"><IfDefine></a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#ifmodule"><IfModule></a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#include">Include</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#keepalive">KeepAlive</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#keepalivetimeout">KeepAliveTimeout</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#limit"><Limit></a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#limitexcept"><LimitExcept></a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#limitinternalrecursion">LimitInternalRecursion</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#limitrequestbody">LimitRequestBody</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#limitrequestfields">LimitRequestFields</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#limitrequestfieldsize">LimitRequestFieldSize</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#limitrequestline">LimitRequestLine</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#limitxmlrequestbody">LimitXMLRequestBody</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#location"><Location></a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#locationmatch"><LocationMatch></a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#loglevel">LogLevel</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#maxkeepaliverequests">MaxKeepAliveRequests</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#namevirtualhost">NameVirtualHost</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#options">Options</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#rlimitcpu">RLimitCPU</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#rlimitmem">RLimitMEM</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#rlimitnproc">RLimitNPROC</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#scriptinterpretersource">ScriptInterpreterSource</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#serveradmin">ServerAdmin</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#serveralias">ServerAlias</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#servername">ServerName</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#serverpath">ServerPath</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#serverroot">ServerRoot</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#serversignature">ServerSignature</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#servertokens">ServerTokens</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#sethandler">SetHandler</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#setinputfilter">SetInputFilter</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#setoutputfilter">SetOutputFilter</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#timeout">TimeOut</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#traceenable">TraceEnable</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#usecanonicalname">UseCanonicalName</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#virtualhost"><VirtualHost></a></li>
+</ul>
+</div>
+
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AcceptFilter" id="AcceptFilter">AcceptFilter</a> <a name="acceptfilter" id="acceptfilter">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Permet d'optimiser la configuration d'une socket pour
+l'écoute d'un protocole</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AcceptFilter <var>protocole</var> <var>filtre
+d'acceptation</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.3 sous Windows et 2.1.5
+sur les autres plates-formes.</td></tr>
+</table>
+ <p>Cette directive permet d'effectuer une optimisation de la socket
+ d'écoute d'un type de protocole en fonction du système
+ d'exploitation. Le but premier est de faire en sorte que le noyau
+ n'envoie pas de socket au processus du serveur jusqu'à ce que
+ des données soient reçues, ou qu'une requête HTTP complète soit mise
+ en tampon. Seuls les <a href="http://www.freebsd.org/cgi/man.cgi?query=accept_filter& sektion=9">Filtres d'acceptation de FreeBSD</a>, le filtre plus
+ primitif <code>TCP_DEFER_ACCEPT</code> sous Linux, et la version
+ optimisée d'AcceptEx() de Windows sont actuellement supportés.</p>
+
+ <p>L'utilisation de l'argument <code>none</code> va désactiver tout
+ filtre d'acceptation pour ce protocole. Ceci s'avère utile pour les
+ protocoles qui nécessitent l'envoi de données par le serveur en
+ premier, comme <code>ftp:</code> ou <code>nntp</code>:</p>
+ <div class="example"><p><code>AcceptFilter nntp none</code></p></div>
+
+ <p>Sous FreeBSD, les valeurs par défaut sont :</p>
+ <div class="example"><p><code>
+ AcceptFilter http httpready <br />
+ AcceptFilter https dataready
+ </code></p></div>
+
+ <p>Le filtre d'acceptation <code>httpready</code> met en tampon des
+ requêtes HTTP entières au niveau du noyau. Quand une requête
+ entière a été reçue, le noyau l'envoie au serveur. Voir la page de
+ manuel de <a href="http://www.freebsd.org/cgi/man.cgi?query=accf_http& sektion=9">accf_http(9)</a> pour plus de détails. Comme les requêtes
+ HTTPS sont chiffrées, celles-ci n'autorisent que le filtre <a href="http://www.freebsd.org/cgi/man.cgi?query=accf_data& sektion=9">accf_data(9)</a>.</p>
+
+ <p>Sous Linux, les valeurs par défaut sont :</p>
+ <div class="example"><p><code>
+ AcceptFilter http data <br />
+ AcceptFilter https data
+ </code></p></div>
+
+ <p>Le filtre <code>TCP_DEFER_ACCEPT</code> de Linux ne supporte pas
+ la mise en tampon des requêtes http. Toute valeur autre que
+ <code>none</code> active le filtre <code>TCP_DEFER_ACCEPT</code>
+ pour ce protocole. Pour plus de détails, voir la page de
+ manuel Linux de <a href="http://homepages.cwi.nl/~aeb/linux/man2html/man7/ tcp.7.html">tcp(7)</a>.</p>
+
+ <p>Sous Windows, les valeurs par défaut sont :</p>
+ <div class="example"><p><code>
+ AcceptFilter http data <br />
+ AcceptFilter https data
+ </code></p></div>
+
+ <p>Le module MPM pour Windows mpm_winnt utilise la directive
+ AcceptFilter comme commutateur de l'API AcceptEx(), et ne supporte
+ pas la mise en tampon du protocole http. Deux valeurs utilisent
+ l'API Windows AcceptEx() et vont recycler les sockets réseau entre
+ les connexions. <code>data</code> attend jusqu'à ce que les données
+ aient été transmises comme décrit plus haut, et le tampon de données
+ initiales ainsi que les adresses réseau finales sont tous extraits
+ grâce à une seule invocation d'AcceptEx(). <code>connect</code>
+ utilise l'API AcceptEx(), extrait aussi les adresses réseau finales,
+ mais à l'instar de <code>none</code>, la valeur <code>connect</code>
+ n'attend pas la transmission des données initiales.</p>
+
+ <p>Sous Windows, <code>none</code> utilise accept() au lieu
+ d'AcceptEx(), et ne recycle pas les sockets entre les connexions.
+ Ceci s'avère utile pour les interfaces réseau dont le pilote est
+ défectueux, ainsi que pour certains fournisseurs de réseau comme les
+ pilotes vpn, ou les filtres anti-spam, anti-virus ou
+ anti-spyware.</p>
+
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AcceptPathInfo" id="AcceptPathInfo">AcceptPathInfo</a> <a name="acceptpathinfo" id="acceptpathinfo">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Les ressources acceptent des informations sous forme d'un
+nom de chemin en fin de requête.</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AcceptPathInfo On|Off|Default</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AcceptPathInfo Default</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>FileInfo</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible dans Apache version 2.0.30 et
+supérieures</td></tr>
+</table>
+
+ <p>Cette directive permet de définir si les requêtes contenant des
+ informations sous forme d'un nom de chemin suivant le nom d'un
+ fichier réel (ou un fichier qui n'existe pas dans un répertoire qui
+ existe) doivent être acceptées ou rejetées. Les scripts peuvent
+ accéder à cette information via la variable d'environnement
+ <code>PATH_INFO</code>.</p>
+
+ <p>Supposons par exemple que <code>/test/</code> pointe vers un
+ répertoire qui ne contient que le fichier <code>here.html</code>.
+ Les requêtes pour <code>/test/here.html/more</code> et
+ <code>/test/nothere.html/more</code> vont affecter la valeur
+ <code>/more</code> à la variable d'environnement
+ <code>PATH_INFO</code>.</p>
+
+ <p>L'argument de la directive <code class="directive">AcceptPathInfo</code>
+ possède trois valeurs possibles :</p>
+ <dl>
+ <dt><code>Off</code></dt><dd>Une requête ne sera acceptée que si
+ elle correspond à un chemin qui existe. Par conséquent, une requête
+ contenant une information de chemin après le nom de fichier réel
+ comme <code>/test/here.html/more</code> dans l'exemple ci-dessus
+ renverra une erreur "404 NOT FOUND".</dd>
+
+ <dt><code>On</code></dt><dd>Une requête sera acceptée si la partie
+ principale du chemin correspond à un fichier existant. Dans
+ l'exemple ci-dessus <code>/test/here.html/more</code>, la requête
+ sera acceptée si <code>/test/here.html</code> correspond à un nom de
+ fichier valide.</dd>
+
+ <dt><code>Default</code></dt><dd>Le traitement des requêtes est
+ déterminé par le <a href="../handler.html">gestionnaire</a> responsable de la requête.
+ Le gestionnaire de base pour les fichiers normaux rejette par défaut
+ les requêtes avec <code>PATH_INFO</code>. Les gestionnaires qui
+ servent des scripts, comme<a href="mod_cgi.html">cgi-script</a> et <a href="mod_isapi.html">isapi-handler</a>, acceptent en général par
+ défaut les requêtes avec <code>PATH_INFO</code>.</dd>
+ </dl>
+
+ <p>Le but premier de la directive <code>AcceptPathInfo</code> est de
+ vous permettre de remplacer le choix du gestionnaire d'accepter ou
+ de rejeter <code>PATH_INFO</code>. Ce remplacement est nécessaire
+ par exemple, lorsque vous utilisez un <a href="../filter.html">filtre</a>, comme <a href="mod_include.html">INCLUDES</a>, pour générer un contenu basé
+ sur <code>PATH_INFO</code>. Le gestionnaire de base va en général
+ rejeter la requête, et vous pouvez utiliser la configuration
+ suivante pour utiliser un tel script :</p>
+
+ <div class="example"><p><code>
+ <Files "mes-chemins.shtml"><br />
+ <span class="indent">
+ Options +Includes<br />
+ SetOutputFilter INCLUDES<br />
+ AcceptPathInfo On<br />
+ </span>
+ </Files>
+ </code></p></div>
+
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AccessFileName" id="AccessFileName">AccessFileName</a> <a name="accessfilename" id="accessfilename">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom du fichier de configuration distribué</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AccessFileName <var>nom-du-fichier</var>
+[<var>nom-du-fichier</var>] ...</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AccessFileName .htaccess</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>Au cours du traitement d'une requête, le serveur recherche le
+ premier fichier de configuration existant à partir de la liste
+ de noms dans chaque répertoire composant le chemin du document, à
+ partir du moment où les fichiers de configuration distribués sont <a href="#allowoverride">activés pour ce répertoire</a>. Par exemple
+ :</p>
+
+ <div class="example"><p><code>
+ AccessFileName .acl
+ </code></p></div>
+
+ <p>avant de renvoyer le document
+ <code>/usr/local/web/index.html</code>, le serveur va rechercher les
+ fichiers <code>/.acl</code>, <code>/usr/.acl</code>,
+ <code>/usr/local/.acl</code> et <code>/usr/local/web/.acl</code>
+ pour y lire d'éventuelles directives, à moins quelles n'aient été
+ désactivées avec</p>
+
+ <div class="example"><p><code>
+ <Directory /><br />
+ <span class="indent">
+ AllowOverride None<br />
+ </span>
+ </Directory>
+ </code></p></div>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="directive"><a href="#allowoverride">AllowOverride</a></code></li>
+<li><a href="../configuring.html">Fichiers de configuration</a></li>
+<li><a href="../howto/htaccess.html">Fichiers .htaccess</a></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AddDefaultCharset" id="AddDefaultCharset">AddDefaultCharset</a> <a name="adddefaultcharset" id="adddefaultcharset">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Paramètre jeu de caractères par défaut à ajouter quand le
+type de contenu d'une réponse est <code>text/plain</code> ou
+<code>text/html</code></td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddDefaultCharset On|Off|<var>jeu de caractères</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AddDefaultCharset Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>FileInfo</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>Cette directive spécifie une valeur par défaut pour le paramètre
+ jeu de caractères du type de média (le nom d'un codage de
+ caractères) à ajouter à une réponse, si et seulement si le type de
+ contenu de la réponse est soit <code>text/plain</code>, soit
+ <code>text/html</code>. Ceci va remplacer
+ tout jeu de caractères spécifié dans le corps de la réponse via un
+ élément <code>META</code>, bien que cet effet dépende en fait
+ souvent de la configuration du client de l'utilisateur. La
+ définition de <code>AddDefaultCharset Off</code> désactive cette
+ fonctionnalité. <code>AddDefaultCharset On</code> ajoute un jeu de
+ caractères par défaut de <code>iso-8859-1</code>. Toute autre valeur
+ peut être définie via le paramètre <var>jeu de caractères</var>, qui
+ doit appartenir à la liste des <a href="http://www.iana.org/assignments/character-sets">valeurs de
+ jeux de caractères enregistrés par l'IANA</a> à utiliser dans les
+ types de média Internet (types MIME).
+ Par exemple :</p>
+
+ <div class="example"><p><code>
+ AddDefaultCharset utf-8
+ </code></p></div>
+
+ <p>La directive <code class="directive">AddDefaultCharset</code> ne doit
+ être utilisée que lorsque toutes les ressources textes auxquelles
+ elle s'applique possèdent le jeu de caractère spécifié, et qu'il est
+ trop contraignant de définir leur jeu de caractères
+ individuellement. Un exemple de ce type est l'ajout du paramètre jeu
+ de caractères aux ressources comportant un contenu généré, comme les
+ scripts CGI hérités qui peuvent être vulnérables à des attaques de
+ type cross-site scripting à cause des données utilisateurs incluses
+ dans leur sortie. Notez cependant qu'une meilleur solution consiste
+ à corriger (ou supprimer) ces scripts, car la définition d'un jeu de
+ caractères par défaut ne protège pas les utilisateurs qui ont activé
+ la fonctionnalité "Détection automatique de l'encodage des
+ caractères" dans leur navigateur.</p>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="directive"><a href="../mod/mod_mime.html#addcharset">AddCharset</a></code></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AddOutputFilterByType" id="AddOutputFilterByType">AddOutputFilterByType</a> <a name="addoutputfilterbytype" id="addoutputfilterbytype">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>assigne un filtre en sortie pour un type de média
+particulier</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddOutputFilterByType <var>filtre</var>[;<var>filtre</var>...]
+<var>type de média</var> [<var>type de média</var>] ...</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>FileInfo</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible dans Apache version 2.0.33 et supérieures ;
+obsolète dans les versions 2.1 et supérieures</td></tr>
+</table>
+ <p>Cette directive active un <a href="../filter.html">filtre</a> en sortie particulier pour une
+ requête en fonction du <a class="glossarylink" href="../glossary.html#type de média" title="voir glossaire">type de média</a> de la réponse.
+ Suite à certains problèmes évoqués plus loin, cette directive a été
+ abandonnée. Le même résultat peut être obtenu à l'aide du module
+ <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code>.</p>
+
+ <p>L'exemple suivant active le filtre <code>DEFLATE</code> qui est
+ fourni par le module <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code>. Il va compresser
+ toute sortie dont le type MIME est <code>text/html</code> ou
+ <code>text/plain</code> avant de l'envoyer au client.</p>
+
+ <div class="example"><p><code>
+ AddOutputFilterByType DEFLATE text/html text/plain
+ </code></p></div>
+
+ <p>Si vous voulez assigner plusieurs filtres au contenu, leurs noms
+ doivent être séparés par des points-virgules. On peut aussi utiliser
+ une directive <code class="directive">AddOutputFilterByType</code> pour
+ chacun des filtres à assigner.</p>
+
+ <p>La configuration ci-dessous impose le traitement de toute sortie
+ de script dont le type MIME est <code>text/html</code> en premier
+ lieu par le filtre <code>INCLUDES</code>, puis par le filtre
+ <code>DEFLATE</code>.</p>
+
+ <div class="example"><p><code>
+ <Location /cgi-bin/><br />
+ <span class="indent">
+ Options Includes<br />
+ AddOutputFilterByType INCLUDES;DEFLATE text/html<br />
+ </span>
+ </Location>
+ </code></p></div>
+
+ <div class="warning"><h3>Note</h3>
+ <p>L'activation de filtres par la directive
+ <code class="directive">AddOutputFilterByType</code> peut partiellement
+ échouer, ou même complètement dans certains cas. Par exemple,
+ aucun filtre n'est appliqué si le <a class="glossarylink" href="../glossary.html#type de média" title="voir glossaire">type de
+ média</a> n'a pas pu être déterminé. Si vous voulez vous
+ assurer que les filtres seront
+ appliqués, assignez explicitement le type de contenu à une
+ ressource, par exemple à l'aide d'une directive <code class="directive"><a href="../mod/mod_mime.html#addtype">AddType</a></code> ou <code class="directive"><a href="#forcetype">ForceType</a></code>. Il est aussi recommandé de
+ définir le type de contenu dans un script CGI (non-nph).</p>
+
+ </div>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="directive"><a href="../mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code></li>
+<li><code class="directive"><a href="#setoutputfilter">SetOutputFilter</a></code></li>
+<li><a href="../filter.html">Les filtres</a></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AllowEncodedSlashes" id="AllowEncodedSlashes">AllowEncodedSlashes</a> <a name="allowencodedslashes" id="allowencodedslashes">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si les séparateurs de chemin encodés sont
+autorisés à transiter dans les URLs tels quels</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AllowEncodedSlashes On|Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AllowEncodedSlashes Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible dans Apache version 2.0.46 et
+supérieures</td></tr>
+</table>
+ <p>La directive <code class="directive">AllowEncodedSlashes</code> permet
+ l'utilisation des URLs contenant des séparateurs de chemin encodés
+ (<code>%2F</code> pour <code>/</code> et même <code>%5C</code> pour
+ <code>\</code> sur les systèmes concernés). Habituellement, ces URLs
+ sont rejetées avec un code d'erreur 404 (Not found).</p>
+
+ <p>Définir <code class="directive">AllowEncodedSlashes</code> à
+ <code>On</code> est surtout utile en association avec
+ <code>PATH_INFO</code>.</p>
+
+ <div class="note"><h3>Note</h3>
+ <p>Permettre les slashes encodés n'implique <em>pas</em> leur
+ <em>décodage</em>. Toutes les occurrences de <code>%2F</code> ou
+ <code>%5C</code> (<em>seulement</em> sur les systèmes concernés)
+ seront laissés telles quelles dans la chaîne de l'URL décodée.</p>
+ </div>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="directive"><a href="#acceptpathinfo">AcceptPathInfo</a></code></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AllowOverride" id="AllowOverride">AllowOverride</a> <a name="allowoverride" id="allowoverride">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Types de directives autorisées dans les fichiers
+<code>.htaccess</code></td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AllowOverride All|None|<var>type directive</var>
+[<var>type directive</var>] ...</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AllowOverride All</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>Lorsque le serveur trouve un fichier <code>.htaccess</code> (dont
+ le nom est défini par la directive <code class="directive"><a href="#accessfilename">AccessFileName</a></code>), il doit savoir lesquelles
+ des directives placées dans ce fichier sont autorisées à modifier la
+ configuration préexistante.</p>
+
+ <div class="note"><h3>Valable seulement dans les sections
+ <Directory></h3>
+ La directive <code class="directive">AllowOverride</code> ne peut être
+ utilisée que dans les sections <code class="directive"><a href="#directory"><Directory></a></code> définies sans expressions
+ rationnelles, et non dans les sections <code class="directive"><a href="#location"><Location></a></code>, <code class="directive"><a href="#directorymatch"><DirectoryMatch></a></code> ou
+ <code class="directive"><a href="#files"><Files></a></code>.
+ </div>
+
+ <p>Lorsque cette directive est définie à <code>None</code>, les
+ fichiers <a href="#accessfilename">.htaccess</a> sont totalement
+ ignorés. Dans ce cas, le serveur n'essaiera même pas de lire les
+ fichiers <code>.htaccess</code> du système de fichiers.</p>
+
+ <p>Lorsque cette directive est définie à <code>All</code>, toute
+ directive valable dans le <a href="directive-dict.html#Context">Contexte</a> .htaccess sera
+ autorisée dans les fichiers <code>.htaccess</code>.</p>
+
+ <p>L'argument <var>type directive</var> peut contenir les
+ groupements de directives suivants :</p>
+
+ <dl>
+ <dt>AuthConfig</dt>
+
+ <dd>
+
+ Permet l'utilisation des directives d'autorisation (<code class="directive"><a href="../mod/mod_authn_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a></code>,
+ <code class="directive"><a href="../mod/mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile</a></code>,
+ <code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code>,
+ <code class="directive"><a href="../mod/mod_authn_core.html#authname">AuthName</a></code>,
+ <code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code>, <code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code>, <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code>, <em>etc...</em>).</dd>
+
+ <dt>FileInfo</dt>
+
+ <dd>
+ Permet l'utilisation des directives qui contrôlent les types de
+ documents (directives <code class="directive"><a href="#errordocument">ErrorDocument</a></code>, <code class="directive"><a href="#forcetype">ForceType</a></code>, <code class="directive"><a href="../mod/mod_negotiation.html#languagepriority">LanguagePriority</a></code>,
+ <code class="directive"><a href="#sethandler">SetHandler</a></code>, <code class="directive"><a href="#setinputfilter">SetInputFilter</a></code>, <code class="directive"><a href="#setoutputfilter">SetOutputFilter</a></code>, et directives du
+ module <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> Add* et Remove*), des metadonnées
+ des documents (<code class="directive"><a href="../mod/mod_headers.html#header">Header</a></code>, <code class="directive"><a href="../mod/mod_headers.html#requestheader">RequestHeader</a></code>, <code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code>, <code class="directive"><a href="../mod/mod_setenvif.html#setenvifnocase">SetEnvIfNoCase</a></code>, <code class="directive"><a href="../mod/mod_setenvif.html#browsermatch">BrowserMatch</a></code>, <code class="directive"><a href="../mod/mod_usertrack.html#cookieexpires">CookieExpires</a></code>, <code class="directive"><a href="../mod/mod_usertrack.html#cookiedomain">CookieDomain</a></code>, <code class="directive"><a href="../mod/mod_usertrack.html#cookiestyle">CookieStyle</a></code>, <code class="directive"><a href="../mod/mod_usertrack.html#cookietracking">CookieTracking</a></code>, <code class="directive"><a href="../mod/mod_usertrack.html#cookiename">CookieName</a></code>), des directives du
+ module <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> <code class="directive"><a href="../mod/mod_rewrite.html#rewriteengine">RewriteEngine</a></code>, <code class="directive"><a href="../mod/mod_rewrite.html#rewriteoptions">RewriteOptions</a></code>, <code class="directive"><a href="../mod/mod_rewrite.html#rewritebase">RewriteBase</a></code>, <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>, <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>) et de la directive
+ <code class="directive"><a href="../mod/mod_actions.html#action">Action</a></code> du module
+ <code class="module"><a href="../mod/mod_actions.html">mod_actions</a></code>.
+ </dd>
+
+ <dt>Indexes</dt>
+
+ <dd>
+ Permet l'utilisation des directives qui contrôlent l'indexation
+ des répertoires (<code class="directive"><a href="../mod/mod_autoindex.html#adddescription">AddDescription</a></code>,
+ <code class="directive"><a href="../mod/mod_autoindex.html#addicon">AddIcon</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#addiconbyencoding">AddIconByEncoding</a></code>,
+ <code class="directive"><a href="../mod/mod_autoindex.html#addiconbytype">AddIconByType</a></code>,
+ <code class="directive"><a href="../mod/mod_autoindex.html#defaulticon">DefaultIcon</a></code>, <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#fancyindexing">FancyIndexing</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#headername">HeaderName</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#indexignore">IndexIgnore</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#indexoptions">IndexOptions</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#readmename">ReadmeName</a></code>,
+ <em>etc...</em>).</dd>
+
+ <dt>Limit</dt>
+
+ <dd>
+ Permet l'utilisation des directives contrôlant l'accès au serveur
+ (<code class="directive"><a href="../mod/mod_authz_host.html#allow">Allow</a></code>, <code class="directive"><a href="../mod/mod_authz_host.html#deny">Deny</a></code> et <code class="directive"><a href="../mod/mod_authz_host.html#order">Order</a></code>).</dd>
+
+ <dt>Options[=<var>Option</var>,...]</dt>
+
+ <dd>
+ Permet l'utilisation des directives contrôlant les fonctionnalités
+ spécifiques d'un répertoire (<code class="directive"><a href="#options">Options</a></code> et <code class="directive"><a href="../mod/mod_include.html#xbithack">XBitHack</a></code>). "Options" doit être
+ suivi d'un signe "égal", puis d'une liste d'options séparées par des
+ virgules (pas d'espaces) ; ces options doivent être définies à
+ l'aide de la commande <code class="directive"><a href="#options">Options</a></code>.</dd>
+ </dl>
+
+ <p>Exemple :</p>
+
+ <div class="example"><p><code>
+ AllowOverride AuthConfig Indexes
+ </code></p></div>
+
+ <p>Dans l'exemple ci-dessus, toutes les directives qui ne font
+ partie ni du groupe <code>AuthConfig</code>, ni du groupe
+ <code>Indexes</code>, provoquent une erreur "internal
+ server error".</p>
+
+ <div class="note"><p>Pour des raisons de sécurité et de performance, ne
+ définissez pas <code>AllowOverride</code> à autre chose que
+ <code>None</code> dans votre bloc <code><Directory /></code>.
+ Recherchez plutôt (ou créez) le bloc <code><Directory></code>
+ qui se réfère au répertoire où vous allez précisément placer un
+ fichier <code>.htaccess</code>.</p>
+ </div>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="directive"><a href="#accessfilename">AccessFileName</a></code></li>
+<li><a href="../configuring.html">Configuration Files</a></li>
+<li><a href="../howto/htaccess.html">.htaccess Files</a></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="CGIMapExtension" id="CGIMapExtension">CGIMapExtension</a> <a name="cgimapextension" id="cgimapextension">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Technique permettant de localiser l'interpréteur des
+scripts CGI</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CGIMapExtension <var>chemin CGI</var> <var>.extension</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>FileInfo</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>NetWare uniquement</td></tr>
+</table>
+ <p>Cette directive permet de contrôler la manière dont Apache trouve
+ l'interpréteur servant à exécuter les scripts CGI. Par exemple, avec
+ la définition <code>CGIMapExtension sys:\foo.nlm .foo</code>, tous
+ les fichiers scripts CGI possédant une extension <code>.foo</code>
+ seront passés à l'interpréteur FOO.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ContentDigest" id="ContentDigest">ContentDigest</a> <a name="contentdigest" id="contentdigest">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la génération d'un en-tête <code>Content-MD5</code>
+dans la réponse HTTP</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ContentDigest On|Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ContentDigest Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>Options</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>Cette directive active la génération d'un en-tête
+ <code>Content-MD5</code> selon les définitions des RFC 1864 et
+ 2616.</p>
+
+ <p>MD5 est un algorithme permettant de générer un condensé (parfois
+ appelé "empreinte") à partir de données d'une taille aléatoire ; le
+ degré de précision est tel que la moindre altération des données
+ d'origine entraîne une altération de l'empreinte.</p>
+
+ <p>L'en-tête <code>Content-MD5</code> permet de vérifier
+ l'intégrité de la réponse HTTP dans son ensemble. Un serveur mandataire
+ ou un client peut utiliser cet en-tête pour rechercher une
+ éventuelle modification accidentelle de la réponse au cours de sa
+ transmission. Exemple d'en-tête :</p>
+
+ <div class="example"><p><code>
+ Content-MD5: AuLb7Dp1rqtRtxz2m9kRpA==
+ </code></p></div>
+
+ <p>Notez que des problèmes de performances peuvent affecter votre
+ serveur, car l'empreinte est générée pour chaque requête (il n'y a
+ pas de mise en cache).</p>
+
+ <p>L'en-tête <code>Content-MD5</code> n'est envoyé qu'avec les
+ documents servis par le module <code class="module"><a href="../mod/core.html">core</a></code>, à l'exclusion
+ de tout autre module. Ainsi, les documents SSI, les sorties de
+ scripts CGI, et les réponses à des requêtes partielles (byte range)
+ ne comportent pas cet en-tête.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="DefaultType" id="DefaultType">DefaultType</a> <a name="defaulttype" id="defaulttype">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Les seuls effets de cette directive sont des émissions
+d'avertissements si sa valeur est différente de <code>none</code>. Dans
+les versions précédentes, DefaultType permettait de spécifier un type de
+média à assigner par défaut au contenu d'une réponse pour lequel aucun
+autre type de média n'avait été trouvé.
+</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DefaultType <var>type média|none</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DefaultType none</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>FileInfo</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>L'argument <code>none</code> est disponible dans les
+versions d'Apache 2.2.7 et supérieures. Tous les autres choix sont
+DESACTIVÉS à partir des version 2.3.x.</td></tr>
+</table>
+ <p>Cette directive a été désactivée. Pour la compatibilité
+ ascendante avec les anciens fichiers de configuration, elle peut
+ être spécifiée avec la valeur <code>none</code>, c'est à dire sans
+ type de médium par défaut. Par exemple :</p>
+
+ <div class="example"><p><code>
+ DefaultType None
+ </code></p></div>
+ <p><code>DefaultType None</code> n'est disponible que dans les
+ versions d'Apache 2.2.7 et supérieures.</p>
+
+ <p>Utilisez le fichier de configuration mime.types et la directive
+ <code class="directive"><a href="../mod/mod_mime.html#addtype">AddType</a></code> pour configurer
+ l'assignement d'un type de médium via les extensions de fichiers, ou
+ la directive <code class="directive"><a href="#forcetype">ForceType</a></code> pour
+ attribuer un type de médium à des ressources spécifiques. Dans le
+ cas contraire, le serveur enverra sa réponse sans champ d'en-tête
+ Content-Type, et le destinataire devra déterminer lui-même le type
+ de médium.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="Define" id="Define">Define</a> <a name="define" id="define">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Permet de définir l'existence d'une variable</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Define <var>nom variable</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>Cette directive produit le même effet que l'argument
+ <code>-D</code> du programme <code class="program"><a href="../programs/httpd.html">httpd</a></code>.</p>
+ <p>Elle permet de faire basculer le fonctionnement de sections
+ <code class="directive"><a href="#ifdefine"><IfDefine></a></code> sans
+ avoir à modifier les arguments de l'option <code>-D</code> dans
+ aucun script de démarrage.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="Directory" id="Directory"><Directory></a> <a name="directory" id="directory">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Regroupe un ensemble de directives qui ne s'appliquent
+qu'au répertoire concerné du système de fichiers et à ses
+sous-répertoires</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><Directory <var>chemin répertoire</var>>
+... </Directory></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>Les balises <code class="directive"><Directory></code> et
+ <code></Directory></code> permettent de regrouper un ensemble
+ de directives qui ne s'appliquent qu'au répertoire précisé
+ et à ses sous-répertoires. Toute directive
+ autorisée dans un contexte de répertoire peut être utilisée.
+ <var>chemin répertoire</var> est soit le chemin absolu d'un
+ répertoire, soit une chaîne de caractères avec caractères génériques
+ utilisant la comparaison Unix de style shell. Dans une chaîne de
+ caractères avec caractères génériques, <code>?</code> correspond à
+ un caractère quelconque, et <code>*</code> à toute chaîne de
+ caractères. Les intervalles de caractères <code>[]</code> sont aussi
+ autorisés. Aucun caractère générique ne peut remplacer le caractère
+ `/', si bien que l'expression <code><Directory
+ /*/public_html></code> ne conviendra pas pour le chemin
+ * <code>/home/user/public_html</code>, alors que <code><Directory
+ /home/*/public_html></code> conviendra. Exemple :</p>
+
+ <div class="example"><p><code>
+ <Directory /usr/local/httpd/htdocs><br />
+ <span class="indent">
+ Options Indexes FollowSymLinks<br />
+ </span>
+ </Directory>
+ </code></p></div>
+
+ <div class="note">
+ <p>Soyez prudent avec l'argument <var>chemin répertoire</var> : il
+ doit correspondre exactement au chemin du système de fichier
+ qu'Apache utilise pour accéder aux fichiers. Les directives
+ comprises dans une section <code><Directory></code> ne
+ s'appliqueront pas aux fichiers du même répertoire auxquels on
+ aura accédé via un chemin différent, per exemple via un lien
+ symbolique.</p>
+ </div>
+
+ <p> Les <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">Expressions rationnelles</a>
+ peuvent aussi être utilisées en ajoutant le caractère
+ <code>~</code>. Par exemple :</p>
+
+ <div class="example"><p><code>
+ <Directory ~ "^/www/.*/[0-9]{3}">
+ </code></p></div>
+
+ <p>pourra correspondre à tout répertoire situé dans /www/ et dont le
+ nom se compose de trois chiffres.</p>
+
+ <p>Si plusieurs sections <code class="directive"><Directory></code> (sans expression rationnelle)
+ correspondent au répertoire (ou à un de ses parents) qui contient le
+ document, les directives de la section <code class="directive"><Directory></code> dont le chemin est le plus
+ court sont appliquées en premier, en s'intercalant avec les
+ directives des fichiers <a href="#accessfilename">.htaccess</a>. Par
+ exemple, avec</p>
+
+ <div class="example"><p><code>
+ <Directory /><br />
+ <span class="indent">
+ AllowOverride None<br />
+ </span>
+ </Directory><br />
+ <br />
+ <Directory /home/><br />
+ <span class="indent">
+ AllowOverride FileInfo<br />
+ </span>
+ </Directory>
+ </code></p></div>
+
+ <p>l'accès au document <code>/home/web/dir/doc.html</code> emprunte
+ le chemin suivant :</p>
+
+ <ul>
+ <li>Aplication de la directive <code>AllowOverride None</code>
+ (qui désactive les fichiers <code>.htaccess</code>).</li>
+
+ <li>Application de la directive <code>AllowOverride
+ FileInfo</code> (pour le répertoire <code>/home</code>).</li>
+
+ <li>Application de toute directive <code>FileInfo</code> qui se
+ trouverait dans d'éventuels fichiers <code>/home/.htaccess</code>,
+ <code>/home/web/.htaccess</code> ou
+ <code>/home/web/dir/.htaccess</code>, dans cet ordre.</li>
+ </ul>
+
+ <p>Les directives associées aux répertoires sous forme d'expressions
+ rationnelles ne sont prises en compte qu'une fois toutes les
+ directives des sections sans expressions rationnelles appliquées.
+ Alors, tous les répertoires avec expressions rationnelles sont
+ testés selon l'ordre dans lequel ils apparaissent dans le fichier de
+ configuration. Par exemple, avec</p>
+
+ <div class="example"><p><code>
+ <Directory ~ abc$><br />
+ <span class="indent">
+ # ... directives here ...<br />
+ </span>
+ </Directory>
+ </code></p></div>
+
+ <p>la section avec expression rationnelle ne sera prise en compte
+ qu'après les sections <code class="directive"><Directory></code> sans expression rationnelle
+ et les fichiers <code>.htaccess</code>. Alors, l'expression
+ rationnelle conviendra pour <code>/home/abc/public_html/abc</code>
+ et la section <code class="directive"><Directory></code>
+ correspondante s'appliquera.</p>
+
+ <p><strong>Notez que pour Apache, la politique d'accès par défaut
+ dans les sections <code><Directory /></code> est <code>Allow
+ from All</code>. Ceci signifie qu'Apache va servir tout fichier
+ correspondant à une URL. Il est recommandé de modifier cette
+ situation à l'aide d'un bloc du style</strong></p>
+
+ <div class="example"><p><code>
+ <Directory /><br />
+ <span class="indent">
+ Order Deny,Allow<br />
+ Deny from All<br />
+ </span>
+ </Directory>
+ </code></p></div>
+
+ <p><strong>puis d'affiner la configuration pour les répertoires que vous
+ voulez rendre accessibles. Voir la page <a href="../misc/security_tips.html">Conseils à propos de sécurité</a>
+ pour plus de détails.</strong></p>
+
+ <p>Les sections <code class="directive"><Directory></code> se situent
+ dans le fichier <code>httpd.conf</code>. Les directives <code class="directive"><Directory></code> ne peuvent pas être imbriquées
+ et ne sont pas autorisées dans les sections <code class="directive"><a href="#limit"><Limit></a></code> ou <code class="directive"><a href="#limitexcept"><LimitExcept></a></code>.</p>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><a href="../sections.html">Comment fonctionnent les sections
+<Directory>, <Location> et <Files></a> pour des
+explications à propos de la manière dont ces différentes sections se
+combinent entre elles à la réception d'une requête</li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="DirectoryMatch" id="DirectoryMatch"><DirectoryMatch></a> <a name="directorymatch" id="directorymatch">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Regroupe des directives qui s'appliquent à des répertoires
+du système de fichiers correspondant à une expression rationnelle et à
+leurs sous-répertoires</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><DirectoryMatch <var>regex</var>>
+... </DirectoryMatch></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>Les balises <code class="directive"><DirectoryMatch></code>
+ et <code></DirectoryMatch></code> permettent de regrouper un
+ ensemble de directives qui ne s'appliqueront qu'au répertoire
+ précisé et à ses sous-répertoires, comme pour la section <code class="directive"><a href="#directory"><Directory></a></code>. Cependant, le
+ répertoire est précisé sous la forme d'une <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression rationnelle</a>. Par exemple :</p>
+
+ <div class="example"><p><code>
+ <DirectoryMatch "^/www/(.+/)?[0-9]{3}">
+ </code></p></div>
+
+ <p>conviendrait pour les sous-répertoires de <code>/www/</code> dont
+ le nom se compose de trois chiffres.</p>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="directive"><a href="#directory"><Directory></a></code>
+pour une description de la manière dont les expressions rationnelles
+sont traitées en présence d'autres sections <code class="directive"><Directory></code> sans expressions rationnelles</li>
+<li><a href="../sections.html">Comment fonctionnent les sections
+<Directory>, <Location> et <Files></a> pour une
+explication à propos de la manière dont ces différentes sections se
+combinent entre elles à la réception d'une requête</li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="DocumentRoot" id="DocumentRoot">DocumentRoot</a> <a name="documentroot" id="documentroot">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Racine principale de l'arborescence des documents visible
+depuis Internet</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DocumentRoot <var>chemin répertoire</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DocumentRoot /usr/local/apache/htdocs</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>Cette directive permet de définir le répertoire à partir duquel
+ <code class="program"><a href="../programs/httpd.html">httpd</a></code> va servir les fichiers. S'il ne correspond
+ pas à un <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>, le chemin
+ de l'URL sera ajouté par le serveur à la racine des documents afin
+ de construire le chemin du document recherché. Exemple :</p>
+
+ <div class="example"><p><code>
+ DocumentRoot /usr/web
+ </code></p></div>
+
+ <p>un accès à <code>http://www.my.host.com/index.html</code> se
+ réfère alors à <code>/usr/web/index.html</code>. Si <var>chemin
+ répertoire</var> n'est pas un chemin absolu, il est considéré comme
+ relatif au chemin défini par la directive <code class="directive"><a href="#serverroot">ServerRoot</a></code>.</p>
+
+ <p>Le répertoire défini par la directive
+ <code class="directive">DocumentRoot</code> ne doit pas comporter de slash
+ final.</p>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><a href="../urlmapping.html#documentroot">Mise en
+correspondance des URLs avec le système de fichiers</a></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="EnableMMAP" id="EnableMMAP">EnableMMAP</a> <a name="enablemmap" id="enablemmap">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utilise la projection en mémoire (Memory-Mapping) pour
+lire les fichiers pendant qu'ils sont servis</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>EnableMMAP On|Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>EnableMMAP On</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>FileInfo</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>Cette directive définit si <code class="program"><a href="../programs/httpd.html">httpd</a></code> peut utiliser
+ la projection en mémoire (Memory-Mapping) quand il doit lire le contenu
+ d'un fichier pendant qu'il est servi. Par défaut, lorsque le
+ traitement d'une requête requiert l'accès aux données contenues dans
+ un fichier -- par exemple, pour servir un fichier interprété par le
+ serveur à l'aide de <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> -- Apache projette
+ le fichier en mémoire si le système d'exploitation le permet.</p>
+
+ <p>Cette projection en mémoire induit parfois une amélioration des
+ performances. Sur certains systèmes cependant, il est préférable de
+ désactiver la projection en mémoire afin d'éviter certains problèmes
+ opérationnels :</p>
+
+ <ul>
+ <li>Sur certains systèmes multi-processeurs, la projection en
+ mémoire peut dégrader les performances du programme
+ <code class="program"><a href="../programs/httpd.html">httpd</a></code>.</li>
+ <li>Avec un <code class="directive"><a href="#documentroot">DocumentRoot</a></code> monté
+ sur NFS, le programme <code class="program"><a href="../programs/httpd.html">httpd</a></code> peut s'arrêter suite
+ à une erreur de segmentation si un fichier est supprimé ou tronqué
+ alors qu'il fait l'objet d'une projection en mémoire pour
+ <code class="program"><a href="../programs/httpd.html">httpd</a></code>.</li>
+ </ul>
+
+ <p>Pour les configurations de serveur sujettes à ce genre de
+ problème, il est préférable de désactiver la projection en mémoire
+ des fichiers servis en spécifiant :</p>
+
+ <div class="example"><p><code>
+ EnableMMAP Off
+ </code></p></div>
+
+ <p>Pour les montages NFS, cette fonctionnalité peut être
+ explicitement désactivée pour les fichiers concernés en spécifiant
+ :</p>
+
+ <div class="example"><p><code>
+ <Directory "/chemin vers montage NFS">
+ <span class="indent">
+ EnableMMAP Off
+ </span>
+ </Directory>
+ </code></p></div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="EnableSendfile" id="EnableSendfile">EnableSendfile</a> <a name="enablesendfile" id="enablesendfile">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utilise le support sendfile du noyau pour servir les
+fichiers aux clients</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>EnableSendfile On|Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>EnableSendfile On</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>FileInfo</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible dans les versions 2.0.44 et
+supérieures</td></tr>
+</table>
+ <p>Cette directive définit si le programme <code class="program"><a href="../programs/httpd.html">httpd</a></code>
+ peut utiliser le support sendfile du noyau pour transmettre le
+ contenu des fichiers aux clients. Par défaut, lorsque le traitement
+ d'une requête ne requiert pas l'accès aux données contenues dans un
+ fichier -- par exemple, pour la transmission d'un fichier statique
+ -- Apache utilise sendfile pour transmettre le contenu du fichier
+ sans même lire ce dernier, si le système d'exploitation le
+ permet.</p>
+
+ <p>Ce mécanisme sendfile évite la séparation des opérations de
+ lecture et d'envoi, ainsi que les réservations de tampons. sur
+ certains systèmes cependant, ou sous certains systèmes de fichiers,
+ il est préférable de désactiver cette fonctionnalité afin d'éviter
+ certains problèmes opérationnels :</p>
+
+ <ul>
+ <li>Certains systèmes peuvent présenter un support sendfile
+ défectueux que le système de compilation n'a pas détecté, en
+ particulier si les exécutables ont été compilés sur une autre
+ machine, puis copiés sur la première avec un support sendfile
+ défectueux.</li>
+ <li>Sous Linux, l'utilisation de sendfile induit des bogues lors de
+ la récupération des paquets de vérification TCP (TCP-checksum) avec
+ certaines cartes réseau lorsqu'on utilise IPv6.</li>
+ <li>Sous Linux sur Itanium, sendfile peut s'avérer incapable de
+ traiter les fichiers de plus de 2 Go.</li>
+ <li>Avec un montage réseau de <code class="directive"><a href="#documentroot">DocumentRoot</a></code> (par exemple NFS ou SMB), le
+ noyau peut s'avérer incapable de servir un fichier de ce montage
+ réseau en passant par son propre cache.</li>
+ </ul>
+
+ <p>Pour les configurations de serveur sujettes à ce genre de
+ problème, il est recommandé de désactiver cette fonctionnalité en
+ spécifiant :</p>
+
+ <div class="example"><p><code>
+ EnableSendfile Off
+ </code></p></div>
+
+ <p>Pour les montages NFS ou SMB, cette fonctionnalité peut être
+ explicitement désactivée pour les fichiers concernés en spécifiant
+ :</p>
+
+ <div class="example"><p><code>
+ <Directory "/chemin vers montage réseau">
+ <span class="indent">
+ EnableSendfile Off
+ </span>
+ </Directory>
+ </code></p></div>
+ <p>Veuillez noter que la configuration de la directive
+ <code class="directive">EnableSendfile</code> dans un contexte de répertoire
+ ou de fichier .htaccess n'est pas supportée par
+ <code class="module"><a href="../mod/mod_disk_cache.html">mod_disk_cache</a></code>. Le module ne prend en compte la
+ définition de <code class="directive">EnableSendfile</code> que dans un
+ contexte global.
+ </p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ErrorDocument" id="ErrorDocument">ErrorDocument</a> <a name="errordocument" id="errordocument">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Document que le serveur renvoie au client en cas
+d'erreur</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ErrorDocument <var>code erreur</var> <var>document</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>FileInfo</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>La syntaxe des guillemets pour les messages textes est
+différente dans Apache 2.0</td></tr>
+</table>
+ <p>Apache peut traiter les problèmes et les erreurs de quatre
+ manières,</p>
+
+ <ol>
+ <li>afficher un simple message d'erreur au contenu fixe</li>
+
+ <li>afficher un message personnalisé</li>
+
+ <li>rediriger vers un <var>chemin d'URL</var> local pour traiter
+ le problème ou l'erreur</li>
+
+ <li>rediriger vers une <var>URL</var> externe pour traiter
+ le problème ou l'erreur</li>
+ </ol>
+
+ <p>La première option constitue le comportement par défaut; pour
+ choisir une des trois autres options, il faut configurer Apache à
+ l'aide de la directive <code class="directive">ErrorDocument</code>, suivie
+ du code de la réponse HTTP et d'une URL ou d'un message. Apache
+ fournit parfois des informations supplémentaires à propos du
+ problème ou de l'erreur.</p>
+
+ <p>Les URLs peuvent commencer par un slash (/) pour les chemins web
+ locaux (relatifs au répertoire défini par la directive <code class="directive"><a href="#documentroot">DocumentRoot</a></code>), ou se présenter sous la
+ forme d'une URL complète que le client pourra résoudre.
+ Alternativement, un message à afficher par le navigateur pourra être
+ fourni. Exemples :</p>
+
+ <div class="example"><p><code>
+ ErrorDocument 500 http://foo.example.com/cgi-bin/tester<br />
+ ErrorDocument 404 /cgi-bin/bad_urls.pl<br />
+ ErrorDocument 401 /subscription_info.html<br />
+ ErrorDocument 403 "Désolé, vous n'avez pas l'autorisation d'accès
+ aujourd'hui"
+ </code></p></div>
+
+ <p>De plus, on peut spécifier la valeur spéciale <code>default</code>
+ pour indiquer l'utilisation d'un simple message d'Apache codé en
+ dur. Bien que non nécessaire dans des circonstances normales, la
+ spécification de la valeur <code>default</code> va permettre de
+ rétablir l'utilisation du simple message d'Apache codé en dur pour
+ les configurations qui sans cela, hériteraient d'une directive
+ <code class="directive">ErrorDocument</code> existante.</p>
+
+ <div class="example"><p><code>
+ ErrorDocument 404 /cgi-bin/bad_urls.pl<br /><br />
+ <Directory /web/docs><br />
+ <span class="indent">
+ ErrorDocument 404 default<br />
+ </span>
+ </Directory>
+ </code></p></div>
+
+ <p>Notez que lorsque vous spécifiez une directive
+ <code class="directive">ErrorDocument</code> pointant vers une URL distante
+ (c'est à dire tout ce qui commence par le préfixe http), Apache va
+ envoyer une redirection au client afin de lui indiquer où trouver le
+ document, même dans le cas où ce document se trouve sur le serveur
+ local. Ceci a de nombreuses conséquences dont la plus importante
+ réside dans le fait que le client ne recevra pas le code d'erreur
+ original, mais au contraire un code de statut de redirection. Ceci
+ peut en retour semer la confusion chez les robots web et divers
+ clients qui tentent de déterminer la validité d'une URL en examinant
+ le code de statut. De plus, si vous utilisez une URL distante avec
+ <code>ErrorDocument 401</code>, le client ne saura pas qu'il doit
+ demander un mot de passe à l'utilisateur car il ne recevra pas le
+ code de statut 401. C'est pourquoi, <strong>si vous utilisez une
+ directive <code>ErrorDocument 401</code>, elle devra faire référence
+ à un document par le biais d'un chemin local.</strong></p>
+
+ <p>Microsoft Internet Explorer (MSIE) ignore par défaut les messages
+ d'erreur générés par le serveur lorsqu'ils sont trop courts et
+ remplacent ses propres messages d'erreur "amicaux". Le seuil de
+ taille varie en fonction du type d'erreur, mais en général, si la
+ taille de votre message d'erreur est supérieure à 512 octets, il y a
+ peu de chances pour que MSIE l'occulte, et il sera affiché par ce
+ dernier. Vous trouverez d'avantage d'informations dans l'article de
+ la base de connaissances Microsoft <a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;Q294807">Q294807</a>.</p>
+
+ <p>Bien que la plupart des messages d'erreur internes originaux
+ puissent être remplacés, ceux-ci sont cependant conservés dans
+ certaines circonstances sans tenir compte de la définition de la
+ directive <code class="directive"><a href="#errordocument">ErrorDocument</a></code>. En
+ particulier, en cas de détection d'une requête mal formée, le
+ processus de traitement normal des requêtes est immédiatement
+ interrompu, et un message d'erreur interne est renvoyé, ceci afin de
+ se prémunir contre les problèmes de sécurité liés aux requêtes mal
+ formées.</p>
+
+ <p>Avant la version 2.0, les messages étaient indiqués en les
+ préfixant par un seul caractère guillemet isolé.</p>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><a href="../custom-error.html">documentation sur la
+personnalisation des réponses</a></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ErrorLog" id="ErrorLog">ErrorLog</a> <a name="errorlog" id="errorlog">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définition du chemin du journal des erreurs</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code> ErrorLog <var>chemin fichier</var>|syslog[:<var>facility</var>]</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ErrorLog logs/error_log (Unix) ErrorLog logs/error.log (Windows)</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>La directive <code class="directive">ErrorLog</code> permet de définir le
+ nom du fichier dans lequel le serveur va journaliser toutes les
+ erreurs qu'il rencontre. Si le <var>chemin fichier</var> n'est pas
+ absolu, il est considéré comme relatif au chemin défini par la
+ directive <code class="directive"><a href="#serverroot">ServerRoot</a></code>.</p>
+
+ <div class="example"><h3>Exemple</h3><p><code>
+ ErrorLog /var/log/httpd/error_log
+ </code></p></div>
+
+ <p>Si le <var>chemin fichier</var> commence par une barre verticale
+ (|), il est considéré comme une commande à lancer pour traiter la
+ journalisation de l'erreur.</p>
+
+ <div class="example"><h3>Exemple</h3><p><code>
+ ErrorLog "|/usr/local/bin/erreurs_httpd"
+ </code></p></div>
+
+ <p>L'utilisation de <code>syslog</code> à la place d'un nom de
+ fichier active la journalisation via syslogd(8) si le système le
+ supporte. Le dispositif syslog par défaut est <code>local7</code>,
+ mais vous pouvez le modifier à l'aide de la syntaxe
+ <code>syslog:<var>facility</var></code>, où <var>facility</var> peut
+ être remplacé par un des noms habituellement documentés dans la page
+ de man syslog(1).</p>
+
+ <div class="example"><h3>Exemple</h3><p><code>
+ ErrorLog syslog:user
+ </code></p></div>
+
+ <p>SECURITE : Voir le document <a href="../misc/security_tips.html#serverroot">conseils à propos de
+ sécurité</a> pour des détails sur les raisons pour lesquelles votre
+ sécurité peut être compromise si le répertoire contenant les
+ fichiers journaux présente des droits en écriture pour tout autre
+ utilisateur que celui sous lequel le serveur est démarré.</p>
+ <div class="warning"><h3>Note</h3>
+ <p>Lors de la spécification d'un chemin de fichier sur les
+ plates-formes non-Unix, on doit veiller à n'utiliser que des
+ slashes (/), même si la plate-forme autorise l'utilisation des
+ anti-slashes (\). Et d'une manière générale, il est recommandé de
+ n'utiliser que des slashes (/) dans les fichiers de
+ configuration.</p>
+ </div>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="directive"><a href="#loglevel">LogLevel</a></code></li>
+<li><a href="../logs.html">Fichiers journaux d'Apache</a></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="FileETag" id="FileETag">FileETag</a> <a name="fileetag" id="fileetag">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Caractéristiques de fichier utilisés lors de la génération
+de l'en-tête de réponse HTTP ETag</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>FileETag <var>composant</var> ...</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>FileETag INode MTime Size</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>FileInfo</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>
+ La directive <code class="directive">FileETag</code> définit les
+ caractéristiques de fichier utilisées lors de la génération de
+ l'en-tête de réponse HTTP <code>ETag</code> (entity tag) quand le
+ document est contenu dans un fichier (la valeur de <code>ETag</code>
+ est utilisée dans le cadre de la gestion du cache pour préserver la
+ bande passante réseau). Dans les versions 1.3.22 et antérieures
+ d'Apache, la valeur de l'en-tête <code>ETag</code> se composait
+ <em>toujours</em> de l'inode du fichier, de sa taille et de sa date
+ de dernière modification (mtime). La directive
+ <code class="directive">FileETag</code> vous permet maintenant de choisir
+ quelles caractéristiques du fichier vont être utilisées, le cas
+ échéant. Les mots-clés reconnus sont :
+ </p>
+
+ <dl>
+ <dt><strong>INode</strong></dt>
+ <dd>Le numéro d'i-node du fichier sera inclus dans le processus de
+ génération</dd>
+ <dt><strong>MTime</strong></dt>
+ <dd>La date et l'heure auxquelles le fichier a été modifié la
+ dernière fois seront incluses</dd>
+ <dt><strong>Size</strong></dt>
+ <dd>La taille du fichier en octets sera incluse</dd>
+ <dt><strong>All</strong></dt>
+ <dd>Tous les champs disponibles seront utilisés. Cette définition
+ est équivalente à : <div class="example"><p><code>FileETag INode MTime
+ Size</code></p></div></dd>
+ <dt><strong>None</strong></dt>
+ <dd>Si le document se compose d'un fichier, aucun champ
+ <code>ETag</code> ne sera inclus dans la réponse</dd>
+ </dl>
+
+ <p>Les mots-clés <code>INode</code>, <code>MTime</code>, et
+ <code>Size</code> peuvent être préfixés par <code>+</code> ou
+ <code>-</code>, ce qui permet de modifier les valeurs par défaut
+ héritées d'un niveau de configuration plus général. Tout mot-clé
+ apparaissant sans aucun préfixe annule entièrement et immédiatement
+ les configurations héritées.</p>
+
+ <p>Si la configuration d'un répertoire contient
+ <code>FileETag INode MTime Size</code>, et si un de
+ ses sous-répertoires contient <code>FileETag -INode</code>, la
+ configuration de ce sous-répertoire (qui sera propagée vers tout
+ sou-répertoire qui ne la supplante pas), sera équivalente à
+ <code>FileETag MTime Size</code>.</p>
+ <div class="warning"><h3>Avertissement</h3>
+ Ne modifiez pas les valeurs par défaut pour les répertoires ou
+ localisations où WebDAV est activé et qui utilisent
+ <code class="module"><a href="../mod/mod_dav_fs.html">mod_dav_fs</a></code> comme fournisseur de stockage.
+ <code class="module"><a href="../mod/mod_dav_fs.html">mod_dav_fs</a></code> utilise
+ <code>INode MTime Size</code> comme format fixe pour les
+ comparaisons de champs <code>ETag</code> dans les requêtes
+ conditionnelles. Ces requêtes conditionnelles échoueront si le
+ format <code>ETag</code> est modifié via la directive
+ <code class="directive">FileETag</code>.
+ </div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="Files" id="Files"><Files></a> <a name="files" id="files">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des directives qui s'appliquent aux fichiers
+précisés</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><Files <var>nom fichier</var>> ... </Files></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>All</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>La directive <code class="directive"><Files></code> limite
+ la portée des directives qu'elle contient aux fichiers précisés.
+ Elle est comparable aux directives <code class="directive"><a href="#directory"><Directory></a></code> et <code class="directive"><a href="#location"><Location></a></code>. Elle doit se terminer par une
+ balise <code></Files></code>. Les directives contenues dans
+ cette section s'appliqueront à tout objet dont le nom de base (la
+ dernière partie du nom de fichier) correspond au fichier spécifié.
+ Les sections <code class="directive"><Files></code> sont
+ traitées selon l'ordre dans lequel elles apparaissent dans le
+ fichier de configuration, après les sections <code class="directive"><a href="#directory"><Directory></a></code> et la lecture des fichiers
+ <code>.htaccess</code>, mais avant les sections <code class="directive"><a href="#location"><Location></a></code>. Notez que les
+ sections <code class="directive"><Files></code> peuvent être
+ imbriquées dans les sections <code class="directive"><a href="#directory"><Directory></a></code> afin de restreindre la portion
+ du système de fichiers à laquelle ces dernières vont
+ s'appliquer.</p>
+
+ <p>L'argument <var>filename</var> peut contenir un nom de fichier
+ ou une chaîne de caractères avec caractères génériques, où
+ <code>?</code> remplace un caractère, et <code>*</code> toute chaîne
+ de caractères. On peut aussi utiliser les <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">Expressions rationnelles</a> en ajoutant la
+ caractère <code>~</code>. Par exemple :</p>
+
+ <div class="example"><p><code>
+ <Files ~ "\.(gif|jpe?g|png)$">
+ </code></p></div>
+
+ <p>correspondrait à la plupart des formats graphiques de l'Internet.
+ Il est cependant préférable d'utiliser la directive <code class="directive"><a href="#filesmatch"><FilesMatch></a></code>.</p>
+
+ <p>Notez qu'à la différence des sections <code class="directive"><a href="#directory"><Directory></a></code> et <code class="directive"><a href="#location"><Location></a></code>, les sections <code class="directive"><Files></code> peuvent être utilisées dans les
+ fichiers <code>.htaccess</code>. Ceci permet aux utilisateurs de
+ contrôler l'accès à leurs propres ressources, fichier par
+ fichier.</p>
+
+
+<h3>Voir aussi</h3>
+<ul>
+<li><a href="../sections.html">Comment fonctionnent les sections
+<Directory>, <Location> et <Files></a> pour une
+explication de la manière dont ces différentes sections se combinent
+entre elles à la réception d'une requête</li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="FilesMatch" id="FilesMatch"><FilesMatch></a> <a name="filesmatch" id="filesmatch">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des directives qui s'appliquent à des fichiers
+spécifiés sous la forme d'expressions rationnelles</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><FilesMatch <var>expression rationnelle</var>> ...
+</FilesMatch></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>All</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>La section <code class="directive"><FilesMatch></code>
+ limite la portée des directives qu'elle contient aux fichiers
+ spécifiés, tout comme le ferait une section <code class="directive"><a href="#files"><Files></a></code>. Mais elle accepte aussi les
+ <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expressions rationnelles</a>. Par
+ exemple :</p>
+
+ <div class="example"><p><code>
+ <FilesMatch "\.(gif|jpe?g|png)$">
+ </code></p></div>
+
+ <p>correspondrait à la plupart des formats graphiques de
+ l'Internet.</p>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><a href="../sections.html">Comment fonctionnent les sections
+<Directory>, <Location> et <Files></a> pour une
+explication de la manière dont ces différentes sections se combinent
+entre elles à la réception d'une requête</li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ForceType" id="ForceType">ForceType</a> <a name="forcetype" id="forcetype">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Force le type de médium spécifié dans le champ d'en-tête
+HTTP Content-Type pour les fichiers correspondants</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ForceType <var>type médium</var>|None</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>FileInfo</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Intégré dans le coeur d'Apache depuis la version
+2.0</td></tr>
+</table>
+ <p>Lorsqu'elle est placée dans un fichier <code>.htaccess</code> ou
+ une section <code class="directive"><a href="#directory"><Directory></a></code>, <code class="directive"><a href="#location"><Location></a></code>, ou <code class="directive"><a href="#files"><Files></a></code>, cette directive force
+ l'identification du type MIME des fichiers spécifiés à la valeur de
+ l'argument <var>type médium</var>. Par exemple, si vous possédez un
+ répertoire ne contenant que des fichiers GIF, et si vous ne voulez
+ pas leur ajouter l'extension <code>.gif</code>, vous pouvez utiliser
+ :</p>
+
+ <div class="example"><p><code>
+ ForceType image/gif
+ </code></p></div>
+
+ <p>Notez que cette directive l'emporte sur d'autres associations de
+ type de médium indirectes définies dans mime.types ou via la
+ directive <code class="directive"><a href="../mod/mod_mime.html#addtype">AddType</a></code>.</p>
+
+ <p>Vous pouvez aussi annuler toute définition plus générale de
+ <code class="directive">ForceType</code> en affectant la valeur
+ <code>None</code> à l'argument <var>type médium</var> :</p>
+
+ <div class="example"><p><code>
+ # force le type MIME de tous les fichiers à image/gif:<br />
+ <Location /images><br />
+ <span class="indent">
+ ForceType image/gif<br />
+ </span>
+ </Location><br />
+ <br />
+ # mais utilise les méthodes classiques d'attribution du type MIME
+ # dans le sous-répertoire suivant :<br />
+ <Location /images/mixed><br />
+ <span class="indent">
+ ForceType None<br />
+ </span>
+ </Location>
+ </code></p></div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="HostnameLookups" id="HostnameLookups">HostnameLookups</a> <a name="hostnamelookups" id="hostnamelookups">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la recherche DNS sur les adresses IP des
+clients</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>HostnameLookups On|Off|Double</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>HostnameLookups Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>Cette directive active la recherche DNS afin de pouvoir
+ journaliser les nom d'hôtes (et les passer aux programmes CGI et aux
+ inclusions SSI via la variable <code>REMOTE_HOST</code>). La valeur
+ <code>Double</code> déclenche une double recherche DNS inverse. En
+ d'autres termes, une fois la recherche inverse effectuée, on lance
+ une recherche directe sur le résultat de cette dernière. Au moins
+ une des adresses IP fournies par la recherche directe doit
+ correspondre à l'adresse originale (ce que l'on nomme
+ <code>PARANOID</code> dans la terminologie "tcpwrappers").</p>
+
+ <p>Quelle que soit la configuration, lorsqu'on utilise
+ <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> pour contrôler l'accès en fonction
+ du nom d'hôte, une double recherche DNS inverse est effectuée,
+ sécurité oblige. Notez cependant que le résultat de cette double
+ recherche n'est en général pas accessible, à moins que vous n'ayez
+ spécifié <code>HostnameLookups Double</code>. Par exemple, si vous
+ n'avez spécifié que <code>HostnameLookups On</code>, et si une
+ requête concerne un objet protégé par des restrictions en fonction
+ du nom d'hôte, quel que soit le résultat de la double recherche
+ inverse, les programmes CGI ne recevront que le résultat de la
+ recherche inverse simple dans la variable
+ <code>REMOTE_HOST</code>.</p>
+
+ <p>La valeur par défaut est <code>Off</code> afin de préserver le
+ traffic réseau des sites pour lesquels la recherche inverse n'est
+ pas vraiment nécessaire. Cette valeur par défaut est aussi bénéfique
+ pour les utilisateurs finaux car il n'ont ainsi pas à subir de temps
+ d'attente supplémentaires dus aux recherches DNS. Les sites
+ fortement chargés devraient laisser cette directive à
+ <code>Off</code>, car les recherches DNS peuvent prendre des temps
+ très longs. Vous pouvez éventuellement utiliser hors ligne
+ l'utilitaire <code class="program"><a href="../programs/logresolve.html">logresolve</a></code>, compilé par défaut dans
+ le sous-répertoire <code>bin</code> de votre répertoire
+ d'installation, afin de déterminer les noms d'hôtes associés aux
+ adresses IP journalisées.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="If" id="If"><If></a> <a name="if" id="if">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des directives qui ne s'appliquent que si une
+condition est satisfaite au cours du traitement d'une
+requête</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><If <var>expression</var>> ... </If></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>All</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>La directive <code class="directive"><If></code> évalue une
+ expression à la volée, et applique les directives qu'elle contient
+ si et seulement si l'expression renvoie la valeur "vrai". Par
+ exemple :</p>
+
+ <div class="example"><p><code>
+ <If "$req{Host} = ''">
+ </code></p></div>
+
+ <p>sera satisfaite dans le cas des requêtes HTTP/1.0 sans en-tête
+ <var>Host:</var>.</p>
+
+ <p>Vous pouvez tester la valeur de tout en-tête de requête ($req),
+ de tout en-tête de réponse ($resp) ou de toute variable
+ d'environnement ($env) dans votre expression.</p>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><a href="../sections.html">Comment fonctionnent les sections
+<Directory>, <Location> et <Files></a> pour une
+explication de la manière dont ces différentes sections se combinent
+entre elles à la réception d'une requête. La directive <code class="directive"><If></code> possède la même priorité et s'utilise de
+la même façon que la directive <code class="directive"><Files></code></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="IfDefine" id="IfDefine"><IfDefine></a> <a name="ifdefine" id="ifdefine">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des directives qui ne s'appliqueront que si un
+test retourne "vrai" au démarrage du serveur</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><IfDefine [!]<var>paramètre</var>> ...
+ </IfDefine></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>All</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>La section <code><IfDefine
+ <var>test</var>>...</IfDefine></code> permet de
+ conférer un caractère conditionnel à un ensemble de directives. Les
+ directives situées à l'intérieur d'une section <code class="directive"><IfDefine></code> ne s'appliquent que si
+ <var>test</var> est vrai. Si <var>test</var> est faux, tout ce qui
+ se trouve entre les balises de début et de fin est ignoré.</p>
+
+ <p><var>test</var> peut se présenter sous deux formes :</p>
+
+ <ul>
+ <li><var>nom paramètre</var></li>
+
+ <li><code>!</code><var>nom paramètre</var></li>
+ </ul>
+
+ <p>Dans le premier cas, les directives situées entre les balises de
+ début et de fin ne s'appliqueront que si le paramètre nommé <var>nom
+ paramètre</var> est défini. Le second format inverse le test, et
+ dans ce cas, les directives ne s'appliqueront que si <var>nom
+ paramètre</var> n'est <strong>pas</strong> défini.</p>
+
+ <p>L'argument <var>nom paramètre</var> est une définition qui peut
+ être effectuée par la ligne de commande
+ <code class="program"><a href="../programs/httpd.html">httpd</a></code> via le paramètre
+ <code>-D<var>paramètre</var></code> au démarrage du serveur, ou via la
+ directive <code class="directive"><a href="#define">Define</a></code>.</p>
+
+ <p>Les sections <code class="directive"><IfDefine></code>
+ peuvent être imbriquées, ce qui permet d'implémenter un test
+ multi-paramètres simple. Exemple :</p>
+
+ <div class="example"><p><code>
+ httpd -DReverseProxy -DUseCache -DMemCache ...<br />
+ <br />
+ # httpd.conf<br />
+ <IfDefine ReverseProxy><br />
+ <span class="indent">
+ LoadModule proxy_module modules/mod_proxy.so<br />
+ LoadModule proxy_http_module modules/mod_proxy_http.so<br />
+ <IfDefine UseCache><br />
+ <span class="indent">
+ LoadModule cache_module modules/mod_cache.so<br />
+ <IfDefine MemCache><br />
+ <span class="indent">
+ LoadModule mem_cache_module modules/mod_mem_cache.so<br />
+ </span>
+ </IfDefine><br />
+ <IfDefine !MemCache><br />
+ <span class="indent">
+ LoadModule disk_cache_module modules/mod_disk_cache.so<br />
+ </span>
+ </IfDefine>
+ </span>
+ </IfDefine>
+ </span>
+ </IfDefine>
+ </code></p></div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="IfModule" id="IfModule"><IfModule></a> <a name="ifmodule" id="ifmodule">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des directives qui ne s'appliquent qu'en fonction
+de la présence ou de l'absence d'un module spécifique</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><IfModule [!]<var>fichier module</var>|<var>identificateur
+module</var>> ... </IfModule></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>All</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Les identificateurs de modules sont disponibles dans les
+versions 2.1 et supérieures.</td></tr>
+</table>
+ <p>La section <code><IfModule
+ <var>test</var>>...</IfModule></code> permet de conférer à
+ des directives un caractère conditionnel basé sur la présence d'un
+ module spécifique. Les directives situées dans une section
+ <code class="directive"><IfModule></code> ne s'appliquent que
+ si <var>test</var> est vrai. Si <var>test</var> est faux, tout ce
+ qui se trouve entre les balises de début et de fin est ignoré.</p>
+
+ <p><var>test</var> peut se présenter sous deux formes :</p>
+
+ <ul>
+ <li><var>module</var></li>
+
+ <li>!<var>module</var></li>
+ </ul>
+
+ <p>Dans le premier cas, les directives situées entre les balises de
+ début et de fin ne s'appliquent que si le module <var>module</var>
+ est présent -- soit compilé avec le binaire httpd, soit chargé
+ dynamiquement via la directive <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code>. Le second format inverse le test, et dans
+ ce cas, les directives ne s'appliquent que si <var>module</var>
+ n'est <strong>pas</strong> présent.</p>
+
+ <p>L'argument <var>module</var> peut contenir soit l'identificateur
+ du module, soit le nom du fichier source du module. Par exemple,
+ <code>rewrite_module</code> est un identificateur et
+ <code>mod_rewrite.c</code> le nom du fichier source
+ correspondant. Si un module comporte plusieurs fichiers sources,
+ utilisez le nom du fichier qui contient la chaîne de caractères
+ <code>STANDARD20_MODULE_STUFF</code>.</p>
+
+ <p>Les sections <code class="directive"><IfModule></code>
+ peuvent être imbriquées, ce qui permet d'implémenter des tests
+ multi-modules simples.</p>
+
+ <div class="note">Cette section ne doit être utilisée que si votre fichier de
+ configuration ne fonctionne qu'en fonction de la présence ou de
+ l'absence d'un module spécifique. D'une manière générale, il n'est
+ pas nécessaire de placer les directives à l'intérieur de sections
+ <code class="directive"><IfModule></code>.</div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="Include" id="Include">Include</a> <a name="include" id="include">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Inclut d'autres fichiers de configuration dans un des
+fichiers de configuration du serveur</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Include <var>chemin fichier</var>|<var>chemin
+répertoire</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Utilisation des caractères génériques depuis la version
+2.0.41</td></tr>
+</table>
+ <p>Cette directive permet l'inclusion d'autres fichiers de
+ configuration dans un des fichiers de configuration du serveur.</p>
+
+ <p>On peut utiliser des caractères génériques de style Shell
+ (<code>fnmatch()</code>) pour inclure plusieurs fichiers en une
+ seule fois, selon leur ordre alphabétique. De plus, si la directive
+ <code class="directive">Include</code> pointe vers un répertoire, Apache
+ inclura tous les fichiers de ce répertoire et de tous ces
+ sous-répertoires. L'inclusion de répertoires entiers est cependant
+ déconseillée, car il est fréquent d'oublier des fichiers
+ temporaires dans un répertoire, ce qui causerait une erreur
+ <code class="program"><a href="../programs/httpd.html">httpd</a></code> en cas d'inclusion. Pour inclure des
+ fichiers qui correspondent à un certain modèle, comme *.conf par
+ exemple, nous vous recommandons d'utiliser plutôt la syntaxe avec
+ caractères génériques comme ci-dessous.</p>
+
+ <p>Le chemin fichier spécifié peut être soit un chemin absolu, soit
+ un chemin relatif au répertoire défini par la directive <code class="directive"><a href="#serverroot">ServerRoot</a></code>.</p>
+
+ <p>Exemples :</p>
+
+ <div class="example"><p><code>
+ Include /usr/local/apache2/conf/ssl.conf<br />
+ Include /usr/local/apache2/conf/vhosts/*.conf
+ </code></p></div>
+
+ <p>ou encore, avec des chemins relatifs au répertoire défini par la
+ directive <code class="directive"><a href="#serverroot">ServerRoot</a></code> :</p>
+
+ <div class="example"><p><code>
+ Include conf/ssl.conf<br />
+ Include conf/vhosts/*.conf
+ </code></p></div>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="program"><a href="../programs/apachectl.html">apachectl</a></code></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="KeepAlive" id="KeepAlive">KeepAlive</a> <a name="keepalive" id="keepalive">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active les connexions HTTP persistantes</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>KeepAlive On|Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>KeepAlive On</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>L'extension Keep-Alive de HTTP/1.0 et l'implémentation des
+ connexions persistantes dans HTTP/1.1 ont rendu possibles des
+ sessions HTTP de longue durée, ce qui permet de transmettre
+ plusieurs requêtes via la même connexion TCP. Dans certains cas, le
+ gain en rapidité pour des documents comportant de nombreuses images
+ peut atteindre 50%. Pour activer les connexions persistantes,
+ définissez <code>KeepAlive On</code>.</p>
+
+ <p>Pour les clients HTTP/1.0, les connexions persistantes ne seront
+ mises en oeuvre que si elles ont été spécialement demandées par un
+ client. De plus, une connexion persistante avec un client HTTP/1.0
+ ne peut être utilisée que si la taille du contenu est connue
+ d'avance. Ceci implique que les contenus dynamiques comme les
+ sorties CGI, les pages SSI, et les listings de répertoires générés
+ par le serveur n'utiliseront en général pas les connexions
+ persistantes avec les clients HTTP/1.0. Avec les clients HTTP/1.1,
+ les connexions persistantes sont utilisées par défaut, sauf
+ instructions contraires. Si le client le demande, le transfert par
+ tronçons de taille fixe (chunked encoding) sera utilisé afin de
+ transmettre un contenu de longueur inconnue via une connexion
+ persistante.</p>
+
+ <p>Lorsqu'un client utilise une connexion persistante, elle comptera
+ pour une seule requête pour la directive <code class="directive"><a href="../mod/mpm_common.html#maxrequestsperchild">MaxRequestsPerChild</a></code>, quel
+ que soit le nombre de requêtes transmises via cette connexion.</p>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="directive"><a href="#maxkeepaliverequests">MaxKeepAliveRequests</a></code></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="KeepAliveTimeout" id="KeepAliveTimeout">KeepAliveTimeout</a> <a name="keepalivetimeout" id="keepalivetimeout">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Durée pendant laquelle le serveur va attendre une requête
+avant de fermer une connexion persistante</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>KeepAliveTimeout <var>nombre</var>[ms]</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>KeepAliveTimeout 5</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>La spécification d'une valeur en millisecondes est
+possible depuis les versions 2.3.2 et supérieures d'Apache</td></tr>
+</table>
+ <p>Le nombre de secondes pendant lesquelles Apache va attendre une
+ requête avant de fermer la connexion. Le délai peut être défini en
+ millisecondes en suffixant sa valeur par ms. La valeur du délai
+ spécifiée par la directive <code class="directive"><a href="#timeout">Timeout</a></code> s'applique dès qu'une requête a
+ été reçue.</p>
+
+ <p>Donner une valeur trop élévée à
+ <code class="directive">KeepAliveTimeout</code> peut induire des problèmes
+ de performances sur les serveurs fortement chargés. Plus le délai
+ est élévé, plus nombreux seront les processus serveur en attente de
+ requêtes de la part de clients inactifs.</p>
+
+ <p>Dans un contexte de serveur virtuel à base de nom, c'est le délai
+ du premier serveur virtuel défini (le serveur par défaut) parmi un
+ ensemble de directives <code class="directive"><a href="#namevirtualhost">NameVirtualHost</a></code> qui sera utilisé. Les
+ autres valeurs seront ignorées.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="Limit" id="Limit"><Limit></a> <a name="limit" id="limit">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limite les contrôles d'accès que la section contient à
+certaines méthodes HTTP</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><Limit <var>méthode</var> [<var>méthode</var>] ... > ...
+ </Limit></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>AuthConfig, Limit</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>Les contrôles d'accès s'appliquent normalement à
+ <strong>toutes</strong> les méthodes d'accès, et c'est en général le
+ comportement souhaité. <strong>Dans le cas général, les directives
+ de contrôle d'accès n'ont pas à être placées dans une section
+ <code class="directive"><Limit></code>.</strong></p>
+
+ <p>La directive <code class="directive"><Limit></code> a pour
+ but de limiter les effets des contrôles d'accès aux méthodes HTTP
+ spécifiées. Pour toutes les autres méthodes, les restrictions
+ d'accès contenues dans la section <code class="directive"><Limit></code> <strong>n'auront aucun
+ effet</strong>. L'exemple suivant n'applique les contrôles d'accès
+ qu'aux méthodes <code>POST</code>, <code>PUT</code>, et
+ <code>DELETE</code>, en laissant les autres méthodes sans protection
+ :</p>
+
+ <div class="example"><p><code>
+ <Limit POST PUT DELETE><br />
+ <span class="indent">
+ Require valid-user<br />
+ </span>
+ </Limit>
+ </code></p></div>
+
+ <p>La liste des noms de méthodes peut contenir une ou plusieurs
+ valeurs parmi les suivantes : <code>GET</code>, <code>POST</code>,
+ <code>PUT</code>, <code>DELETE</code>, <code>CONNECT</code>,
+ <code>OPTIONS</code>, <code>PATCH</code>, <code>PROPFIND</code>,
+ <code>PROPPATCH</code>, <code>MKCOL</code>, <code>COPY</code>,
+ <code>MOVE</code>, <code>LOCK</code>, et <code>UNLOCK</code>.
+ <strong>Le nom de méthode est sensible à la casse.</strong> Si la
+ valeur <code>GET</code> est présente, les requêtes <code>HEAD</code>
+ seront aussi concernées. La méthode <code>TRACE</code> ne peut pas
+ être limitée (voir la directive <code class="directive"><a href="#traceenable">TraceEnable</a></code>).</p>
+
+ <div class="warning">Une section <code class="directive"><LimitExcept></code> doit toujours être préférée à
+ une section <code class="directive"><a href="#limit"><Limit></a></code> pour la restriction d'accès, car une
+ section <code class="directive"><a href="#limitexcept"><LimitExcept></a></code> fournit une protection contre
+ les méthodes arbitraires.</div>
+
+ <p>Les directives <code class="directive"><Limit></code> et
+ <code class="directive"><a href="#limitexcept"><LimitExcept></a></code>
+ peuvent être imbriquées. Dans ce cas, pour chaque niveau des
+ directives <code class="directive"><Limit></code> ou <code class="directive"><a href="#limitexcept"><LimitExcept></a></code>, ces dernières
+ doivent restreindre l'accès pour les méthodes auxquelles les
+ contrôles d'accès s'appliquent.</p>
+
+ <div class="warning">Lorsqu'on utilise les directives <code class="directive"><Limit></code> ou <code class="directive"><LimitExcept></code> avec la directive <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code>, la première directive
+ <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> dont la
+ condition est satisfaite autorise la requête, sans tenir compte de
+ la présence d'autres directives <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code>.</div>
+
+ <p>Par exemple, avec la configuration suivante, tous les
+ utilisateurs seront autorisés à effectuer des requêtes
+ <code>POST</code>, et la directive <code>Require group
+ editors</code> sera ignorée dans tous les cas :</p>
+
+ <div class="example"><p><code>
+ <LimitExcept GET>
+ <span class="indent">
+ Require valid-user
+ </span>
+ </LimitExcept><br />
+ <Limit POST>
+ <span class="indent">
+ Require group editors
+ </span>
+ </Limit>
+ </code></p></div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="LimitExcept" id="LimitExcept"><LimitExcept></a> <a name="limitexcept" id="limitexcept">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Applique les contrôles d'accès à toutes les méthodes HTTP,
+sauf celles qui sont spécifiées</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><LimitExcept <var>méthode</var> [<var>méthode</var>] ... > ...
+ </LimitExcept></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>AuthConfig, Limit</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p><code class="directive"><LimitExcept></code> et
+ <code></LimitExcept></code> permettent de regrouper des
+ directives de contrôle d'accès qui s'appliqueront à toutes les
+ méthodes d'accès HTTP qui ne font <strong>pas</strong> partie de la
+ liste des arguments ; en d'autres termes, elles ont un comportement
+ opposé à celui de la section <code class="directive"><a href="#limit"><Limit></a></code>, et on peut les utiliser pour
+ contrôler aussi bien les méthodes standards que les méthodes non
+ standards ou non reconnues. Voir la documentation de la section
+ <code class="directive"><a href="#limit"><Limit></a></code> pour plus
+ de détails.</p>
+
+ <p>Par exemple :</p>
+
+ <div class="example"><p><code>
+ <LimitExcept POST GET><br />
+ <span class="indent">
+ Require valid-user<br />
+ </span>
+ </LimitExcept>
+ </code></p></div>
+
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="LimitInternalRecursion" id="LimitInternalRecursion">LimitInternalRecursion</a> <a name="limitinternalrecursion" id="limitinternalrecursion">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine le nombre maximal de redirections internes et de
+sous-requêtes imbriquées</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LimitInternalRecursion <var>nombre</var> [<var>nombre</var>]</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LimitInternalRecursion 10</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.0.47 d'Apache</td></tr>
+</table>
+ <p>Une redirection interne survient, par exemple, quand on utilise
+ la directive <code class="directive"><a href="../mod/mod_actions.html#action">Action</a></code> qui
+ redirige en interne la requête d'origine vers un script CGI. Une
+ sous-requête est le mécanisme qu'utilise Apache pour déterminer ce
+ qui se passerait pour un URI s'il faisait l'objet d'une requête. Par
+ exemple, <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> utilise les sous-requêtes pour
+ rechercher les fichiers listés dans la directive <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code>.</p>
+
+ <p>La directive <code class="directive">LimitInternalRecursion</code> permet
+ d'éviter un crash du serveur dû à un bouclage infini de redirections
+ internes ou de sous-requêtes. De tels bouclages sont dus en général
+ à des erreurs de configuration.</p>
+
+ <p>La directive accepte, comme arguments, deux limites qui sont
+ évaluées à chaque requête. Le premier <var>nombre</var> est le
+ nombre maximum de redirections internes qui peuvent se succéder. Le
+ second <var>nombre</var> détermine la profondeur d'imbrication
+ maximum des sous-requêtes. Si vous ne spécifiez qu'un seul
+ <var>nombre</var>, il sera affecté aux deux limites.</p>
+
+ <div class="example"><h3>Exemple</h3><p><code>
+ LimitInternalRecursion 5
+ </code></p></div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="LimitRequestBody" id="LimitRequestBody">LimitRequestBody</a> <a name="limitrequestbody" id="limitrequestbody">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>limite la taille maximale du corps de la requête HTTP
+envoyée par le client</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LimitRequestBody <var>octets</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LimitRequestBody 0</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>All</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>Cette directive spécifie la taille maximale autorisée pour le
+ corps d'une requête ; la valeur de l'argument <var>octets</var> va
+ de 0 (pour une taille illimitée), à 2147483647 (2Go).</p>
+
+ <p>La directive <code class="directive">LimitRequestBody</code> permet de
+ définir une limite pour la taille maximale autorisée du corps d'une
+ requête HTTP en tenant compte du contexte dans lequel la directive
+ a été placée (c'est à dire au niveau du serveur, d'un répertoire,
+ d'un fichier ou d'une localisation). Si la requête du client dépasse
+ cette limite, le serveur répondra par un message d'erreur et ne
+ traitera pas la requête. La taille du corps d'une requête normale va
+ varier de manière importante en fonction de la nature de la
+ ressource et des méthodes autorisées pour cette dernière. Les
+ scripts CGI utilisent souvent le corps du message pour extraire les
+ informations d'un formulaire. Les implémentations de la méthode
+ <code>PUT</code> nécessitent une valeur au moins aussi élevée que la
+ taille maximale des représentations que le serveur désire accepter
+ pour cette ressource.</p>
+
+ <p>L'administrateur du serveur peut utiliser cette directive pour
+ contrôler plus efficacement les comportements anormaux des requêtes
+ des clients, ce qui lui permettra de prévenir certaines formes
+ d'attaques par déni de service.</p>
+
+ <p>Si par exemple, vous autorisez le chargement de fichiers vers une
+ localisation particulière, et souhaitez limiter la taille des
+ fichiers chargés à 100Ko, vous pouvez utiliser la directive suivante
+ :</p>
+
+ <div class="example"><p><code>
+ LimitRequestBody 102400
+ </code></p></div>
+
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="LimitRequestFields" id="LimitRequestFields">LimitRequestFields</a> <a name="limitrequestfields" id="limitrequestfields">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limite le nombre de champs d'en-tête autorisés dans une
+requête HTTP</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LimitRequestFields <var>nombre</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LimitRequestFields 100</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p><var>nombre</var> est un entier de 0 (nombre de champs illimité)
+ à 32767. La valeur par défaut est définie à la compilation par la
+ constante <code>DEFAULT_LIMIT_REQUEST_FIELDS</code> (100 selon la
+ distribution).</p>
+
+ <p>La directive <code class="directive">LimitRequestFields</code> permet à
+ l'administrateur du serveur de modifier le nombre maximum de champs
+ d'en-tête autorisés dans une requête HTTP. Pour un serveur, cette
+ valeur doit être supérieure au nombre de champs qu'une requête
+ client normale peut contenir. Le nombre de champs d'en-tête d'une
+ requête qu'un client utilise dépasse rarement 20, mais ce nombre
+ peut varier selon les implémentations des clients, et souvent en
+ fonction des extensions que les utilisateurs configurent dans leurs
+ navigateurs pour supporter la négociation de contenu détaillée. Les
+ extensions HTTP optionnelles utilisent souvent les
+ champs d'en-tête des requêtes.</p>
+
+ <p>L'administrateur du serveur peut utiliser cette directive pour
+ contrôler plus efficacement les comportements anormaux des requêtes
+ des clients, ce qui lui permettra de prévenir certaines formes
+ d'attaques par déni de service. La valeur spécifiée doit être
+ augmentée si les clients standards reçoivent une erreur du serveur
+ indiquant que la requête comportait un nombre d'en-têtes trop
+ important.</p>
+
+ <p>Par exemple :</p>
+
+ <div class="example"><p><code>
+ LimitRequestFields 50
+ </code></p></div>
+
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="LimitRequestFieldSize" id="LimitRequestFieldSize">LimitRequestFieldSize</a> <a name="limitrequestfieldsize" id="limitrequestfieldsize">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Dédinit la taille maximale autorisée d'un en-tête de
+requête HTTP</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LimitRequestFieldSize <var>octets</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LimitRequestFieldSize 8190</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>Cette directive permet de définir le nombre maximum
+ d'<var>octets</var> autorisés dans un en-tête de requête HTTP.</p>
+
+ <p>La directive <code class="directive">LimitRequestFieldSize</code> permet
+ à l'administrateur du serveur de réduire ou augmenter la taille
+ maximale autorisée d'un en-tête de requête HTTP. Pour un serveur,
+ cette valeur doit être suffisamment grande pour contenir tout
+ en-tête d'une requête client normale. La taille d'un champ d'en-tête
+ de requête normal va varier selon les implémentations des clients,
+ et en fonction des extensions que les utilisateurs
+ configurent dans leurs navigateurs pour supporter la négociation de
+ contenu détaillée. Les en-têtes d'authentification SPNEGO peuvent
+ atteindre une taille de 12392 octets.</p>
+
+ <p>>L'administrateur du serveur peut utiliser cette directive pour
+ contrôler plus efficacement les comportements anormaux des requêtes
+ des clients, ce qui lui permettra de prévenir certaines formes
+ d'attaques par déni de service.</p>
+
+ <p>Par exemple ::</p>
+
+ <div class="example"><p><code>
+ LimitRequestFieldSize 4094
+ </code></p></div>
+
+ <div class="note">Dans des conditions normales, la valeur par défaut de cette
+ directive ne doit pas être modifiée.</div>
+
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="LimitRequestLine" id="LimitRequestLine">LimitRequestLine</a> <a name="limitrequestline" id="limitrequestline">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la taille maximale d'une ligne de requête
+HTTP</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LimitRequestLine <var>octets</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LimitRequestLine 8190</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>Cette directive permet de définir la taille maximale autorisée
+ pour une ligne de requête HTTP en <var>octets</var>.</p>
+
+ <p>La directive <code class="directive">LimitRequestLine</code> permet à
+ l'administrateur du serveur de réduire ou augmenter la taille
+ maximale autorisée d'une ligne de requête HTTP client. Comme une
+ requête comporte une méthode HTTP, un URI, et une version de
+ protocole, la directive <code class="directive">LimitRequestLine</code>
+ impose une restriction sur la longueur maximale autorisée pour un
+ URI dans une requête au niveau du serveur. Pour un serveur, cette
+ valeur doit être suffisamment grande pour référencer les noms de
+ toutes ses ressources, y compris toutes informations pouvant être
+ ajoutées dans la partie requête d'une méthode <code>GET</code>.</p>
+
+ <p>L'administrateur du serveur peut utiliser cette directive pour
+ contrôler plus efficacement les comportements anormaux des requêtes
+ des clients, ce qui lui permettra de prévenir certaines formes
+ d'attaques par déni de service.</p>
+
+ <p>Par exemple :</p>
+
+ <div class="example"><p><code>
+ LimitRequestLine 4094
+ </code></p></div>
+
+ <div class="note">Dans des conditions normales, la valeur par défaut de cette
+ directive ne doit pas être modifiée.</div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="LimitXMLRequestBody" id="LimitXMLRequestBody">LimitXMLRequestBody</a> <a name="limitxmlrequestbody" id="limitxmlrequestbody">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la taille maximale du corps d'une requête au format
+XML</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LimitXMLRequestBody <var>octets</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LimitXMLRequestBody 1000000</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>All</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>Taille maximale (en octets) du corps d'une requête au format XML.
+ Une valeur de <code>0</code> signifie qu'aucune limite n'est
+ imposée.</p>
+
+ <p>Exemple :</p>
+
+ <div class="example"><p><code>
+ LimitXMLRequestBody 0
+ </code></p></div>
+
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="Location" id="Location"><Location></a> <a name="location" id="location">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>N'applique les directives contenues qu'aux URLs
+spécifiées</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><Location
+ <var>chemin URL</var>|<var>URL</var>> ... </Location></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>La directive <code class="directive"><Location></code>
+ limite la portée des directives contenues aux URLs définies par
+ l'argument URL. Elle est similaire à la directive <code class="directive"><a href="#directory"><Directory></a></code>, et marque le
+ début d'une section qui se termine par une directive
+ <code></Location></code>. Les sections <code class="directive"><Location></code> sont traitées selon l'ordre dans
+ lequel elles apparaissent dans le fichier de configuration, mais
+ après les sections <code class="directive"><a href="#directory"><Directory></a></code> et la lecture des
+ fichiers <code>.htaccess</code>, et après les sections <code class="directive"><a href="#files"><Files></a></code>.</p>
+
+ <p>Les sections <code class="directive"><Location></code>
+ agissent complètement en dehors du système de fichiers. Ceci a de
+ nombreuses conséquences. Parmi les plus importantes, on ne doit pas
+ utiliser les sections <code class="directive"><Location></code>
+ pour contrôler l'accès aux répertoires du système de fichiers. Comme
+ plusieurs URLs peuvent correspondre au même répertoire du système de
+ fichiers, un tel contrôle d'accès pourrait être contourné.</p>
+
+ <div class="note"><h3>Quand utiliser la section <code class="directive"><Location></code></h3>
+
+ <p>Vous pouvez utiliser une section <code class="directive"><Location></code> pour appliquer des directives à
+ des contenus situés en dehors du système de fichiers. Pour les
+ contenus situés à l'intérieur du système de fichiers, utilisez
+ plutôt les sections <code class="directive"><a href="#directory"><Directory></a></code> et <code class="directive"><a href="#files"><Files></a></code>. <code><Location
+ /></code> constitue une exception et permet d'appliquer aisément
+ une configuration à l'ensemble du serveur.</p>
+ </div>
+
+ <p>Pour toutes les requêtes originales (non mandatées), l'argument
+ URL est un chemin d'URL de la forme
+ <code>/chemin/</code>. <em>Aucun protocole, nom d'hôte, port, ou chaîne
+ de requête ne doivent apparaître.</em> Pour les requêtes mandatées, l'URL
+ spécifiée doit être de la forme
+ <code>protocole://nom_serveur/chemin</code>, et vous devez inclure
+ le préfixe.</p>
+
+ <p>L'URL peut contenir des caractères génériques. Dans une chaîne
+ avec caractères génériques, <code>?</code> correspond à un caractère
+ quelconque, et <code>*</code> à toute chaîne de caractères. Les
+ caractères génériques ne peuvent pas remplacer un / dans le chemin
+ URL.</p>
+
+ <p>On peut aussi utiliser les <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">Expressions
+ rationnelles</a>, moyennant l'addition d'un caractère
+ <code>~</code>. Par exemple :</p>
+
+ <div class="example"><p><code>
+ <Location ~ "/(extra|special)/data">
+ </code></p></div>
+
+ <p>concernerait les URLs contenant les sous-chaîne
+ <code>/extra/data</code> ou <code>/special/data</code>. La directive
+ <code class="directive"><a href="#locationmatch"><LocationMatch></a></code>
+ présente un comportement identique à la version avec expressions
+ rationnelles de la directive <code class="directive"><Location></code>, et son utilisation est
+ préférable à l'utilisation de cette dernière pour la simple raison
+ qu'il est difficile de distinguer <code>~</code> de <code>-</code>
+ dans la plupart des fontes.</p>
+
+ <p>La directive <code class="directive"><Location></code>
+ s'utilise principalement avec la directive <code class="directive"><a href="#sethandler">SetHandler</a></code>. Par exemple, pour activer les
+ requêtes d'état, mais ne les autoriser que depuis des navigateurs
+ appartenant au domaine <code>example.com</code>, vous pouvez
+ utiliser :</p>
+
+ <div class="example"><p><code>
+ <Location /status><br />
+ <span class="indent">
+ SetHandler server-status<br />
+ Order Deny,Allow<br />
+ Deny from all<br />
+ Allow from .example.com<br />
+ </span>
+ </Location>
+ </code></p></div>
+
+ <div class="note"><h3>Note à propos du slash (/)</h3>
+ <p>La signification du caractère slash dépend de l'endroit où il
+ se trouve dans l'URL. Les utilisateurs peuvent être habitués à
+ son comportement dans le système de fichiers où plusieurs slashes
+ successifs sont souvent réduits à un slash unique (en d'autres
+ termes, <code>/home///foo</code> est identique à
+ <code>/home/foo</code>). Dans l'espace de nommage des URLs, ce
+ n'est cependant pas toujours le cas. Pour la directive <code class="directive"><a href="#locationmatch"><LocationMatch></a></code> et la
+ version avec expressions rationnelles de la directive <code class="directive"><Location></code>, vous devez spécifier
+ explicitement les slashes multiples si telle est votre
+ intention.</p>
+
+ <p>Par exemple, <code><LocationMatch ^/abc></code> va
+ correspondre à l'URL <code>/abc</code> mais pas à l'URL <code>
+ //abc</code>. La directive <code class="directive"><Location></code> sans expression rationnelle se comporte de
+ la même manière lorsqu'elle est utilisée pour des requêtes
+ mandatées. Par contre, lorsque la directive <code class="directive"><Location></code> sans expression rationnelle
+ est utilisée pour des requêtes non mandatées, elle fera
+ correspondre implicitement les slashes multiples à des slashes
+ uniques. Par exemple, si vous spécifiez <code><Location
+ /abc/def></code>, une requête de la forme
+ <code>/abc//def</code> correspondra.</p>
+ </div>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><a href="../sections.html">Comment fonctionnent les sections
+<Directory>, <Location> et <Files></a> pour une
+explication de la manière dont ces différentes sections se combinent
+entre elles à la réception d'une requête.</li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="LocationMatch" id="LocationMatch"><LocationMatch></a> <a name="locationmatch" id="locationmatch">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>N'applique les directives contenues qu'aux URLs
+correspondant à une expression rationnelle</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><LocationMatch
+ <var>regex</var>> ... </LocationMatch></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>La directive <code class="directive"><LocationMatch></code>
+ limite la portée des directives contenues à l'URL spécifiée, de
+ manière identique à la directive <code class="directive"><a href="#location"><Location></a></code>. Mais son argument permettant de
+ spécifier les URLs concernées est une <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression rationnelle</a> au lieu d'une simple
+ chaîne de caractères. Par exemple :</p>
+
+ <div class="example"><p><code>
+ <LocationMatch "/(extra|special)/data">
+ </code></p></div>
+
+ <p>correspondrait à toute URL contenant les sous-chaînes
+ <code>/extra/data</code> ou <code>/special/data</code>.</p>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><a href="../sections.html">Comment fonctionnent les sections
+<Directory>, <Location> et <Files></a> pour une
+explication de la manière dont ces différentes sections se combinent
+entre elles à la réception d'une requête.</li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="LogLevel" id="LogLevel">LogLevel</a> <a name="loglevel" id="loglevel">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contrôle la verbosité du journal des erreurs</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LogLevel <var>niveau</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LogLevel warn</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>La directive <code class="directive">LogLevel</code> permet d'ajuster la
+ verbosité des messages enregistrés dans les journaux d'erreur (voir
+ la directive <code class="directive"><a href="#errorlog">ErrorLog</a></code>
+ directive). Les <var>niveau</var>x disponibles sont présentés
+ ci-après, par ordre de criticité décroissante :</p>
+
+ <table class="bordered">
+
+ <tr>
+ <th><strong>Niveau</strong> </th>
+
+ <th><strong>Description</strong> </th>
+
+ <th><strong>Exemple</strong> </th>
+ </tr>
+
+ <tr>
+ <td><code>emerg</code> </td>
+
+ <td>Urgences - le système est inutilisable.</td>
+
+ <td>"Child cannot open lock file. Exiting"</td>
+ </tr>
+
+ <tr>
+ <td><code>alert</code> </td>
+
+ <td>Des mesures doivent être prises immédiatement.</td>
+
+ <td>"getpwuid: couldn't determine user name from uid"</td>
+ </tr>
+
+ <tr>
+ <td><code>crit</code> </td>
+
+ <td>Conditions critiques.</td>
+
+ <td>"socket: Failed to get a socket, exiting child"</td>
+ </tr>
+
+ <tr>
+ <td><code>error</code> </td>
+
+ <td>Erreurs.</td>
+
+ <td>"Premature end of script headers"</td>
+ </tr>
+
+ <tr>
+ <td><code>warn</code> </td>
+
+ <td>Avertissements.</td>
+
+ <td>"child process 1234 did not exit, sending another
+ SIGHUP"</td>
+ </tr>
+
+ <tr>
+ <td><code>notice</code> </td>
+
+ <td>Evènement important mais normal.</td>
+
+ <td>"httpd: caught SIGBUS, attempting to dump core in
+ ..."</td>
+ </tr>
+
+ <tr>
+ <td><code>info</code> </td>
+
+ <td>Informations.</td>
+
+ <td>"Server seems busy, (you may need to increase
+ StartServers, or Min/MaxSpareServers)..."</td>
+ </tr>
+
+ <tr>
+ <td><code>debug</code> </td>
+
+ <td>Messages de débogage.</td>
+
+ <td>"Opening config file ..."</td>
+ </tr>
+ </table>
+
+ <p>Lorsqu'un niveau particulier est spécifié, les messages de tous
+ les autres niveaux de criticité supérieure seront aussi enregistrés.
+ <em>Par exemple</em>, si <code>LogLevel info</code> est spécifié,
+ les messages de niveaux <code>notice</code> et <code>warn</code>
+ seront aussi émis.</p>
+
+ <p>Il est recommandé d'utiliser un niveau <code>crit</code> ou
+ inférieur.</p>
+
+ <p>Par exemple :</p>
+
+ <div class="example"><p><code>
+ LogLevel notice
+ </code></p></div>
+
+ <div class="note"><h3>Note</h3>
+ <p>Si la journalisation s'effectue directement dans un fichier,
+ les messages de niveau <code>notice</code> ne peuvent pas être
+ supprimés et sont donc toujours journalisés. Cependant, ceci ne
+ s'applique pas lorsque la journalisation s'effectue vers
+ <code>syslog</code>.</p>
+ </div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="MaxKeepAliveRequests" id="MaxKeepAliveRequests">MaxKeepAliveRequests</a> <a name="maxkeepaliverequests" id="maxkeepaliverequests">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre de requêtes permises pour une connexion
+persistante</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MaxKeepAliveRequests <var>nombre</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MaxKeepAliveRequests 100</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>La directive <code class="directive">MaxKeepAliveRequests</code> permet
+ de limiter le nombre de requêtes autorisées par connexion lorsque
+ <code class="directive"><a href="#keepalive">KeepAlive</a></code> est à "on". Si sa
+ valeur est <code>0</code>, le nombre de requêtes autorisées est
+ illimité. Il est recommandé de définir une valeur assez haute pour
+ des performances du serveur maximales.</p>
+
+ <p>Par exemple :</p>
+
+ <div class="example"><p><code>
+ MaxKeepAliveRequests 500
+ </code></p></div>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="NameVirtualHost" id="NameVirtualHost">NameVirtualHost</a> <a name="namevirtualhost" id="namevirtualhost">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit une adresse IP pour les serveurs virtuels à base de
+nom</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>NameVirtualHost <var>adresse</var>[:<var>port</var>]</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+
+<p>Une seule directive <code class="directive">NameVirtualHost</code> permet
+d'identifier un ensemble de serveurs virtuels identiques que le serveur
+va sélectionner en fonction du <em>nom d'hôte</em> spécifié par le
+client. La directive <code class="directive">NameVirtualHost</code> est
+obligatoire si vous souhaitez configurer des <a href="../vhosts/">serveurs virtuels à base de nom</a>.</p>
+
+<p>Cette directive, ainsi que les directives <code class="directive">VirtualHost</code> correspondantes, <em>doit</em> comporter un
+numéro de port si le serveur supporte les connexions HTTP et HTTPS.</p>
+
+<p>Bien que <var>adresse</var> puisse contenir un nom d'hôte, il est
+recommandé d'utiliser plutôt une adresse IP ou un nom d'hôte avec
+caractères génériques. Une directive NameVirtualHost contenant des
+caractères génériques ne peut correspondre qu'à des serveurs virtuels
+qui contiennent aussi des caractères génériques dans leur argument.</p>
+
+<p>Dans les cas où un pare-feu ou autre mandataire reçoit les requêtes
+et les redirige sous une adresse IP différente vers le serveur, vous
+devez spécifier l'adresse IP de l'interface physique de la machine qui
+va servir les requêtes.</p>
+
+<p>Dans l'exemple ci-dessous, les requêtes reçues sur l'interface
+192.0.2.1 et le port 80 ne vont déclencher une sélection que parmi les
+deux premiers serveurs virtuels. Les requêtes reçues sur le port 80 et
+sur toute interface ne vont déclencher une sélection que parmi les
+troisième et quatrième serveurs virtuels. D'une manière générale,
+lorsque l'interface ne constitue pas un critère important de sélection,
+la valeur "*:80" suffit pour les directives NameVirtualHost et
+VirtualHost.</p>
+
+<div class="example"><p><code>
+ NameVirtualHost 192.0.2.1:80<br />
+ NameVirtualHost *:80<br /><br />
+
+ <VirtualHost 192.0.2.1:80><br />
+ ServerName namebased-a.example.com<br />
+ </VirtualHost><br />
+ <br />
+ <VirtualHost 192.0.2.1:80><br />
+ Servername namebased-b.example.com<br />
+ </VirtualHost><br />
+ <br />
+ <VirtualHost *:80><br />
+ ServerName namebased-c.example.com <br />
+ </VirtualHost><br />
+ <br />
+ <VirtualHost *:80><br />
+ ServerName namebased-d.example.com <br />
+ </VirtualHost><br />
+ <br />
+
+ </code></p></div>
+
+ <p>Les adresses IPv6 doivent être entourées de crochets, comme dans
+ l'exemple suivant :</p>
+
+ <div class="example"><p><code>
+ NameVirtualHost [2001:db8::a00:20ff:fea7:ccea]:8080
+ </code></p></div>
+
+
+
+ <div class="note"><h3>Argument de la directive <code class="directive"><VirtualHost></code></h3>
+ <p>Notez que l'argument de la directive <code class="directive"><VirtualHost></code> doit être identique à
+ l'argument de la directive <code class="directive">NameVirtualHost</code>.</p>
+
+ <div class="example"><p><code>
+ NameVirtualHost 192.0.2.2:80<br />
+ <VirtualHost 192.0.2.2:80><br />
+ # ...<br />
+ </VirtualHost><br />
+ </code></p></div>
+ </div>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><a href="../vhosts/">Documentation sur les serveurs
+virtuels</a></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="Options" id="Options">Options</a> <a name="options" id="options">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit les fonctionnalités disponibles pour un répertoire
+particulier</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Options
+ [+|-]<var>option</var> [[+|-]<var>option</var>] ...</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Options All</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>Options</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>La directive <code class="directive">Options</code> permet de définir
+ les fonctionnalités de serveur disponibles pour un répertoire
+ particulier.</p>
+
+ <p><var>option</var> peut être défini à <code>None</code>, auquel
+ cas aucune fonctionnalité spécifique n'est activée, ou comprendre
+ une ou plusieurs des options suivantes :</p>
+
+ <dl>
+ <dt><code>All</code></dt>
+
+ <dd>Toutes les options excepté <code>MultiViews</code>. il s'agit
+ de la configuration par défaut.</dd>
+
+ <dt><code>ExecCGI</code></dt>
+
+ <dd>L'exécution de scripts CGI à l'aide du module
+ <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> est permise.</dd>
+
+ <dt><code>FollowSymLinks</code></dt>
+
+ <dd>
+
+ Le serveur va suivre les liens symboliques dans le répertoire
+ concerné.
+ <div class="note">
+ <p>Bien que le serveur suive les liens symboliques, il ne modifie
+ <em>pas</em> le nom de chemin concerné défini par la section
+ <code class="directive"><a href="#directory"><Directory></a></code>.</p>
+ <p>Notez aussi que cette option <strong>est ignorée</strong> si
+ elle est définie dans une section <code class="directive"><a href="#location"><Location></a></code>.</p>
+ <p>Le fait d'omettre cette option ne doit pas être considéré comme
+ une mesure de sécurité efficace, car il existe toujours une
+ situation de compétition (race condition) entre l'instant où l'on
+ vérifie qu'un chemin n'est pas un lien symbolique, et l'instant où
+ l'on utilise effectivement ce chemin.</p>
+ </div></dd>
+
+ <dt><code>Includes</code></dt>
+
+ <dd>
+ Les inclusions côté serveur (SSI) à l'aide du module
+ <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> sont autorisées.</dd>
+
+ <dt><code>IncludesNOEXEC</code></dt>
+
+ <dd>
+
+ Les inclusions côté serveur (SSI) sont permises, mais <code>#exec
+ cmd</code> et <code>#exec cgi</code> sont désactivés.
+ L'utilisation de <code>#include virtual</code> pour les scripts
+ CGI est cependant toujours possible depuis des répertoires
+ définis par <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code>.</dd>
+
+ <dt><code>Indexes</code></dt>
+
+ <dd>
+ Si une URL requise correspond au répertoire concerné, et si aucun
+ <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code> (<em>par
+ exemple</em> <code>index.html</code>) n'est défini pour ce
+ répertoire, le module <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> va renvoyer
+ un listing formaté du répertoire.</dd>
+
+ <dt><code>MultiViews</code></dt>
+
+ <dd>
+ Les vues multiples ("multiviews") à <a href="../content-negotiation.html">contenu négocié</a> à l'aide du
+ module <code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code> sont autorisées.</dd>
+
+ <dt><code>SymLinksIfOwnerMatch</code></dt>
+
+ <dd>Le serveur ne suivra que les liens symboliques qui renvoient
+ vers un fichier ou un répertoire dont le propriétaire est le même
+ que celui du lien.
+
+ <div class="note"><h3>Note</h3> <p>Cette option est ignorée si elle est
+ définie dans une section <code class="directive"><a href="#location"><Location></a></code>.</p>
+ <p>Le fait d'omettre cette option ne doit pas être considéré comme
+ une mesure de sécurité efficace, car il existe toujours une
+ situation de compétition (race condition) entre l'instant où l'on
+ vérifie qu'un chemin n'est pas un lien symbolique, et l'instant où
+ l'on utilise effectivement ce chemin.</p></div>
+ </dd>
+ </dl>
+
+ <p>Normalement, si plusieurs directives
+ <code class="directive">Options</code> peuvent s'appliquer à un répertoire,
+ c'est la plus spécifique qui est utilisée et les autres sont
+ ignorées ; les options ne sont pas fusionnées (voir <a href="../sections.html#mergin">comment les sections sont
+ fusionnées</a>). Elles le sont cependant si <em>toutes</em> les
+ options de la directive <code class="directive">Options</code> sont
+ précédées d'un symbole <code>+</code> ou <code>-</code>. Toute
+ option précédée d'un <code>+</code> est ajoutée à la liste des
+ options courantes de manière forcée et toute option précédée d'un
+ <code>-</code> est supprimée de la liste des options courantes de la
+ même manière.</p>
+
+ <div class="warning"><h3>Avertissement</h3>
+ <p>Mélanger des <code class="directive">Options</code> avec <code>+</code>
+ ou <code>-</code> avec des <code class="directive">Options</code> sans
+ <code>+</code> ou <code>-</code> constitue une erreur de syntaxe, et
+ peut résulter en des comportements inattendus.</p>
+ </div>
+
+ <p>Par exemple, sans aucun symbole <code>+</code> et <code>-</code>
+ :</p>
+
+ <div class="example"><p><code>
+ <Directory /web/docs><br />
+ <span class="indent">
+ Options Indexes FollowSymLinks<br />
+ </span>
+ </Directory><br />
+ <br />
+ <Directory /web/docs/spec><br />
+ <span class="indent">
+ Options Includes<br />
+ </span>
+ </Directory>
+ </code></p></div>
+
+ <p>ici, seule l'option <code>Includes</code> sera prise en compte
+ pour le répertoire <code>/web/docs/spec</code>. Par contre, si la
+ seconde directive <code class="directive">Options</code> utilise les
+ symboles <code>+</code> et <code>-</code> :</p>
+
+ <div class="example"><p><code>
+ <Directory /web/docs><br />
+ <span class="indent">
+ Options Indexes FollowSymLinks<br />
+ </span>
+ </Directory><br />
+ <br />
+ <Directory /web/docs/spec><br />
+ <span class="indent">
+ Options +Includes -Indexes<br />
+ </span>
+ </Directory>
+ </code></p></div>
+
+ <p>alors, les options <code>FollowSymLinks</code> et
+ <code>Includes</code> seront prises en compte pour le répertoire
+ <code>/web/docs/spec</code>.</p>
+
+ <div class="note"><h3>Note</h3>
+ <p>L'utilisation de <code>-IncludesNOEXEC</code> ou
+ <code>-Includes</code> désactive complètement les inclusions côté
+ serveur sans tenir compte des définitions précédentes.</p>
+ </div>
+
+ <p>En l'absence de toute définition d'options, la valeur par défaut
+ est <code>All</code>.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="RLimitCPU" id="RLimitCPU">RLimitCPU</a> <a name="rlimitcpu" id="rlimitcpu">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limite le temps CPU alloué aux processus initiés par les
+processus enfants d'Apache</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RLimitCPU <var>secondes</var>|max [<var>secondes</var>|max]</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Non défini ; utilise les valeurs par défaut du système
+d'exploitation</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>All</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>Prend 1 ou 2 paramètres. Le premier definit la limite de
+ consommation de ressources pour tous les processus, et le second la
+ consommation de ressources maximale. Les deux paramètres peuvent
+ contenir soit un nombre, soit <code>max</code> pour indiquer au
+ serveur que la limite de consommation correspond à la valeur
+ maximale autorisée par la configuration du système d'exploitation.
+ Pour augmenter la consommation maximale de ressources, le serveur
+ doit s'exécuter en tant que <code>root</code>, ou se trouver dans sa
+ phase de démarrage.</p>
+
+ <p>Cette directive s'applique aux processus initiés par les
+ processus enfants d'Apache qui traitent les requêtes, et non aux
+ processus enfants eux-mêmes. Sont concernés les scripts CGI et les
+ commandes exec des SSI, mais en aucun cas les processus initiés par
+ le processus parent d'Apache comme les journalisations redirigées
+ vers un programme.</p>
+
+ <p>Les limites de ressources CPU sont exprimées en secondes par
+ processus.</p>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="directive"><a href="#rlimitmem">RLimitMEM</a></code></li>
+<li><code class="directive"><a href="#rlimitnproc">RLimitNPROC</a></code></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="RLimitMEM" id="RLimitMEM">RLimitMEM</a> <a name="rlimitmem" id="rlimitmem">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limite la mémoire allouée aux processus initiés par les
+processus enfants d'Apache</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RLimitMEM <var>octets</var>|max [<var>octets</var>|max]</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Non défini ; utilise les valeurs par défaut du système
+d'exploitation</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>All</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>Prend 1 ou 2 paramètres. Le premier definit la limite de
+ consommation de ressources pour tous les processus, et le second la
+ consommation de ressources maximale. Les deux paramètres peuvent
+ contenir soit un nombre, soit <code>max</code> pour indiquer au
+ serveur que la limite de consommation correspond à la valeur
+ maximale autorisée par la configuration du système d'exploitation.
+ Pour augmenter la consommation maximale de ressources, le serveur
+ doit s'exécuter en tant que <code>root</code>, ou se trouver dans sa
+ phase de démarrage.</p>
+
+ <p>Cette directive s'applique aux processus initiés par les
+ processus enfants d'Apache qui traitent les requêtes, et non aux
+ processus enfants eux-mêmes. Sont concernés les scripts CGI et les
+ commandes exec des SSI, mais en aucun cas les processus initiés par
+ le processus parent d'Apache comme les journalisations redirigées
+ vers un programme.</p>
+
+ <p>Les limites de ressources mémoire sont exprimées en octets par
+ processus.</p>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="directive"><a href="#rlimitcpu">RLimitCPU</a></code></li>
+<li><code class="directive"><a href="#rlimitnproc">RLimitNPROC</a></code></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="RLimitNPROC" id="RLimitNPROC">RLimitNPROC</a> <a name="rlimitnproc" id="rlimitnproc">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limite le nombre de processus qui peuvent être initiés par
+les processus initiés par les processus enfants d'Apache</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RLimitNPROC <var>nombre</var>|max [<var>nombre</var>|max]</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Unset; uses operating system defaults</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>All</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>Prend 1 ou 2 paramètres. Le premier definit la limite de
+ consommation de ressources pour tous les processus, et le second la
+ consommation de ressources maximale. Les deux paramètres peuvent
+ contenir soit un nombre, soit <code>max</code> pour indiquer au
+ serveur que la limite de consommation correspond à la valeur
+ maximale autorisée par la configuration du système d'exploitation.
+ Pour augmenter la consommation maximale de ressources, le serveur
+ doit s'exécuter en tant que <code>root</code>, ou se trouver dans sa
+ phase de démarrage.</p>
+
+ <p>Cette directive s'applique aux processus initiés par les
+ processus enfants d'Apache qui traitent les requêtes, et non aux
+ processus enfants eux-mêmes. Sont concernés les scripts CGI et les
+ commandes exec des SSI, mais en aucun cas les processus initiés par
+ le processus parent d'Apache comme les journalisations redirigées
+ vers un programme.</p>
+
+ <p>Les limites des processus contrôlent le nombre de processus par
+ utilisateur.</p>
+
+ <div class="note"><h3>Note</h3>
+ <p>Si les processus CGI s'exécutent sous le même
+ utilisateur que celui du serveur web, cette
+ directive va limiter le nombre de processus que le serveur
+ pourra lui-même créer. La présence de messages
+ <strong><code>cannot fork</code></strong> dans le journal des
+ erreurs indiquera que la limite est atteinte.</p>
+ </div>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="directive"><a href="#rlimitmem">RLimitMEM</a></code></li>
+<li><code class="directive"><a href="#rlimitcpu">RLimitCPU</a></code></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ScriptInterpreterSource" id="ScriptInterpreterSource">ScriptInterpreterSource</a> <a name="scriptinterpretersource" id="scriptinterpretersource">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Permet de localiser l'interpréteur des scripts
+CGI</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ScriptInterpreterSource Registry|Registry-Strict|Script</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ScriptInterpreterSource Script</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>FileInfo</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Win32 seulement ;
+l'option <code>Registry-Strict</code> est disponible dans les versions
+2.0 et supérieures d'Apache</td></tr>
+</table>
+ <p>Cette directive permet de contrôler la méthode qu'utilise Apache
+ pour trouver l'interpréteur destiné à exécuter les scripts CGI. La
+ définition par défaut est <code>Script</code> : ceci indique à
+ Apache qu'il doit utiliser l'interpréteur précisé dans la ligne
+ shebang du script (la première ligne, commençant par
+ <code>#!</code>). Sur les systèmes Win32, cette ligne ressemble
+ souvent à ceci :</p>
+
+ <div class="example"><p><code>
+ #!C:/Perl/bin/perl.exe
+ </code></p></div>
+
+ <p>ou simplement, dans le cas où <code>perl</code> est dans le
+ <code>PATH</code> :</p>
+
+ <div class="example"><p><code>
+ #!perl
+ </code></p></div>
+
+ <p>Avec <code>ScriptInterpreterSource Registry</code>, Windows va
+ effectuer une recherche dans l'arborescence
+ <code>HKEY_CLASSES_ROOT</code> de la base de registre avec comme
+ mot-clé l'extension du fichier contenant le script (par exemple
+ <code>.pl</code>). C'est la commande définie par la sous-clé de
+ registre <code>Shell\ExecCGI\Command</code> ou, si elle n'existe
+ pas, la sous-clé <code>Shell\Open\Command</code> qui est utilisée
+ pour ouvrir le fichier du script. Si ces clés de registre ne sont
+ pas trouvées, Apache utilise la méthode de l'option
+ <code>Script</code>.</p>
+
+ <div class="warning"><h3>Sécurité</h3>
+ <p>Soyez prudent si vous utilisez <code>ScriptInterpreterSource
+ Registry</code> avec des répertoires faisant l'objet d'un <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code>, car Apache va essayer
+ d'exécuter <strong>tous</strong> les fichiers contenus dans
+ celui-ci. L'option <code>Registry</code> peut causer des appels de
+ programmes non voulus sur des fichiers non destinés à être exécutés.
+ Par exemple, la commande par défaut open sur les fichiers
+ <code>.htm</code> sur la plupart des systèmes Windows va lancer
+ Microsoft Internet Explorer ; ainsi, toute requête HTTP pour un
+ fichier <code>.htm</code> situé dans le répertoire des scripts
+ va lancer le navigateur en arrière-plan sur le serveur, ce qui a
+ toutes les chances de crasher votre système dans les minutes qui
+ suivent.</p>
+ </div>
+
+ <p>L'option <code>Registry-Strict</code>, apparue avec Apache 2.0,
+ agit de manière identique à <code>Registry</code>, mais n'utilise
+ que la sous-clé <code>Shell\ExecCGI\Command</code>. La présence de
+ la clé <code>ExecCGI</code> n'étant pas systématique, Elle doit être
+ définie manuellement dans le registre Windows et évite ainsi tout
+ appel de programme accidentel sur votre système.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ServerAdmin" id="ServerAdmin">ServerAdmin</a> <a name="serveradmin" id="serveradmin">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'adresse électronique que le serveur inclut dans les
+messages d'erreur envoyés au client</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerAdmin <var>adresse électronique</var>|<var>URL</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>La directive <code class="directive">ServerAdmin</code> permet de définir
+ l'adresse de contact que le serveur va inclure dans tout message
+ d'erreur qu'il envoie au client. Si le programme <code>httpd</code>
+ ne reconnait pas l'argument fourni comme une URL, il suppose que
+ c'est une <var>adresse électronique</var>, et lui ajoute le préfixe
+ <code>mailto:</code> dans les cibles des hyperliens. Il est
+ cependant recommandé d'utiliser exclusivement une adresse
+ électronique, car de nombreux scripts CGI considèrent ceci comme
+ implicite. Si vous utilisez une URL, elle doit pointer vers un autre
+ serveur que vous contrôlez. Dans le cas contraire, les utilisateurs
+ seraient dans l'impossibilité de vous contacter en cas de problème.</p>
+
+ <p>Il peut s'avérer utile de définir une adresse dédiée à
+ l'administration du serveur, par exemple :</p>
+
+ <div class="example"><p><code>
+ ServerAdmin www-admin@foo.exemple.com
+ </code></p></div>
+ <p>car les utilisateurs ne mentionnent pas systématiquement le
+ serveur dont ils parlent !</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ServerAlias" id="ServerAlias">ServerAlias</a> <a name="serveralias" id="serveralias">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Autres noms d'un serveur utilisables pour atteindre des
+serveurs virtuels à base de nom</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerAlias <var>nom serveur</var> [<var>nom serveur</var>]
+...</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>La directive <code class="directive">ServerAlias</code> permet de définir
+ les noms alternatifs d'un serveur utilisables pour atteindre des <a href="../vhosts/name-based.html">serveurs virtuels à base de
+ nom</a>. La directive <code class="directive">ServerAlias</code> peut
+ contenir des caractères génériques, si nécessaire.</p>
+
+ <div class="example"><p><code>
+ <VirtualHost *:80><br />
+ ServerName serveur.domaine.com<br />
+ ServerAlias serveur serveur2.domaine.com serveur2<br />
+ ServerAlias *.exemple.com<br />
+ # ...<br />
+ </VirtualHost>
+ </code></p></div>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><a href="../vhosts/">Documentation sur les serveurs virtuels
+d'Apache</a></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ServerName" id="ServerName">ServerName</a> <a name="servername" id="servername">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom d'hôte et port que le serveur utilise pour
+s'authentifier lui-même</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerName [<var>protocole</var>://]<var>nom de domaine
+entièrement qualifié</var>[:<var>port</var>]</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Dans la version 2.0, cette directive remplace la
+fonctionnalité de la directive <code class="directive">Port</code> de la version
+1.3.</td></tr>
+</table>
+ <p>La directive <code class="directive">ServerName</code> permet de définir
+ les protocole, nom d'hôte et port d'une requête que le serveur
+ utilise pour s'authentifier lui-même. Ceci est utile lors de la
+ création de redirections d'URLs. Par exemple, si le nom de la
+ machine hébergeant le serveur web est
+ <code>simple.exemple.com</code>, la machine possède l'alias
+ DNS <code>www.exemple.com</code>, et si vous voulez que le serveur
+ web s'identifie avec cet alias, vous devez utilisez la définition
+ suivante :</p>
+
+ <div class="example"><p><code>
+ ServerName www.exemple.com:80
+ </code></p></div>
+
+ <p>Si la directive <code class="directive">ServerName</code> n'est pas
+ définie, le serveur tente de déterminer le nom d'hôte en effectuant
+ une recherche DNS inverse sur son adresse IP. Si la directive
+ <code class="directive">ServerName</code> ne précise pas de port, le serveur
+ utilisera celui de la requête entrante. Il est recommandé de
+ spécifier un nom d'hôte et un port spécifiques à l'aide de la
+ directive <code class="directive">ServerName</code> pour une fiabilité
+ optimale et à titre préventif.</p>
+
+ <p>Si vous définissez des <a href="../vhosts/name-based.html">serveurs virtuels à base de
+ nom</a>, une directive <code class="directive">ServerName</code> située à
+ l'intérieur d'une section <code class="directive"><a href="#virtualhost"><VirtualHost></a></code> spécifiera quel nom d'hôte
+ doit apparaître dans l'en-tête de requête <code>Host:</code> pour
+ pouvoir atteindre ce serveur virtuel.</p>
+
+
+ <p>Parfois, le serveur s'exécute en amont d'un dispositif qui
+ implémente SSL, comme un mandataire inverse, un répartiteur de
+ charge ou un boîtier dédié SSL. Dans ce cas, spécifiez le protocole
+ <code>https://</code> et le port auquel les clients se connectent
+ dans la directive <code class="directive">ServerName</code>, afin de
+ s'assurer que le serveur génère correctement ses URLs
+ d'auto-identification.
+ </p>
+
+ <p>Voir la description des directives <code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code> et <code class="directive"><a href="#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></code> pour les
+ définitions qui permettent de déterminer si les URLs
+ auto-identifiantes (par exemple via le module
+ <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code>) vont faire référence au port spécifié, ou
+ au port indiqué dans la requête du client.
+ </p>
+
+
+<h3>Voir aussi</h3>
+<ul>
+<li><a href="../dns-caveats.html">Problèmes concernant le DNS et
+Apache</a></li>
+<li><a href="../vhosts/">Documentation sur les serveurs virtuels
+d'Apache</a></li>
+<li><code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code></li>
+<li><code class="directive"><a href="#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></code></li>
+<li><code class="directive"><a href="#namevirtualhost">NameVirtualHost</a></code></li>
+<li><code class="directive"><a href="#serveralias">ServerAlias</a></code></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ServerPath" id="ServerPath">ServerPath</a> <a name="serverpath" id="serverpath">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom de chemin d'URL hérité pour un serveur virtuel à base
+de nom accédé par un navigateur incompatible</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerPath <var>chemin d'URL</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>La directive <code class="directive">ServerPath</code> permet de définir
+ le nom de chemin d'URL hérité d'un hôte, à utiliser avec les <a href="../vhosts/">serveurs virtuels à base de nom</a>.</p>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><a href="../vhosts/">Documentation sur les serveurs virtuels
+d'Apache</a></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ServerRoot" id="ServerRoot">ServerRoot</a> <a name="serverroot" id="serverroot">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Racine du répertoire d'installation du
+serveur</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerRoot <var>chemin de répertoire</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ServerRoot /usr/local/apache</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>La directive <code class="directive">ServerRoot</code> permet de définir
+ le répertoire dans lequel le serveur est installé. En particulier,
+ il contiendra les sous-répertoires <code>conf/</code> et
+ <code>logs/</code>. Les chemins relatifs indiqués dans les autres
+ directives (comme <code class="directive"><a href="#include">Include</a></code> ou <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code>) seront définis par
+ rapport à ce répertoire.</p>
+
+ <div class="example"><h3>Example</h3><p><code>
+ ServerRoot /home/httpd
+ </code></p></div>
+
+
+<h3>Voir aussi</h3>
+<ul>
+<li><a href="../invoking.html">the <code>-d</code>
+ options de <code>httpd</code></a></li>
+<li><a href="../misc/security_tips.html#serverroot">les conseils à
+propos de sécurité</a> pour des informations sur la manière de définir
+correctement les permissions sur le répertoire indiqué par la directive
+<code class="directive">ServerRoot</code></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ServerSignature" id="ServerSignature">ServerSignature</a> <a name="serversignature" id="serversignature">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit un pied de page pour les documents générés par le
+serveur</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerSignature On|Off|EMail</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ServerSignature Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>All</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>La directive <code class="directive">ServerSignature</code> permet de
+ définir une ligne de pied de page fixe pour les documents générés
+ par le serveur (messages d'erreur, listings de répertoires ftp de
+ <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, sorties de <code class="module"><a href="../mod/mod_info.html">mod_info</a></code>,
+ etc...). Dans le cas d'une chaîne de mandataires, l'utilisateur n'a
+ souvent aucun moyen de déterminer lequel des mandataires chaînés a
+ généré un message d'erreur, et c'est une des raisons pour lesquelles
+ on peut être amené à ajouter un tel pied de page.</p>
+
+ <p>La valeur par défaut <code>Off</code> supprime la ligne de pied
+ de page (et est ainsi compatible avec le comportement des
+ versions 1.2 et antérieures d'Apache). la valeur <code>On</code>
+ ajoute simplement une ligne contenant le numéro de version du
+ serveur ainsi que le nom du serveur virtuel issu de la directive
+ <code class="directive"><a href="#servername">ServerName</a></code>, alors que la valeur
+ <code>EMail</code> ajoute en plus une référence "mailto:" à
+ l'administrateur du document référencé issu la directive
+ <code class="directive"><a href="#serveradmin">ServerAdmin</a></code>.</p>
+
+ <p>Après la version 2.0.44, les détails à propos du numéro de
+ version du serveur sont contrôlés à l'aide de la directive
+ <code class="directive"><a href="#servertokens">ServerTokens</a></code>.</p>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="directive"><a href="#servertokens">ServerTokens</a></code></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="ServerTokens" id="ServerTokens">ServerTokens</a> <a name="servertokens" id="servertokens">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure l'en-tête <code>Server</code> de la réponse
+HTTP</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ServerTokens Full</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>Cette directive permet de contrôler le contenu de l'en-tête
+ <code>Server</code> inclus dans la réponse envoyée au client : cet
+ en-tête peut contenir le type de système d'exploitation du serveur,
+ ainsi que des informations à propos des modules compilés avec le
+ serveur.</p>
+
+ <dl>
+ <dt><code>ServerTokens Prod[uctOnly]</code></dt>
+
+ <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server:
+ Apache</code></dd>
+
+ <dt><code>ServerTokens Major</code></dt>
+
+ <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server:
+ Apache/2</code></dd>
+
+ <dt><code>ServerTokens Minor</code></dt>
+
+ <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server:
+ Apache/2.0</code></dd>
+
+ <dt><code>ServerTokens Min[imal]</code></dt>
+
+ <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server:
+ Apache/2.0.41</code></dd>
+
+ <dt><code>ServerTokens OS</code></dt>
+
+ <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server:
+ Apache/2.0.41 (Unix)</code></dd>
+
+ <dt><code>ServerTokens Full</code> (valeur par défaut)</dt>
+
+ <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server:
+ Apache/2.0.41 (Unix) PHP/4.2.2 MyMod/1.2</code></dd>
+ </dl>
+
+ <p>Cette définition s'applique à l'ensemble du serveur et ne peut
+ être activée ou désactivée pour tel ou tel serveur virtuel.</p>
+
+ <p>Dans les versions postérieures à 2.0.44, cette directive contrôle
+ aussi les informations fournies par la directive <code class="directive"><a href="#serversignature">ServerSignature</a></code>.</p>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="directive"><a href="#serversignature">ServerSignature</a></code></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="SetHandler" id="SetHandler">SetHandler</a> <a name="sethandler" id="sethandler">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Force le traitement des fichiers spécifiés par un
+gestionnaire particulier</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SetHandler <var>nom gestionnaire</var>|None</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>FileInfo</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Intégré dans le noyau d'Apache depuis la version
+2.0</td></tr>
+</table>
+ <p>Lorsqu'elle se situe à l'intérieur d'un fichier
+ <code>.htaccess</code>, ou d'une section <code class="directive"><a href="#directory"><Directory></a></code> ou <code class="directive"><a href="#location"><Location></a></code>, cette directive force le
+ traitement de tous les fichiers spécifiés par le <a href="../handler.html">gestionnaire</a> défini par l'argument
+ <var>nom gestionnaire</var>. Par exemple, dans le cas d'un
+ répertoire dont vous voulez interpréter le contenu comme des
+ fichiers de règles d'images cliquables, sans tenir compte des
+ extensions, vous pouvez ajouter la ligne suivante dans un fichier
+ <code>.htaccess</code> de ce répertoire :</p>
+
+ <div class="example"><p><code>
+ SetHandler imap-file
+ </code></p></div>
+
+ <p>Autre exemple : si vous voulez que le serveur affiche un
+ compte-rendu d'état chaque fois qu'une URL du type <code>http://nom
+ serveur/status</code> est appelée, vous pouvez ajouter ceci dans
+ <code>httpd.conf</code> :</p>
+
+ <div class="example"><p><code>
+ <Location /status><br />
+ <span class="indent">
+ SetHandler server-status<br />
+ </span>
+ </Location>
+ </code></p></div>
+
+ <p>Vous pouvez écraser la définition antérieure d'une directive
+ <code class="directive">SetHandler</code> en utilisant la valeur
+ <code>None</code>.</p>
+ <p><strong>Note :</strong> comme SetHandler l'emporte sur la
+ définition des gestionnaires par défaut, le comportement habituel
+ consistant à traiter les URLs se terminant par un slash (/) comme
+ des répertoires ou des fichiers index est désactivé.</p>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="SetInputFilter" id="SetInputFilter">SetInputFilter</a> <a name="setinputfilter" id="setinputfilter">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit les filtres par lesquels vont passer les requêtes
+client et les données POST</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SetInputFilter <var>filtre</var>[;<var>filtre</var>...]</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>FileInfo</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>La directive <code class="directive">SetInputFilter</code> permet de
+ définir le ou les filtres par lesquels vont passer les requêtes
+ client et les données POST au moment où le serveur les reçoit. Cette
+ définition vient en ajout à tout autre filtre défini en
+ quelqu'endroit que ce soit, y compris via la directive <code class="directive"><a href="../mod/mod_mime.html#addinputfilter">AddInputFilter</a></code>.</p>
+
+ <p>Si la directive comporte plusieurs filtres, ils doivent être
+ séparés par des points-virgules, et spécifiés selon l'ordre dans
+ lequel vous souhaitez les voir agir sur les contenus.</p>
+
+<h3>Voir aussi</h3>
+<ul>
+<li>documentation des <a href="../filter.html">Filtres</a></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="SetOutputFilter" id="SetOutputFilter">SetOutputFilter</a> <a name="setoutputfilter" id="setoutputfilter">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit les filtres par lesquels vont passer les réponses
+du serveur</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SetOutputFilter <var>filtre</var>[;<var>filtre</var>...]</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
+<tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>FileInfo</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>La directive <code class="directive">SetOutputFilter</code> permet de
+ définir les filtres par lesquels vont passer les réponses du serveur
+ avant d'être envoyées au client. Cette définition vient en ajout à
+ tout autre filtre défini en quelqu'endroit que ce soit, y compris
+ via la directive <code class="directive"><a href="../mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code>.</p>
+
+ <p>Par exemple, la configuration suivante va traiter tous les
+ fichiers du répertoire <code>/www/data/</code> comme des inclusions
+ côté serveur (SSI) :</p>
+
+ <div class="example"><p><code>
+ <Directory /www/data/><br />
+ <span class="indent">
+ SetOutputFilter INCLUDES<br />
+ </span>
+ </Directory>
+ </code></p></div>
+
+ <p>Si la directive comporte plusieurs filtres, ils doivent être
+ séparés par des points-virgules, et spécifiés selon l'ordre dans
+ lequel vous souhaitez les voir agir sur les contenus.</p>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><a href="../filter.html">Filters</a> documentation</li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="TimeOut" id="TimeOut">TimeOut</a> <a name="timeout" id="timeout">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Temps pendant lequel le serveur va attendre certains
+évènements avant de considérer qu'une requête a échoué</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>TimeOut <var>secondes</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>TimeOut 300</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>La directive <code class="directive">TimeOut</code> permet de définir le
+ temps maximum pendant lequel Apache va attendre des entrées/sorties
+ selon les circonstances :</p>
+
+ <ol>
+ <li>Lors de la lecture de données en provenance du client, le
+ temps maximum jusqu'à l'arrivée d'un paquet TCP si le tampon est
+ vide.</li>
+
+ <li>Lors de l'écriture de données destinées au client, le temps
+ maximum jusqu'à l'arrivée de l'accusé-réception d'un paquet si le
+ tampon d'envoi est plein.</li>
+
+ <li>Avec <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>, le temps d'attente maximum des
+ sorties d'un script CGI.</li>
+
+ <li>Avec <code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code>, le temps d'attente
+ maximum des sorties d'un processus de filtrage.</li>
+
+ <li>Avec <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, la valeur du délai par défaut
+ si <code class="directive"><a href="../mod/mod_proxy.html#proxytimeout">ProxyTimeout</a></code> n'est
+ pas défini.</li>
+ </ol>
+
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="TraceEnable" id="TraceEnable">TraceEnable</a> <a name="traceenable" id="traceenable">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine le comportement des requêtes
+<code>TRACE</code></td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>TraceEnable <var>[on|off|extended]</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>TraceEnable on</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible dans les versions 1.3.34, 2.0.55 et
+supérieures d'Apache</td></tr>
+</table>
+ <p>Cette directive l'emporte sur le comportement de
+ <code>TRACE</code> pour le noyau du serveur et
+ <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. La définition par défaut
+ <code>TraceEnable on</code> permet des requêtes <code>TRACE</code>
+ selon la RFC 2616, qui interdit d'ajouter tout corps à la requête.
+ La définition <code>TraceEnable off</code> indique au noyau du
+ serveur et à <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> de retourner un code
+ d'erreur <code>405</code> (Méthode non autorisée) au client.</p>
+
+ <p>En fait, et à des fins de test et de diagnostic seulement, on
+ peut autoriser l'ajout d'un corps de requête à l'aide de la
+ définition non standard <code>TraceEnable extended</code>. Le noyau
+ du serveur (dans le cas d'un serveur d'origine) va limiter la taille
+ du corps de requête à 64k (plus 8k pour les en-têtes de
+ fractionnement si <code>Transfer-Encoding: chunked</code> est
+ utilisé). Le noyau du serveur va reproduire l'ensemble des en-têtes,
+ y compris les en-têtes de fractionnement avec le corps de la
+ réponse. Dans le cas d'un serveur mandataire, la taille du corps de
+ requête n'est pas limitée à 64k.</p>
+
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="UseCanonicalName" id="UseCanonicalName">UseCanonicalName</a> <a name="usecanonicalname" id="usecanonicalname">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la manière dont le serveur détermine son propre nom
+et son port</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>UseCanonicalName On|Off|DNS</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>UseCanonicalName Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>Dans de nombreuses situations, Apache doit construire une URL
+ <em>auto-identifiante</em> -- c'est à dire une URL qui fait
+ référence au serveur lui-même. Avec <code>UseCanonicalName
+ On</code>, Apache va utiliser le nom d'hôte et le port spécifiés par
+ la directive <code class="directive"><a href="#servername">ServerName</a></code> pour
+ construire le nom canonique du serveur. Ce nom est utilisé dans
+ toutes les URLs auto-identifiantes, et affecté aux variables
+ <code>SERVER_NAME</code> et <code>SERVER_PORT</code> dans les
+ programmes CGI.</p>
+
+ <p>Avec <code>UseCanonicalName Off</code>, Apache va construire ses
+ URLs auto-identifiantes à l'aide du nom d'hôte et du port fournis
+ par le client, si ce dernier en a fourni un (dans la négative,
+ Apache utilisera le nom canonique, de la même manière que
+ ci-dessus). Ces valeurs sont les mêmes que celles qui sont utilisées
+ pour implémenter les <a href="../vhosts/name-based.html">serveurs virtuels à base de
+ nom</a>, et sont disponibles avec les mêmes clients. De même, les
+ variables CGI <code>SERVER_NAME</code> et <code>SERVER_PORT</code>
+ seront affectées des valeurs fournies par le client.</p>
+
+ <p>Cette directive peut s'avérer utile, par exemple, sur un serveur
+ intranet auquel les utilisateurs se connectent en utilisant des noms
+ courts tels que <code>www</code>. Si les utilisateurs tapent un nom
+ court suivi d'une URL qui fait référence à un répertoire, comme
+ <code>http://www/splat</code>, <em>sans le slash terminal</em>, vous
+ remarquerez qu'Apache va les rediriger vers
+ <code>http://www.domain.com/splat/</code>. Si vous avez activé
+ l'authentification, ceci va obliger l'utilisateur à s'authentifier
+ deux fois (une première fois pour <code>www</code> et une seconde
+ fois pour <code>www.domain.com</code> -- voir <a href="http://httpd.apache.org/docs/misc/FAQ.html#prompted-twice">la
+ foire aux questions sur ce sujet pour plus d'informations</a>). Par
+ contre, si <code class="directive">UseCanonicalName</code> est définie à
+ <code>Off</code>, Apache redirigera l'utilisateur vers
+ <code>http://www/splat/</code>.</p>
+
+ <p>Pour l'hébergement virtuel en masse à base d'adresse IP, on
+ utilise une troisième option, <code>UseCanonicalName
+ DNS</code>, pour supporter les clients anciens qui ne
+ fournissent pas d'en-tête <code>Host:</code>. Apache effectue alors
+ une recherche DNS inverse sur l'adresse IP du serveur auquel le
+ client s'est connecté afin de construire ses URLs
+ auto-identifiantes.</p>
+
+ <div class="warning"><h3>Avertissement</h3>
+ <p>Les programmes CGI risquent d'être perturbés par cette option
+ s'ils tiennent compte de la variable <code>SERVER_NAME</code>. Le
+ client est pratiquement libre de fournir la valeur qu'il veut comme
+ nom d'hôte. Mais si le programme CGI n'utilise
+ <code>SERVER_NAME</code> que pour construire des URLs
+ auto-identifiantes, il ne devrait pas y avoir de problème.</p>
+ </div>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="directive"><a href="#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></code></li>
+<li><code class="directive"><a href="#servername">ServerName</a></code></li>
+<li><code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="UseCanonicalPhysicalPort" id="UseCanonicalPhysicalPort">UseCanonicalPhysicalPort</a> <a name="usecanonicalphysicalport" id="usecanonicalphysicalport">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la manière dont le serveur détermine son propre nom
+et son port</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>UseCanonicalPhysicalPort On|Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>UseCanonicalPhysicalPort Off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>Dans de nombreuses situations, Apache doit construire une URL
+ <em>auto-identifiante</em> -- c'est à dire une URL qui fait
+ référence au serveur lui-même. Avec <code>UseCanonicalPhysicalPort
+ On</code>, Apache va fournir le numéro de port physique réel utilisé
+ par la requête en tant que port potentiel, pour construire le port
+ canonique afin que le serveur puisse alimenter la directive
+ <code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code>. Avec
+ <code>UseCanonicalPhysicalPort Off</code>, Apache n'utilisera pas le
+ numéro de port physique réel, mais au contraire se référera aux
+ informations de configuration pour construire un numéro de port
+ valide.</p>
+
+ <div class="note"><h3>Note</h3>
+ <p>L'ordre dans lequel s'effectue la recherche du port est le
+ suivant :<br /><br />
+ <code>UseCanonicalName On</code></p>
+ <ul>
+ <li>Port spécifié par <code>Servername</code></li>
+ <li>Port physique</li>
+ <li>Port par défaut</li>
+ </ul>
+ <code>UseCanonicalName Off | DNS</code>
+ <ul>
+ <li>Port spécifié dans l'en-tête <code>Host:</code></li>
+ <li>Port physique</li>
+ <li>Port spécifié par <code>Servername</code></li>
+ <li>Port par défaut</li>
+ </ul>
+
+ <p>Avec <code>UseCanonicalPhysicalPort Off</code>, on reprend
+ l'ordre ci-dessus en supprimant "Port physique".</p>
+ </div>
+
+
+<h3>Voir aussi</h3>
+<ul>
+<li><code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code></li>
+<li><code class="directive"><a href="#servername">ServerName</a></code></li>
+<li><code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code></li>
+</ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="VirtualHost" id="VirtualHost"><VirtualHost></a> <a name="virtualhost" id="virtualhost">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des directives qui ne s'appliquent qu'à un nom
+d'hôte spécifique ou à une adresse IP</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><VirtualHost
+ <var>adresse IP</var>[:<var>port</var>] [<var>adresse
+ IP</var>[:<var>port</var>]] ...> ...
+ </VirtualHost></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
+</table>
+ <p>Les balises <code class="directive"><VirtualHost></code> et
+ <code></VirtualHost></code> permettent de rassembler un groupe
+ de directives qui ne s'appliquent qu'à un serveur virtuel
+ particulier. Toute directive autorisée dans un contexte de serveur
+ virtuel peut être utilisée. Lorsque le serveur reçoit un requête
+ pour un document hébergé par un serveur virtuel particulier, il
+ applique les directives de configuration rassemblées dans la section
+ <code class="directive"><VirtualHost></code>. <var>adresse
+ IP</var> peut être :</p>
+
+ <ul>
+ <li>L'adresse IP du serveur virtuel ;</li>
+
+ <li>Un nom de domaine entièrement qualifié correspondant à
+ l'adresse IP du serveur virtuel (non recommandé) ;</li>
+
+ <li>Le caractère <code>*</code>, qui n'est utilisé qu'en
+ combinaison avec <code>NameVirtualHost *</code> pour intercepter
+ toutes les adresses IP ; ou</li>
+
+ <li>La chaîne de caractères <code>_default_</code>, qui n'est
+ utilisée qu'avec l'hébergement virtuel à base d'adresse IP pour
+ intercepter les adresses IP qui ne correspondent à aucun serveur
+ virtuel.</li>
+ </ul>
+
+ <div class="example"><h3>Exemple</h3><p><code>
+ <VirtualHost 10.1.2.3><br />
+ <span class="indent">
+ ServerAdmin webmaster@host.exemple.com<br />
+ DocumentRoot /www/docs/host.exemple.com<br />
+ ServerName host.exemple.com<br />
+ ErrorLog logs/host.exemple.com-error_log<br />
+ TransferLog logs/host.exemple.com-access_log<br />
+ </span>
+ </VirtualHost>
+ </code></p></div>
+
+
+ <p>Les adresses IPv6 doivent être entourées de crochets car dans le
+ cas contraire, un éventuel port optionnel ne pourrait pas être
+ déterminé. Voici un exemple de serveur virtuel avec adresse IPv6
+ :</p>
+
+ <div class="example"><p><code>
+ <VirtualHost [2001:db8::a00:20ff:fea7:ccea]><br />
+ <span class="indent">
+ ServerAdmin webmaster@host.exemple.com<br />
+ DocumentRoot /www/docs/host.exemple.com<br />
+ ServerName host.exemple.com<br />
+ ErrorLog logs/host.exemple.com-error_log<br />
+ TransferLog logs/host.exemple.com-access_log<br />
+ </span>
+ </VirtualHost>
+ </code></p></div>
+
+ <p>Chaque serveur virtuel doit correspondre à une adresse IP, un
+ port ou un nom d'hôte spécifique ; dans le premier cas, le serveur
+ doit être configuré pour recevoir les paquets IP de plusieurs
+ adresses (si le serveur n'a qu'une interface réseau, on peut
+ utiliser à cet effet la commande <code>ifconfig alias</code> -- si
+ votre système d'exploitation le permet).</p>
+
+ <div class="note"><h3>Note</h3>
+ <p>L'utilisation de la directive <code class="directive"><VirtualHost></code> n'affecte en rien les
+ adresses IP sur lesquelles Apache est en écoute. Vous devez vous
+ assurer que les adresses des serveurs virtuels sont bien incluses
+ dans la liste des adresses précisées par la directive <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code>.</p>
+ </div>
+
+ <p>Avec l'hébergement virtuel à base d'adresse IP, on peut utiliser
+ le nom spécial <code>_default_</code>, auquel cas le serveur virtuel
+ considéré interceptera toute adresse IP qui n'est pas explicitement
+ associée à un autre serveur virtuel. En l'absence de serveur virtuel
+ associé à <code>_default_</code>, et si l'adresse IP demandée ne
+ correspond à aucun serveur virtuel, c'est la configuration du
+ serveur "principal" qui sera utilisée, c'est à dire l'ensemble des
+ définitions situées en dehors de toute section VirtualHost.</p>
+
+ <p>Vous pouvez spécifier <code>:port</code> pour modifier le port du
+ serveur virtuel. S'il n'est pas spécifié, sa valeur par défaut
+ correspond à celle qui est définie par la dernière directive
+ <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code> du serveur
+ principal. Vous pouvez aussi spécifier <code>:*</code> pour accepter
+ tous les ports associés à l'adresse du serveur virtuel (c'est une
+ configuration recommandée lorsqu'on utilise
+ <code>_default_</code>).</p>
+
+ <p>Tout bloc <code class="directive"><VirtualHost></code> doit comporter une directive
+ <code class="directive"><a href="#servername">ServerName</a></code>. Dans le cas
+ contraire, le serveur virtuel héritera de la valeur de la directive
+ <code class="directive"><a href="#servername">ServerName</a></code> issue de la
+ configuration du serveur principal.</p>
+
+ <div class="warning"><h3>Sécurité</h3>
+ <p>Voir le document sur les <a href="../misc/security_tips.html">conseils à propos de sécurité</a>
+ pour une description détaillée des raisons pour lesquelles la
+ sécurité de votre serveur pourrait être compromise, si le répertoire
+ contenant les fichiers journaux est inscriptible par tout autre
+ utilisateur que celui qui démarre le serveur.</p>
+ </div>
+
+<h3>Voir aussi</h3>
+<ul>
+<li><a href="../vhosts/">Documentation des serveurs virtuels
+d'Apache</a></li>
+<li><a href="../dns-caveats.html">Problèmes concernant DNS et
+Apache</a></li>
+<li><a href="../bind.html">Définition des adresses et ports
+qu'utilise Apache</a></li>
+<li><a href="../sections.html">Comment fonctionnent les sections
+<Directory>, <Location> et <Files></a> pour une
+explication de la manière dont ces différentes sections se combinent
+entre elles à la réception d'une requête</li>
+</ul>
+</div>
+</div>
+<div class="bottomlang">
+<p><span>Langues Disponibles: </span><a href="../de/mod/core.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
+<a href="../en/mod/core.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../fr/mod/core.html" title="Français"> fr </a> |
+<a href="../ja/mod/core.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
+<a href="../tr/mod/core.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+</div><div id="footer">
+<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div>
+</body></html>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0"?>
+<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
+<!-- English Revision : 780016 -->
+<!-- French translation : Lucien GENTIS -->
+<!-- Reviewed by : Vincent Deffontaines -->
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<modulesynopsis metafile="core.xml.meta">
+
+<name>core</name>
+<description>Fonctionnalités de base du serveur HTTP Apache toujours
+disponibles</description>
+<status>Core</status>
+
+<directivesynopsis>
+<name>AcceptFilter</name>
+<description>Permet d'optimiser la configuration d'une socket pour
+l'écoute d'un protocole</description>
+<syntax>AcceptFilter <var>protocole</var> <var>filtre
+d'acceptation</var></syntax>
+<contextlist><context>server config</context></contextlist>
+<compatibility>Disponible depuis la version 2.3.3 sous Windows et 2.1.5
+sur les autres plates-formes.</compatibility>
+
+<usage>
+ <p>Cette directive permet d'effectuer une optimisation de la socket
+ d'écoute d'un type de protocole en fonction du système
+ d'exploitation. Le but premier est de faire en sorte que le noyau
+ n'envoie pas de socket au processus du serveur jusqu'à ce que
+ des données soient reçues, ou qu'une requête HTTP complète soit mise
+ en tampon. Seuls les <a
+ href="http://www.freebsd.org/cgi/man.cgi?query=accept_filter&
+ sektion=9">Filtres d'acceptation de FreeBSD</a>, le filtre plus
+ primitif <code>TCP_DEFER_ACCEPT</code> sous Linux, et la version
+ optimisée d'AcceptEx() de Windows sont actuellement supportés.</p>
+
+ <p>L'utilisation de l'argument <code>none</code> va désactiver tout
+ filtre d'acceptation pour ce protocole. Ceci s'avère utile pour les
+ protocoles qui nécessitent l'envoi de données par le serveur en
+ premier, comme <code>ftp:</code> ou <code>nntp</code>:</p>
+ <example>AcceptFilter nntp none</example>
+
+ <p>Sous FreeBSD, les valeurs par défaut sont :</p>
+ <example>
+ AcceptFilter http httpready <br/>
+ AcceptFilter https dataready
+ </example>
+
+ <p>Le filtre d'acceptation <code>httpready</code> met en tampon des
+ requêtes HTTP entières au niveau du noyau. Quand une requête
+ entière a été reçue, le noyau l'envoie au serveur. Voir la page de
+ manuel de <a
+ href="http://www.freebsd.org/cgi/man.cgi?query=accf_http&
+ sektion=9">accf_http(9)</a> pour plus de détails. Comme les requêtes
+ HTTPS sont chiffrées, celles-ci n'autorisent que le filtre <a
+ href="http://www.freebsd.org/cgi/man.cgi?query=accf_data&
+ sektion=9">accf_data(9)</a>.</p>
+
+ <p>Sous Linux, les valeurs par défaut sont :</p>
+ <example>
+ AcceptFilter http data <br/>
+ AcceptFilter https data
+ </example>
+
+ <p>Le filtre <code>TCP_DEFER_ACCEPT</code> de Linux ne supporte pas
+ la mise en tampon des requêtes http. Toute valeur autre que
+ <code>none</code> active le filtre <code>TCP_DEFER_ACCEPT</code>
+ pour ce protocole. Pour plus de détails, voir la page de
+ manuel Linux de <a
+ href="http://homepages.cwi.nl/~aeb/linux/man2html/man7/
+ tcp.7.html">tcp(7)</a>.</p>
+
+ <p>Sous Windows, les valeurs par défaut sont :</p>
+ <example>
+ AcceptFilter http data <br/>
+ AcceptFilter https data
+ </example>
+
+ <p>Le module MPM pour Windows mpm_winnt utilise la directive
+ AcceptFilter comme commutateur de l'API AcceptEx(), et ne supporte
+ pas la mise en tampon du protocole http. Deux valeurs utilisent
+ l'API Windows AcceptEx() et vont recycler les sockets réseau entre
+ les connexions. <code>data</code> attend jusqu'à ce que les données
+ aient été transmises comme décrit plus haut, et le tampon de données
+ initiales ainsi que les adresses réseau finales sont tous extraits
+ grâce à une seule invocation d'AcceptEx(). <code>connect</code>
+ utilise l'API AcceptEx(), extrait aussi les adresses réseau finales,
+ mais à l'instar de <code>none</code>, la valeur <code>connect</code>
+ n'attend pas la transmission des données initiales.</p>
+
+ <p>Sous Windows, <code>none</code> utilise accept() au lieu
+ d'AcceptEx(), et ne recycle pas les sockets entre les connexions.
+ Ceci s'avère utile pour les interfaces réseau dont le pilote est
+ défectueux, ainsi que pour certains fournisseurs de réseau comme les
+ pilotes vpn, ou les filtres anti-spam, anti-virus ou
+ anti-spyware.</p>
+
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>AcceptPathInfo</name>
+<description>Les ressources acceptent des informations sous forme d'un
+nom de chemin en fin de requête.</description>
+<syntax>AcceptPathInfo On|Off|Default</syntax>
+<default>AcceptPathInfo Default</default>
+<contextlist><context>server config</context>
+<context>virtual host</context><context>directory</context>
+<context>.htaccess</context></contextlist>
+<override>FileInfo</override>
+<compatibility>Disponible dans Apache version 2.0.30 et
+supérieures</compatibility>
+
+<usage>
+
+ <p>Cette directive permet de définir si les requêtes contenant des
+ informations sous forme d'un nom de chemin suivant le nom d'un
+ fichier réel (ou un fichier qui n'existe pas dans un répertoire qui
+ existe) doivent être acceptées ou rejetées. Les scripts peuvent
+ accéder à cette information via la variable d'environnement
+ <code>PATH_INFO</code>.</p>
+
+ <p>Supposons par exemple que <code>/test/</code> pointe vers un
+ répertoire qui ne contient que le fichier <code>here.html</code>.
+ Les requêtes pour <code>/test/here.html/more</code> et
+ <code>/test/nothere.html/more</code> vont affecter la valeur
+ <code>/more</code> à la variable d'environnement
+ <code>PATH_INFO</code>.</p>
+
+ <p>L'argument de la directive <directive>AcceptPathInfo</directive>
+ possède trois valeurs possibles :</p>
+ <dl>
+ <dt><code>Off</code></dt><dd>Une requête ne sera acceptée que si
+ elle correspond à un chemin qui existe. Par conséquent, une requête
+ contenant une information de chemin après le nom de fichier réel
+ comme <code>/test/here.html/more</code> dans l'exemple ci-dessus
+ renverra une erreur "404 NOT FOUND".</dd>
+
+ <dt><code>On</code></dt><dd>Une requête sera acceptée si la partie
+ principale du chemin correspond à un fichier existant. Dans
+ l'exemple ci-dessus <code>/test/here.html/more</code>, la requête
+ sera acceptée si <code>/test/here.html</code> correspond à un nom de
+ fichier valide.</dd>
+
+ <dt><code>Default</code></dt><dd>Le traitement des requêtes est
+ déterminé par le <a
+ href="../handler.html">gestionnaire</a> responsable de la requête.
+ Le gestionnaire de base pour les fichiers normaux rejette par défaut
+ les requêtes avec <code>PATH_INFO</code>. Les gestionnaires qui
+ servent des scripts, comme<a
+ href="mod_cgi.html">cgi-script</a> et <a
+ href="mod_isapi.html">isapi-handler</a>, acceptent en général par
+ défaut les requêtes avec <code>PATH_INFO</code>.</dd>
+ </dl>
+
+ <p>Le but premier de la directive <code>AcceptPathInfo</code> est de
+ vous permettre de remplacer le choix du gestionnaire d'accepter ou
+ de rejeter <code>PATH_INFO</code>. Ce remplacement est nécessaire
+ par exemple, lorsque vous utilisez un <a
+ href="../filter.html">filtre</a>, comme <a
+ href="mod_include.html">INCLUDES</a>, pour générer un contenu basé
+ sur <code>PATH_INFO</code>. Le gestionnaire de base va en général
+ rejeter la requête, et vous pouvez utiliser la configuration
+ suivante pour utiliser un tel script :</p>
+
+ <example>
+ <Files "mes-chemins.shtml"><br />
+ <indent>
+ Options +Includes<br />
+ SetOutputFilter INCLUDES<br />
+ AcceptPathInfo On<br />
+ </indent>
+ </Files>
+ </example>
+
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>AccessFileName</name>
+<description>Nom du fichier de configuration distribué</description>
+<syntax>AccessFileName <var>nom-du-fichier</var>
+[<var>nom-du-fichier</var>] ...</syntax>
+<default>AccessFileName .htaccess</default>
+<contextlist><context>server config</context><context>virtual
+host</context>
+</contextlist>
+
+<usage>
+ <p>Au cours du traitement d'une requête, le serveur recherche le
+ premier fichier de configuration existant à partir de la liste
+ de noms dans chaque répertoire composant le chemin du document, à
+ partir du moment où les fichiers de configuration distribués sont <a
+ href="#allowoverride">activés pour ce répertoire</a>. Par exemple
+ :</p>
+
+ <example>
+ AccessFileName .acl
+ </example>
+
+ <p>avant de renvoyer le document
+ <code>/usr/local/web/index.html</code>, le serveur va rechercher les
+ fichiers <code>/.acl</code>, <code>/usr/.acl</code>,
+ <code>/usr/local/.acl</code> et <code>/usr/local/web/.acl</code>
+ pour y lire d'éventuelles directives, à moins quelles n'aient été
+ désactivées avec</p>
+
+ <example>
+ <Directory /><br />
+ <indent>
+ AllowOverride None<br />
+ </indent>
+ </Directory>
+ </example>
+</usage>
+<seealso><directive module="core">AllowOverride</directive></seealso>
+<seealso><a href="../configuring.html">Fichiers de configuration</a></seealso>
+<seealso><a href="../howto/htaccess.html">Fichiers .htaccess</a></seealso>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>AddDefaultCharset</name>
+<description>Paramètre jeu de caractères par défaut à ajouter quand le
+type de contenu d'une réponse est <code>text/plain</code> ou
+<code>text/html</code></description>
+<syntax>AddDefaultCharset On|Off|<var>jeu de caractères</var></syntax>
+<default>AddDefaultCharset Off</default>
+<contextlist><context>server config</context>
+<context>virtual host</context><context>directory</context>
+<context>.htaccess</context></contextlist>
+<override>FileInfo</override>
+
+<usage>
+ <p>Cette directive spécifie une valeur par défaut pour le paramètre
+ jeu de caractères du type de média (le nom d'un codage de
+ caractères) à ajouter à une réponse, si et seulement si le type de
+ contenu de la réponse est soit <code>text/plain</code>, soit
+ <code>text/html</code>. Ceci va remplacer
+ tout jeu de caractères spécifié dans le corps de la réponse via un
+ élément <code>META</code>, bien que cet effet dépende en fait
+ souvent de la configuration du client de l'utilisateur. La
+ définition de <code>AddDefaultCharset Off</code> désactive cette
+ fonctionnalité. <code>AddDefaultCharset On</code> ajoute un jeu de
+ caractères par défaut de <code>iso-8859-1</code>. Toute autre valeur
+ peut être définie via le paramètre <var>jeu de caractères</var>, qui
+ doit appartenir à la liste des <a
+ href="http://www.iana.org/assignments/character-sets">valeurs de
+ jeux de caractères enregistrés par l'IANA</a> à utiliser dans les
+ types de média Internet (types MIME).
+ Par exemple :</p>
+
+ <example>
+ AddDefaultCharset utf-8
+ </example>
+
+ <p>La directive <directive>AddDefaultCharset</directive> ne doit
+ être utilisée que lorsque toutes les ressources textes auxquelles
+ elle s'applique possèdent le jeu de caractère spécifié, et qu'il est
+ trop contraignant de définir leur jeu de caractères
+ individuellement. Un exemple de ce type est l'ajout du paramètre jeu
+ de caractères aux ressources comportant un contenu généré, comme les
+ scripts CGI hérités qui peuvent être vulnérables à des attaques de
+ type cross-site scripting à cause des données utilisateurs incluses
+ dans leur sortie. Notez cependant qu'une meilleur solution consiste
+ à corriger (ou supprimer) ces scripts, car la définition d'un jeu de
+ caractères par défaut ne protège pas les utilisateurs qui ont activé
+ la fonctionnalité "Détection automatique de l'encodage des
+ caractères" dans leur navigateur.</p>
+</usage>
+<seealso><directive module="mod_mime">AddCharset</directive></seealso>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>AddOutputFilterByType</name>
+<description>assigne un filtre en sortie pour un type de média
+particulier</description>
+<syntax>AddOutputFilterByType <var>filtre</var>[;<var>filtre</var>...]
+<var>type de média</var> [<var>type de média</var>] ...</syntax>
+<contextlist><context>server config</context>
+<context>virtual host</context><context>directory</context>
+<context>.htaccess</context></contextlist>
+<override>FileInfo</override>
+<compatibility>Disponible dans Apache version 2.0.33 et supérieures ;
+obsolète dans les versions 2.1 et supérieures</compatibility>
+
+<usage>
+ <p>Cette directive active un <a
+ href="../filter.html">filtre</a> en sortie particulier pour une
+ requête en fonction du <glossary>type de média</glossary> de la réponse.
+ Suite à certains problèmes évoqués plus loin, cette directive a été
+ abandonnée. Le même résultat peut être obtenu à l'aide du module
+ <module>mod_filter</module>.</p>
+
+ <p>L'exemple suivant active le filtre <code>DEFLATE</code> qui est
+ fourni par le module <module>mod_deflate</module>. Il va compresser
+ toute sortie dont le type MIME est <code>text/html</code> ou
+ <code>text/plain</code> avant de l'envoyer au client.</p>
+
+ <example>
+ AddOutputFilterByType DEFLATE text/html text/plain
+ </example>
+
+ <p>Si vous voulez assigner plusieurs filtres au contenu, leurs noms
+ doivent être séparés par des points-virgules. On peut aussi utiliser
+ une directive <directive>AddOutputFilterByType</directive> pour
+ chacun des filtres à assigner.</p>
+
+ <p>La configuration ci-dessous impose le traitement de toute sortie
+ de script dont le type MIME est <code>text/html</code> en premier
+ lieu par le filtre <code>INCLUDES</code>, puis par le filtre
+ <code>DEFLATE</code>.</p>
+
+ <example>
+ <Location /cgi-bin/><br />
+ <indent>
+ Options Includes<br />
+ AddOutputFilterByType INCLUDES;DEFLATE text/html<br />
+ </indent>
+ </Location>
+ </example>
+
+ <note type="warning"><title>Note</title>
+ <p>L'activation de filtres par la directive
+ <directive>AddOutputFilterByType</directive> peut partiellement
+ échouer, ou même complètement dans certains cas. Par exemple,
+ aucun filtre n'est appliqué si le <glossary>type de
+ média</glossary> n'a pas pu être déterminé. Si vous voulez vous
+ assurer que les filtres seront
+ appliqués, assignez explicitement le type de contenu à une
+ ressource, par exemple à l'aide d'une directive <directive
+ module="mod_mime">AddType</directive> ou <directive
+ module="core">ForceType</directive>. Il est aussi recommandé de
+ définir le type de contenu dans un script CGI (non-nph).</p>
+
+ </note>
+</usage>
+
+<seealso><directive module="mod_mime">AddOutputFilter</directive></seealso>
+<seealso><directive module="core">SetOutputFilter</directive></seealso>
+<seealso><a href="../filter.html">Les filtres</a></seealso>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>AllowEncodedSlashes</name>
+<description>Détermine si les séparateurs de chemin encodés sont
+autorisés à transiter dans les URLs tels quels</description>
+<syntax>AllowEncodedSlashes On|Off</syntax>
+<default>AllowEncodedSlashes Off</default>
+<contextlist><context>server config</context><context>virtual
+host</context>
+</contextlist>
+<compatibility>Disponible dans Apache version 2.0.46 et
+supérieures</compatibility>
+
+<usage>
+ <p>La directive <directive>AllowEncodedSlashes</directive> permet
+ l'utilisation des URLs contenant des séparateurs de chemin encodés
+ (<code>%2F</code> pour <code>/</code> et même <code>%5C</code> pour
+ <code>\</code> sur les systèmes concernés). Habituellement, ces URLs
+ sont rejetées avec un code d'erreur 404 (Not found).</p>
+
+ <p>Définir <directive>AllowEncodedSlashes</directive> à
+ <code>On</code> est surtout utile en association avec
+ <code>PATH_INFO</code>.</p>
+
+ <note><title>Note</title>
+ <p>Permettre les slashes encodés n'implique <em>pas</em> leur
+ <em>décodage</em>. Toutes les occurrences de <code>%2F</code> ou
+ <code>%5C</code> (<em>seulement</em> sur les systèmes concernés)
+ seront laissés telles quelles dans la chaîne de l'URL décodée.</p>
+ </note>
+</usage>
+<seealso><directive module="core">AcceptPathInfo</directive></seealso>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>AllowOverride</name>
+<description>Types de directives autorisées dans les fichiers
+<code>.htaccess</code></description>
+<syntax>AllowOverride All|None|<var>type directive</var>
+[<var>type directive</var>] ...</syntax>
+<default>AllowOverride All</default>
+<contextlist><context>directory</context></contextlist>
+
+<usage>
+ <p>Lorsque le serveur trouve un fichier <code>.htaccess</code> (dont
+ le nom est défini par la directive <directive
+ module="core">AccessFileName</directive>), il doit savoir lesquelles
+ des directives placées dans ce fichier sont autorisées à modifier la
+ configuration préexistante.</p>
+
+ <note><title>Valable seulement dans les sections
+ <Directory></title>
+ La directive <directive>AllowOverride</directive> ne peut être
+ utilisée que dans les sections <directive type="section"
+ module="core">Directory</directive> définies sans expressions
+ rationnelles, et non dans les sections <directive
+ type="section" module="core">Location</directive>, <directive
+ module="core" type="section">DirectoryMatch</directive> ou
+ <directive type="section" module="core">Files</directive>.
+ </note>
+
+ <p>Lorsque cette directive est définie à <code>None</code>, les
+ fichiers <a href="#accessfilename">.htaccess</a> sont totalement
+ ignorés. Dans ce cas, le serveur n'essaiera même pas de lire les
+ fichiers <code>.htaccess</code> du système de fichiers.</p>
+
+ <p>Lorsque cette directive est définie à <code>All</code>, toute
+ directive valable dans le <a
+ href="directive-dict.html#Context">Contexte</a> .htaccess sera
+ autorisée dans les fichiers <code>.htaccess</code>.</p>
+
+ <p>L'argument <var>type directive</var> peut contenir les
+ groupements de directives suivants :</p>
+
+ <dl>
+ <dt>AuthConfig</dt>
+
+ <dd>
+
+ Permet l'utilisation des directives d'autorisation (<directive
+ module="mod_authn_dbm">AuthDBMGroupFile</directive>,
+ <directive module="mod_authn_dbm">AuthDBMUserFile</directive>,
+ <directive module="mod_authz_groupfile">AuthGroupFile</directive>,
+ <directive module="mod_authn_core">AuthName</directive>,
+ <directive module="mod_authn_core">AuthType</directive>, <directive
+ module="mod_authn_file">AuthUserFile</directive>, <directive
+ module="mod_authz_core">Require</directive>, <em>etc...</em>).</dd>
+
+ <dt>FileInfo</dt>
+
+ <dd>
+ Permet l'utilisation des directives qui contrôlent les types de
+ documents (directives <directive
+ module="core">ErrorDocument</directive>, <directive
+ module="core">ForceType</directive>, <directive
+ module="mod_negotiation">LanguagePriority</directive>,
+ <directive module="core">SetHandler</directive>, <directive
+ module="core">SetInputFilter</directive>, <directive
+ module="core">SetOutputFilter</directive>, et directives du
+ module <module>mod_mime</module> Add* et Remove*), des metadonnées
+ des documents (<directive
+ module="mod_headers">Header</directive>, <directive
+ module="mod_headers">RequestHeader</directive>, <directive
+ module="mod_setenvif">SetEnvIf</directive>, <directive
+ module="mod_setenvif">SetEnvIfNoCase</directive>, <directive
+ module="mod_setenvif">BrowserMatch</directive>, <directive
+ module="mod_usertrack">CookieExpires</directive>, <directive
+ module="mod_usertrack">CookieDomain</directive>, <directive
+ module="mod_usertrack">CookieStyle</directive>, <directive
+ module="mod_usertrack">CookieTracking</directive>, <directive
+ module="mod_usertrack">CookieName</directive>), des directives du
+ module <module>mod_rewrite</module> <directive
+ module="mod_rewrite">RewriteEngine</directive>, <directive
+ module="mod_rewrite">RewriteOptions</directive>, <directive
+ module="mod_rewrite">RewriteBase</directive>, <directive
+ module="mod_rewrite">RewriteCond</directive>, <directive
+ module="mod_rewrite">RewriteRule</directive>) et de la directive
+ <directive module="mod_actions">Action</directive> du module
+ <module>mod_actions</module>.
+ </dd>
+
+ <dt>Indexes</dt>
+
+ <dd>
+ Permet l'utilisation des directives qui contrôlent l'indexation
+ des répertoires (<directive
+ module="mod_autoindex">AddDescription</directive>,
+ <directive module="mod_autoindex">AddIcon</directive>, <directive
+ module="mod_autoindex">AddIconByEncoding</directive>,
+ <directive module="mod_autoindex">AddIconByType</directive>,
+ <directive module="mod_autoindex">DefaultIcon</directive>, <directive
+ module="mod_dir">DirectoryIndex</directive>, <directive
+ module="mod_autoindex">FancyIndexing</directive>, <directive
+ module="mod_autoindex">HeaderName</directive>, <directive
+ module="mod_autoindex">IndexIgnore</directive>, <directive
+ module="mod_autoindex">IndexOptions</directive>, <directive
+ module="mod_autoindex">ReadmeName</directive>,
+ <em>etc...</em>).</dd>
+
+ <dt>Limit</dt>
+
+ <dd>
+ Permet l'utilisation des directives contrôlant l'accès au serveur
+ (<directive
+ module="mod_authz_host">Allow</directive>, <directive
+ module="mod_authz_host">Deny</directive> et <directive
+ module="mod_authz_host">Order</directive>).</dd>
+
+ <dt>Options[=<var>Option</var>,...]</dt>
+
+ <dd>
+ Permet l'utilisation des directives contrôlant les fonctionnalités
+ spécifiques d'un répertoire (<directive
+ module="core">Options</directive> et <directive
+ module="mod_include">XBitHack</directive>). "Options" doit être
+ suivi d'un signe "égal", puis d'une liste d'options séparées par des
+ virgules (pas d'espaces) ; ces options doivent être définies à
+ l'aide de la commande <directive
+ module="core">Options</directive>.</dd>
+ </dl>
+
+ <p>Exemple :</p>
+
+ <example>
+ AllowOverride AuthConfig Indexes
+ </example>
+
+ <p>Dans l'exemple ci-dessus, toutes les directives qui ne font
+ partie ni du groupe <code>AuthConfig</code>, ni du groupe
+ <code>Indexes</code>, provoquent une erreur "internal
+ server error".</p>
+
+ <note><p>Pour des raisons de sécurité et de performance, ne
+ définissez pas <code>AllowOverride</code> à autre chose que
+ <code>None</code> dans votre bloc <code><Directory /></code>.
+ Recherchez plutôt (ou créez) le bloc <code><Directory></code>
+ qui se réfère au répertoire où vous allez précisément placer un
+ fichier <code>.htaccess</code>.</p>
+ </note>
+</usage>
+
+<seealso><directive module="core">AccessFileName</directive></seealso>
+<seealso><a href="../configuring.html">Configuration Files</a></seealso>
+<seealso><a href="../howto/htaccess.html">.htaccess Files</a></seealso>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>CGIMapExtension</name>
+<description>Technique permettant de localiser l'interpréteur des
+scripts CGI</description>
+<syntax>CGIMapExtension <var>chemin CGI</var> <var>.extension</var></syntax>
+<contextlist><context>directory</context><context>.htaccess</context>
+</contextlist>
+<override>FileInfo</override>
+<compatibility>NetWare uniquement</compatibility>
+
+<usage>
+ <p>Cette directive permet de contrôler la manière dont Apache trouve
+ l'interpréteur servant à exécuter les scripts CGI. Par exemple, avec
+ la définition <code>CGIMapExtension sys:\foo.nlm .foo</code>, tous
+ les fichiers scripts CGI possédant une extension <code>.foo</code>
+ seront passés à l'interpréteur FOO.</p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>ContentDigest</name>
+<description>Active la génération d'un en-tête <code>Content-MD5</code>
+dans la réponse HTTP</description>
+<syntax>ContentDigest On|Off</syntax>
+<default>ContentDigest Off</default>
+<contextlist><context>server config</context><context>virtual
+host</context>
+<context>directory</context><context>.htaccess</context>
+</contextlist>
+<override>Options</override>
+<status>Expérimental</status>
+
+<usage>
+ <p>Cette directive active la génération d'un en-tête
+ <code>Content-MD5</code> selon les définitions des RFC 1864 et
+ 2616.</p>
+
+ <p>MD5 est un algorithme permettant de générer un condensé (parfois
+ appelé "empreinte") à partir de données d'une taille aléatoire ; le
+ degré de précision est tel que la moindre altération des données
+ d'origine entraîne une altération de l'empreinte.</p>
+
+ <p>L'en-tête <code>Content-MD5</code> permet de vérifier
+ l'intégrité de la réponse HTTP dans son ensemble. Un serveur mandataire
+ ou un client peut utiliser cet en-tête pour rechercher une
+ éventuelle modification accidentelle de la réponse au cours de sa
+ transmission. Exemple d'en-tête :</p>
+
+ <example>
+ Content-MD5: AuLb7Dp1rqtRtxz2m9kRpA==
+ </example>
+
+ <p>Notez que des problèmes de performances peuvent affecter votre
+ serveur, car l'empreinte est générée pour chaque requête (il n'y a
+ pas de mise en cache).</p>
+
+ <p>L'en-tête <code>Content-MD5</code> n'est envoyé qu'avec les
+ documents servis par le module <module>core</module>, à l'exclusion
+ de tout autre module. Ainsi, les documents SSI, les sorties de
+ scripts CGI, et les réponses à des requêtes partielles (byte range)
+ ne comportent pas cet en-tête.</p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>DefaultType</name>
+<description>Les seuls effets de cette directive sont des émissions
+d'avertissements si sa valeur est différente de <code>none</code>. Dans
+les versions précédentes, DefaultType permettait de spécifier un type de
+média à assigner par défaut au contenu d'une réponse pour lequel aucun
+autre type de média n'avait été trouvé.
+</description>
+<syntax>DefaultType <var>type média|none</var></syntax>
+<default>DefaultType none</default>
+<contextlist><context>server config</context><context>virtual
+host</context>
+<context>directory</context><context>.htaccess</context>
+</contextlist>
+<override>FileInfo</override>
+<compatibility>L'argument <code>none</code> est disponible dans les
+versions d'Apache 2.2.7 et supérieures. Tous les autres choix sont
+DESACTIVÉS à partir des version 2.3.x.</compatibility>
+
+<usage>
+ <p>Cette directive a été désactivée. Pour la compatibilité
+ ascendante avec les anciens fichiers de configuration, elle peut
+ être spécifiée avec la valeur <code>none</code>, c'est à dire sans
+ type de médium par défaut. Par exemple :</p>
+
+ <example>
+ DefaultType None
+ </example>
+ <p><code>DefaultType None</code> n'est disponible que dans les
+ versions d'Apache 2.2.7 et supérieures.</p>
+
+ <p>Utilisez le fichier de configuration mime.types et la directive
+ <directive module="mod_mime">AddType</directive> pour configurer
+ l'assignement d'un type de médium via les extensions de fichiers, ou
+ la directive <directive module="core">ForceType</directive> pour
+ attribuer un type de médium à des ressources spécifiques. Dans le
+ cas contraire, le serveur enverra sa réponse sans champ d'en-tête
+ Content-Type, et le destinataire devra déterminer lui-même le type
+ de médium.</p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>Define</name>
+<description>Permet de définir l'existence d'une variable</description>
+<syntax>Define <var>nom variable</var></syntax>
+<contextlist><context>server config</context></contextlist>
+
+<usage>
+ <p>Cette directive produit le même effet que l'argument
+ <code>-D</code> du programme <program>httpd</program>.</p>
+ <p>Elle permet de faire basculer le fonctionnement de sections
+ <directive module="core" type="section">IfDefine</directive> sans
+ avoir à modifier les arguments de l'option <code>-D</code> dans
+ aucun script de démarrage.</p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis type="section">
+<name>Directory</name>
+<description>Regroupe un ensemble de directives qui ne s'appliquent
+qu'au répertoire concerné du système de fichiers et à ses
+sous-répertoires</description>
+<syntax><Directory <var>chemin répertoire</var>>
+... </Directory></syntax>
+<contextlist><context>server config</context><context>virtual
+host</context>
+</contextlist>
+
+<usage>
+ <p>Les balises <directive type="section">Directory</directive> et
+ <code></Directory></code> permettent de regrouper un ensemble
+ de directives qui ne s'appliquent qu'au répertoire précisé
+ et à ses sous-répertoires. Toute directive
+ autorisée dans un contexte de répertoire peut être utilisée.
+ <var>chemin répertoire</var> est soit le chemin absolu d'un
+ répertoire, soit une chaîne de caractères avec caractères génériques
+ utilisant la comparaison Unix de style shell. Dans une chaîne de
+ caractères avec caractères génériques, <code>?</code> correspond à
+ un caractère quelconque, et <code>*</code> à toute chaîne de
+ caractères. Les intervalles de caractères <code>[]</code> sont aussi
+ autorisés. Aucun caractère générique ne peut remplacer le caractère
+ `/', si bien que l'expression <code><Directory
+ /*/public_html></code> ne conviendra pas pour le chemin
+ * <code>/home/user/public_html</code>, alors que <code><Directory
+ /home/*/public_html></code> conviendra. Exemple :</p>
+
+ <example>
+ <Directory /usr/local/httpd/htdocs><br />
+ <indent>
+ Options Indexes FollowSymLinks<br />
+ </indent>
+ </Directory>
+ </example>
+
+ <note>
+ <p>Soyez prudent avec l'argument <var>chemin répertoire</var> : il
+ doit correspondre exactement au chemin du système de fichier
+ qu'Apache utilise pour accéder aux fichiers. Les directives
+ comprises dans une section <code><Directory></code> ne
+ s'appliqueront pas aux fichiers du même répertoire auxquels on
+ aura accédé via un chemin différent, per exemple via un lien
+ symbolique.</p>
+ </note>
+
+ <p> Les <glossary ref="regex">Expressions rationnelles</glossary>
+ peuvent aussi être utilisées en ajoutant le caractère
+ <code>~</code>. Par exemple :</p>
+
+ <example>
+ <Directory ~ "^/www/.*/[0-9]{3}">
+ </example>
+
+ <p>pourra correspondre à tout répertoire situé dans /www/ et dont le
+ nom se compose de trois chiffres.</p>
+
+ <p>Si plusieurs sections <directive
+ type="section">Directory</directive> (sans expression rationnelle)
+ correspondent au répertoire (ou à un de ses parents) qui contient le
+ document, les directives de la section <directive
+ type="section">Directory</directive> dont le chemin est le plus
+ court sont appliquées en premier, en s'intercalant avec les
+ directives des fichiers <a href="#accessfilename">.htaccess</a>. Par
+ exemple, avec</p>
+
+ <example>
+ <Directory /><br />
+ <indent>
+ AllowOverride None<br />
+ </indent>
+ </Directory><br />
+ <br />
+ <Directory /home/><br />
+ <indent>
+ AllowOverride FileInfo<br />
+ </indent>
+ </Directory>
+ </example>
+
+ <p>l'accès au document <code>/home/web/dir/doc.html</code> emprunte
+ le chemin suivant :</p>
+
+ <ul>
+ <li>Aplication de la directive <code>AllowOverride None</code>
+ (qui désactive les fichiers <code>.htaccess</code>).</li>
+
+ <li>Application de la directive <code>AllowOverride
+ FileInfo</code> (pour le répertoire <code>/home</code>).</li>
+
+ <li>Application de toute directive <code>FileInfo</code> qui se
+ trouverait dans d'éventuels fichiers <code>/home/.htaccess</code>,
+ <code>/home/web/.htaccess</code> ou
+ <code>/home/web/dir/.htaccess</code>, dans cet ordre.</li>
+ </ul>
+
+ <p>Les directives associées aux répertoires sous forme d'expressions
+ rationnelles ne sont prises en compte qu'une fois toutes les
+ directives des sections sans expressions rationnelles appliquées.
+ Alors, tous les répertoires avec expressions rationnelles sont
+ testés selon l'ordre dans lequel ils apparaissent dans le fichier de
+ configuration. Par exemple, avec</p>
+
+ <example>
+ <Directory ~ abc$><br />
+ <indent>
+ # ... directives here ...<br />
+ </indent>
+ </Directory>
+ </example>
+
+ <p>la section avec expression rationnelle ne sera prise en compte
+ qu'après les sections <directive
+ type="section">Directory</directive> sans expression rationnelle
+ et les fichiers <code>.htaccess</code>. Alors, l'expression
+ rationnelle conviendra pour <code>/home/abc/public_html/abc</code>
+ et la section <directive type="section">Directory</directive>
+ correspondante s'appliquera.</p>
+
+ <p><strong>Notez que pour Apache, la politique d'accès par défaut
+ dans les sections <code><Directory /></code> est <code>Allow
+ from All</code>. Ceci signifie qu'Apache va servir tout fichier
+ correspondant à une URL. Il est recommandé de modifier cette
+ situation à l'aide d'un bloc du style</strong></p>
+
+ <example>
+ <Directory /><br />
+ <indent>
+ Order Deny,Allow<br />
+ Deny from All<br />
+ </indent>
+ </Directory>
+ </example>
+
+ <p><strong>puis d'affiner la configuration pour les répertoires que vous
+ voulez rendre accessibles. Voir la page <a
+ href="../misc/security_tips.html">Conseils à propos de sécurité</a>
+ pour plus de détails.</strong></p>
+
+ <p>Les sections <directive type="section">Directory</directive> se situent
+ dans le fichier <code>httpd.conf</code>. Les directives <directive
+ type="section">Directory</directive> ne peuvent pas être imbriquées
+ et ne sont pas autorisées dans les sections <directive module="core"
+ type="section">Limit</directive> ou <directive module="core"
+ type="section">LimitExcept</directive>.</p>
+</usage>
+<seealso><a href="../sections.html">Comment fonctionnent les sections
+<Directory>, <Location> et <Files></a> pour des
+explications à propos de la manière dont ces différentes sections se
+combinent entre elles à la réception d'une requête</seealso>
+</directivesynopsis>
+
+<directivesynopsis type="section">
+<name>DirectoryMatch</name>
+<description>Regroupe des directives qui s'appliquent à des répertoires
+du système de fichiers correspondant à une expression rationnelle et à
+leurs sous-répertoires</description>
+<syntax><DirectoryMatch <var>regex</var>>
+... </DirectoryMatch></syntax>
+<contextlist><context>server config
+</context><context>virtual host</context>
+</contextlist>
+
+<usage>
+ <p>Les balises <directive type="section">DirectoryMatch</directive>
+ et <code></DirectoryMatch></code> permettent de regrouper un
+ ensemble de directives qui ne s'appliqueront qu'au répertoire
+ précisé et à ses sous-répertoires, comme pour la section <directive
+ module="core" type="section">Directory</directive>. Cependant, le
+ répertoire est précisé sous la forme d'une <glossary
+ ref="regex">expression rationnelle</glossary>. Par exemple :</p>
+
+ <example>
+ <DirectoryMatch "^/www/(.+/)?[0-9]{3}">
+ </example>
+
+ <p>conviendrait pour les sous-répertoires de <code>/www/</code> dont
+ le nom se compose de trois chiffres.</p>
+</usage>
+<seealso><directive type="section" module="core">Directory</directive>
+pour une description de la manière dont les expressions rationnelles
+sont traitées en présence d'autres sections <directive
+type="section">Directory</directive> sans expressions rationnelles</seealso>
+<seealso><a
+href="../sections.html">Comment fonctionnent les sections
+<Directory>, <Location> et <Files></a> pour une
+explication à propos de la manière dont ces différentes sections se
+combinent entre elles à la réception d'une requête</seealso>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>DocumentRoot</name>
+<description>Racine principale de l'arborescence des documents visible
+depuis Internet</description>
+<syntax>DocumentRoot <var>chemin répertoire</var></syntax>
+<default>DocumentRoot /usr/local/apache/htdocs</default>
+<contextlist><context>server config</context><context>virtual
+host</context>
+</contextlist>
+
+<usage>
+ <p>Cette directive permet de définir le répertoire à partir duquel
+ <program>httpd</program> va servir les fichiers. S'il ne correspond
+ pas à un <directive module="mod_alias">Alias</directive>, le chemin
+ de l'URL sera ajouté par le serveur à la racine des documents afin
+ de construire le chemin du document recherché. Exemple :</p>
+
+ <example>
+ DocumentRoot /usr/web
+ </example>
+
+ <p>un accès à <code>http://www.my.host.com/index.html</code> se
+ réfère alors à <code>/usr/web/index.html</code>. Si <var>chemin
+ répertoire</var> n'est pas un chemin absolu, il est considéré comme
+ relatif au chemin défini par la directive <directive
+ module="core">ServerRoot</directive>.</p>
+
+ <p>Le répertoire défini par la directive
+ <directive>DocumentRoot</directive> ne doit pas comporter de slash
+ final.</p>
+</usage>
+<seealso><a href="../urlmapping.html#documentroot">Mise en
+correspondance des URLs avec le système de fichiers</a></seealso>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>EnableMMAP</name>
+<description>Utilise la projection en mémoire (Memory-Mapping) pour
+lire les fichiers pendant qu'ils sont servis</description>
+<syntax>EnableMMAP On|Off</syntax>
+<default>EnableMMAP On</default>
+<contextlist><context>server config</context><context>virtual
+host</context>
+<context>directory</context><context>.htaccess</context>
+</contextlist>
+<override>FileInfo</override>
+
+<usage>
+ <p>Cette directive définit si <program>httpd</program> peut utiliser
+ la projection en mémoire (Memory-Mapping) quand il doit lire le contenu
+ d'un fichier pendant qu'il est servi. Par défaut, lorsque le
+ traitement d'une requête requiert l'accès aux données contenues dans
+ un fichier -- par exemple, pour servir un fichier interprété par le
+ serveur à l'aide de <module>mod_include</module> -- Apache projette
+ le fichier en mémoire si le système d'exploitation le permet.</p>
+
+ <p>Cette projection en mémoire induit parfois une amélioration des
+ performances. Sur certains systèmes cependant, il est préférable de
+ désactiver la projection en mémoire afin d'éviter certains problèmes
+ opérationnels :</p>
+
+ <ul>
+ <li>Sur certains systèmes multi-processeurs, la projection en
+ mémoire peut dégrader les performances du programme
+ <program>httpd</program>.</li>
+ <li>Avec un <directive module="core">DocumentRoot</directive> monté
+ sur NFS, le programme <program>httpd</program> peut s'arrêter suite
+ à une erreur de segmentation si un fichier est supprimé ou tronqué
+ alors qu'il fait l'objet d'une projection en mémoire pour
+ <program>httpd</program>.</li>
+ </ul>
+
+ <p>Pour les configurations de serveur sujettes à ce genre de
+ problème, il est préférable de désactiver la projection en mémoire
+ des fichiers servis en spécifiant :</p>
+
+ <example>
+ EnableMMAP Off
+ </example>
+
+ <p>Pour les montages NFS, cette fonctionnalité peut être
+ explicitement désactivée pour les fichiers concernés en spécifiant
+ :</p>
+
+ <example>
+ <Directory "/chemin vers montage NFS">
+ <indent>
+ EnableMMAP Off
+ </indent>
+ </Directory>
+ </example>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>EnableSendfile</name>
+<description>Utilise le support sendfile du noyau pour servir les
+fichiers aux clients</description>
+<syntax>EnableSendfile On|Off</syntax>
+<default>EnableSendfile On</default>
+<contextlist><context>server config</context><context>virtual
+host</context>
+<context>directory</context><context>.htaccess</context>
+</contextlist>
+<override>FileInfo</override>
+<compatibility>Disponible dans les versions 2.0.44 et
+supérieures</compatibility>
+
+<usage>
+ <p>Cette directive définit si le programme <program>httpd</program>
+ peut utiliser le support sendfile du noyau pour transmettre le
+ contenu des fichiers aux clients. Par défaut, lorsque le traitement
+ d'une requête ne requiert pas l'accès aux données contenues dans un
+ fichier -- par exemple, pour la transmission d'un fichier statique
+ -- Apache utilise sendfile pour transmettre le contenu du fichier
+ sans même lire ce dernier, si le système d'exploitation le
+ permet.</p>
+
+ <p>Ce mécanisme sendfile évite la séparation des opérations de
+ lecture et d'envoi, ainsi que les réservations de tampons. sur
+ certains systèmes cependant, ou sous certains systèmes de fichiers,
+ il est préférable de désactiver cette fonctionnalité afin d'éviter
+ certains problèmes opérationnels :</p>
+
+ <ul>
+ <li>Certains systèmes peuvent présenter un support sendfile
+ défectueux que le système de compilation n'a pas détecté, en
+ particulier si les exécutables ont été compilés sur une autre
+ machine, puis copiés sur la première avec un support sendfile
+ défectueux.</li>
+ <li>Sous Linux, l'utilisation de sendfile induit des bogues lors de
+ la récupération des paquets de vérification TCP (TCP-checksum) avec
+ certaines cartes réseau lorsqu'on utilise IPv6.</li>
+ <li>Sous Linux sur Itanium, sendfile peut s'avérer incapable de
+ traiter les fichiers de plus de 2 Go.</li>
+ <li>Avec un montage réseau de <directive
+ module="core">DocumentRoot</directive> (par exemple NFS ou SMB), le
+ noyau peut s'avérer incapable de servir un fichier de ce montage
+ réseau en passant par son propre cache.</li>
+ </ul>
+
+ <p>Pour les configurations de serveur sujettes à ce genre de
+ problème, il est recommandé de désactiver cette fonctionnalité en
+ spécifiant :</p>
+
+ <example>
+ EnableSendfile Off
+ </example>
+
+ <p>Pour les montages NFS ou SMB, cette fonctionnalité peut être
+ explicitement désactivée pour les fichiers concernés en spécifiant
+ :</p>
+
+ <example>
+ <Directory "/chemin vers montage réseau">
+ <indent>
+ EnableSendfile Off
+ </indent>
+ </Directory>
+ </example>
+ <p>Veuillez noter que la configuration de la directive
+ <directive>EnableSendfile</directive> dans un contexte de répertoire
+ ou de fichier .htaccess n'est pas supportée par
+ <module>mod_disk_cache</module>. Le module ne prend en compte la
+ définition de <directive>EnableSendfile</directive> que dans un
+ contexte global.
+ </p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>ErrorDocument</name>
+<description>Document que le serveur renvoie au client en cas
+d'erreur</description>
+<syntax>ErrorDocument <var>code erreur</var> <var>document</var></syntax>
+<contextlist><context>server config</context><context>virtual
+host</context>
+<context>directory</context><context>.htaccess</context>
+</contextlist>
+<override>FileInfo</override>
+<compatibility>La syntaxe des guillemets pour les messages textes est
+différente dans Apache 2.0</compatibility>
+
+<usage>
+ <p>Apache peut traiter les problèmes et les erreurs de quatre
+ manières,</p>
+
+ <ol>
+ <li>afficher un simple message d'erreur au contenu fixe</li>
+
+ <li>afficher un message personnalisé</li>
+
+ <li>rediriger vers un <var>chemin d'URL</var> local pour traiter
+ le problème ou l'erreur</li>
+
+ <li>rediriger vers une <var>URL</var> externe pour traiter
+ le problème ou l'erreur</li>
+ </ol>
+
+ <p>La première option constitue le comportement par défaut; pour
+ choisir une des trois autres options, il faut configurer Apache à
+ l'aide de la directive <directive>ErrorDocument</directive>, suivie
+ du code de la réponse HTTP et d'une URL ou d'un message. Apache
+ fournit parfois des informations supplémentaires à propos du
+ problème ou de l'erreur.</p>
+
+ <p>Les URLs peuvent commencer par un slash (/) pour les chemins web
+ locaux (relatifs au répertoire défini par la directive <directive
+ module="core">DocumentRoot</directive>), ou se présenter sous la
+ forme d'une URL complète que le client pourra résoudre.
+ Alternativement, un message à afficher par le navigateur pourra être
+ fourni. Exemples :</p>
+
+ <example>
+ ErrorDocument 500 http://foo.example.com/cgi-bin/tester<br />
+ ErrorDocument 404 /cgi-bin/bad_urls.pl<br />
+ ErrorDocument 401 /subscription_info.html<br />
+ ErrorDocument 403 "Désolé, vous n'avez pas l'autorisation d'accès
+ aujourd'hui"
+ </example>
+
+ <p>De plus, on peut spécifier la valeur spéciale <code>default</code>
+ pour indiquer l'utilisation d'un simple message d'Apache codé en
+ dur. Bien que non nécessaire dans des circonstances normales, la
+ spécification de la valeur <code>default</code> va permettre de
+ rétablir l'utilisation du simple message d'Apache codé en dur pour
+ les configurations qui sans cela, hériteraient d'une directive
+ <directive>ErrorDocument</directive> existante.</p>
+
+ <example>
+ ErrorDocument 404 /cgi-bin/bad_urls.pl<br /><br />
+ <Directory /web/docs><br />
+ <indent>
+ ErrorDocument 404 default<br />
+ </indent>
+ </Directory>
+ </example>
+
+ <p>Notez que lorsque vous spécifiez une directive
+ <directive>ErrorDocument</directive> pointant vers une URL distante
+ (c'est à dire tout ce qui commence par le préfixe http), Apache va
+ envoyer une redirection au client afin de lui indiquer où trouver le
+ document, même dans le cas où ce document se trouve sur le serveur
+ local. Ceci a de nombreuses conséquences dont la plus importante
+ réside dans le fait que le client ne recevra pas le code d'erreur
+ original, mais au contraire un code de statut de redirection. Ceci
+ peut en retour semer la confusion chez les robots web et divers
+ clients qui tentent de déterminer la validité d'une URL en examinant
+ le code de statut. De plus, si vous utilisez une URL distante avec
+ <code>ErrorDocument 401</code>, le client ne saura pas qu'il doit
+ demander un mot de passe à l'utilisateur car il ne recevra pas le
+ code de statut 401. C'est pourquoi, <strong>si vous utilisez une
+ directive <code>ErrorDocument 401</code>, elle devra faire référence
+ à un document par le biais d'un chemin local.</strong></p>
+
+ <p>Microsoft Internet Explorer (MSIE) ignore par défaut les messages
+ d'erreur générés par le serveur lorsqu'ils sont trop courts et
+ remplacent ses propres messages d'erreur "amicaux". Le seuil de
+ taille varie en fonction du type d'erreur, mais en général, si la
+ taille de votre message d'erreur est supérieure à 512 octets, il y a
+ peu de chances pour que MSIE l'occulte, et il sera affiché par ce
+ dernier. Vous trouverez d'avantage d'informations dans l'article de
+ la base de connaissances Microsoft <a
+ href="http://support.microsoft.com/default.aspx?scid=kb;en-us;Q294807"
+ >Q294807</a>.</p>
+
+ <p>Bien que la plupart des messages d'erreur internes originaux
+ puissent être remplacés, ceux-ci sont cependant conservés dans
+ certaines circonstances sans tenir compte de la définition de la
+ directive <directive module="core">ErrorDocument</directive>. En
+ particulier, en cas de détection d'une requête mal formée, le
+ processus de traitement normal des requêtes est immédiatement
+ interrompu, et un message d'erreur interne est renvoyé, ceci afin de
+ se prémunir contre les problèmes de sécurité liés aux requêtes mal
+ formées.</p>
+
+ <p>Avant la version 2.0, les messages étaient indiqués en les
+ préfixant par un seul caractère guillemet isolé.</p>
+</usage>
+
+<seealso><a href="../custom-error.html">documentation sur la
+personnalisation des réponses</a></seealso>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>ErrorLog</name>
+<description>Définition du chemin du journal des erreurs</description>
+<syntax> ErrorLog <var>chemin fichier</var>|syslog[:<var>facility</var>]</syntax>
+<default>ErrorLog logs/error_log (Unix) ErrorLog logs/error.log (Windows)</default>
+<contextlist><context>server config</context><context>virtual
+host</context>
+</contextlist>
+
+<usage>
+ <p>La directive <directive>ErrorLog</directive> permet de définir le
+ nom du fichier dans lequel le serveur va journaliser toutes les
+ erreurs qu'il rencontre. Si le <var>chemin fichier</var> n'est pas
+ absolu, il est considéré comme relatif au chemin défini par la
+ directive <directive module="core">ServerRoot</directive>.</p>
+
+ <example><title>Exemple</title>
+ ErrorLog /var/log/httpd/error_log
+ </example>
+
+ <p>Si le <var>chemin fichier</var> commence par une barre verticale
+ (|), il est considéré comme une commande à lancer pour traiter la
+ journalisation de l'erreur.</p>
+
+ <example><title>Exemple</title>
+ ErrorLog "|/usr/local/bin/erreurs_httpd"
+ </example>
+
+ <p>L'utilisation de <code>syslog</code> à la place d'un nom de
+ fichier active la journalisation via syslogd(8) si le système le
+ supporte. Le dispositif syslog par défaut est <code>local7</code>,
+ mais vous pouvez le modifier à l'aide de la syntaxe
+ <code>syslog:<var>facility</var></code>, où <var>facility</var> peut
+ être remplacé par un des noms habituellement documentés dans la page
+ de man syslog(1).</p>
+
+ <example><title>Exemple</title>
+ ErrorLog syslog:user
+ </example>
+
+ <p>SECURITE : Voir le document <a
+ href="../misc/security_tips.html#serverroot">conseils à propos de
+ sécurité</a> pour des détails sur les raisons pour lesquelles votre
+ sécurité peut être compromise si le répertoire contenant les
+ fichiers journaux présente des droits en écriture pour tout autre
+ utilisateur que celui sous lequel le serveur est démarré.</p>
+ <note type="warning"><title>Note</title>
+ <p>Lors de la spécification d'un chemin de fichier sur les
+ plates-formes non-Unix, on doit veiller à n'utiliser que des
+ slashes (/), même si la plate-forme autorise l'utilisation des
+ anti-slashes (\). Et d'une manière générale, il est recommandé de
+ n'utiliser que des slashes (/) dans les fichiers de
+ configuration.</p>
+ </note>
+</usage>
+<seealso><directive module="core">LogLevel</directive></seealso>
+<seealso><a href="../logs.html">Fichiers journaux d'Apache</a></seealso>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>FileETag</name>
+<description>Caractéristiques de fichier utilisés lors de la génération
+de l'en-tête de réponse HTTP ETag</description>
+<syntax>FileETag <var>composant</var> ...</syntax>
+<default>FileETag INode MTime Size</default>
+<contextlist><context>server config</context><context>virtual
+host</context>
+<context>directory</context><context>.htaccess</context>
+</contextlist>
+<override>FileInfo</override>
+
+<usage>
+ <p>
+ La directive <directive>FileETag</directive> définit les
+ caractéristiques de fichier utilisées lors de la génération de
+ l'en-tête de réponse HTTP <code>ETag</code> (entity tag) quand le
+ document est contenu dans un fichier (la valeur de <code>ETag</code>
+ est utilisée dans le cadre de la gestion du cache pour préserver la
+ bande passante réseau). Dans les versions 1.3.22 et antérieures
+ d'Apache, la valeur de l'en-tête <code>ETag</code> se composait
+ <em>toujours</em> de l'inode du fichier, de sa taille et de sa date
+ de dernière modification (mtime). La directive
+ <directive>FileETag</directive> vous permet maintenant de choisir
+ quelles caractéristiques du fichier vont être utilisées, le cas
+ échéant. Les mots-clés reconnus sont :
+ </p>
+
+ <dl>
+ <dt><strong>INode</strong></dt>
+ <dd>Le numéro d'i-node du fichier sera inclus dans le processus de
+ génération</dd>
+ <dt><strong>MTime</strong></dt>
+ <dd>La date et l'heure auxquelles le fichier a été modifié la
+ dernière fois seront incluses</dd>
+ <dt><strong>Size</strong></dt>
+ <dd>La taille du fichier en octets sera incluse</dd>
+ <dt><strong>All</strong></dt>
+ <dd>Tous les champs disponibles seront utilisés. Cette définition
+ est équivalente à : <example>FileETag INode MTime
+ Size</example></dd>
+ <dt><strong>None</strong></dt>
+ <dd>Si le document se compose d'un fichier, aucun champ
+ <code>ETag</code> ne sera inclus dans la réponse</dd>
+ </dl>
+
+ <p>Les mots-clés <code>INode</code>, <code>MTime</code>, et
+ <code>Size</code> peuvent être préfixés par <code>+</code> ou
+ <code>-</code>, ce qui permet de modifier les valeurs par défaut
+ héritées d'un niveau de configuration plus général. Tout mot-clé
+ apparaissant sans aucun préfixe annule entièrement et immédiatement
+ les configurations héritées.</p>
+
+ <p>Si la configuration d'un répertoire contient
+ <code>FileETag INode MTime Size</code>, et si un de
+ ses sous-répertoires contient <code>FileETag -INode</code>, la
+ configuration de ce sous-répertoire (qui sera propagée vers tout
+ sou-répertoire qui ne la supplante pas), sera équivalente à
+ <code>FileETag MTime Size</code>.</p>
+ <note type="warning"><title>Avertissement</title>
+ Ne modifiez pas les valeurs par défaut pour les répertoires ou
+ localisations où WebDAV est activé et qui utilisent
+ <module>mod_dav_fs</module> comme fournisseur de stockage.
+ <module>mod_dav_fs</module> utilise
+ <code>INode MTime Size</code> comme format fixe pour les
+ comparaisons de champs <code>ETag</code> dans les requêtes
+ conditionnelles. Ces requêtes conditionnelles échoueront si le
+ format <code>ETag</code> est modifié via la directive
+ <directive>FileETag</directive>.
+ </note>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis type="section">
+<name>Files</name>
+<description>Contient des directives qui s'appliquent aux fichiers
+précisés</description>
+<syntax><Files <var>nom fichier</var>> ... </Files></syntax>
+<contextlist><context>server config</context><context>virtual
+host</context>
+<context>directory</context><context>.htaccess</context>
+</contextlist>
+<override>All</override>
+
+<usage>
+ <p>La directive <directive type="section">Files</directive> limite
+ la portée des directives qu'elle contient aux fichiers précisés.
+ Elle est comparable aux directives <directive module="core"
+ type="section">Directory</directive> et <directive module="core"
+ type="section">Location</directive>. Elle doit se terminer par une
+ balise <code></Files></code>. Les directives contenues dans
+ cette section s'appliqueront à tout objet dont le nom de base (la
+ dernière partie du nom de fichier) correspond au fichier spécifié.
+ Les sections <directive type="section">Files</directive> sont
+ traitées selon l'ordre dans lequel elles apparaissent dans le
+ fichier de configuration, après les sections <directive module="core"
+ type="section">Directory</directive> et la lecture des fichiers
+ <code>.htaccess</code>, mais avant les sections <directive
+ type="section" module="core">Location</directive>. Notez que les
+ sections <directive type="section">Files</directive> peuvent être
+ imbriquées dans les sections <directive type="section"
+ module="core">Directory</directive> afin de restreindre la portion
+ du système de fichiers à laquelle ces dernières vont
+ s'appliquer.</p>
+
+ <p>L'argument <var>filename</var> peut contenir un nom de fichier
+ ou une chaîne de caractères avec caractères génériques, où
+ <code>?</code> remplace un caractère, et <code>*</code> toute chaîne
+ de caractères. On peut aussi utiliser les <glossary
+ ref="regex">Expressions rationnelles</glossary> en ajoutant la
+ caractère <code>~</code>. Par exemple :</p>
+
+ <example>
+ <Files ~ "\.(gif|jpe?g|png)$">
+ </example>
+
+ <p>correspondrait à la plupart des formats graphiques de l'Internet.
+ Il est cependant préférable d'utiliser la directive <directive
+ module="core" type="section">FilesMatch</directive>.</p>
+
+ <p>Notez qu'à la différence des sections <directive type="section"
+ module="core">Directory</directive> et <directive type="section"
+ module="core">Location</directive>, les sections <directive
+ type="section">Files</directive> peuvent être utilisées dans les
+ fichiers <code>.htaccess</code>. Ceci permet aux utilisateurs de
+ contrôler l'accès à leurs propres ressources, fichier par
+ fichier.</p>
+
+</usage>
+<seealso><a href="../sections.html">Comment fonctionnent les sections
+<Directory>, <Location> et <Files></a> pour une
+explication de la manière dont ces différentes sections se combinent
+entre elles à la réception d'une requête</seealso>
+</directivesynopsis>
+
+<directivesynopsis type="section">
+<name>FilesMatch</name>
+<description>Contient des directives qui s'appliquent à des fichiers
+spécifiés sous la forme d'expressions rationnelles</description>
+<syntax><FilesMatch <var>expression rationnelle</var>> ...
+</FilesMatch></syntax>
+<contextlist><context>server config</context><context>virtual
+host</context>
+<context>directory</context><context>.htaccess</context>
+</contextlist>
+<override>All</override>
+
+<usage>
+ <p>La section <directive type="section">FilesMatch</directive>
+ limite la portée des directives qu'elle contient aux fichiers
+ spécifiés, tout comme le ferait une section <directive module="core"
+ type="section">Files</directive>. Mais elle accepte aussi les
+ <glossary ref="regex">expressions rationnelles</glossary>. Par
+ exemple :</p>
+
+ <example>
+ <FilesMatch "\.(gif|jpe?g|png)$">
+ </example>
+
+ <p>correspondrait à la plupart des formats graphiques de
+ l'Internet.</p>
+</usage>
+
+<seealso><a href="../sections.html">Comment fonctionnent les sections
+<Directory>, <Location> et <Files></a> pour une
+explication de la manière dont ces différentes sections se combinent
+entre elles à la réception d'une requête</seealso>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>ForceType</name>
+<description>Force le type de médium spécifié dans le champ d'en-tête
+HTTP Content-Type pour les fichiers correspondants</description>
+<syntax>ForceType <var>type médium</var>|None</syntax>
+<contextlist><context>directory</context><context>.htaccess</context>
+</contextlist>
+<override>FileInfo</override>
+<compatibility>Intégré dans le coeur d'Apache depuis la version
+2.0</compatibility>
+
+<usage>
+ <p>Lorsqu'elle est placée dans un fichier <code>.htaccess</code> ou
+ une section <directive type="section"
+ module="core">Directory</directive>, <directive type="section"
+ module="core">Location</directive>, ou <directive type="section"
+ module="core">Files</directive>, cette directive force
+ l'identification du type MIME des fichiers spécifiés à la valeur de
+ l'argument <var>type médium</var>. Par exemple, si vous possédez un
+ répertoire ne contenant que des fichiers GIF, et si vous ne voulez
+ pas leur ajouter l'extension <code>.gif</code>, vous pouvez utiliser
+ :</p>
+
+ <example>
+ ForceType image/gif
+ </example>
+
+ <p>Notez que cette directive l'emporte sur d'autres associations de
+ type de médium indirectes définies dans mime.types ou via la
+ directive <directive module="mod_mime">AddType</directive>.</p>
+
+ <p>Vous pouvez aussi annuler toute définition plus générale de
+ <directive>ForceType</directive> en affectant la valeur
+ <code>None</code> à l'argument <var>type médium</var> :</p>
+
+ <example>
+ # force le type MIME de tous les fichiers à image/gif:<br />
+ <Location /images><br />
+ <indent>
+ ForceType image/gif<br />
+ </indent>
+ </Location><br />
+ <br />
+ # mais utilise les méthodes classiques d'attribution du type MIME
+ # dans le sous-répertoire suivant :<br />
+ <Location /images/mixed><br />
+ <indent>
+ ForceType None<br />
+ </indent>
+ </Location>
+ </example>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>HostnameLookups</name>
+<description>Active la recherche DNS sur les adresses IP des
+clients</description>
+<syntax>HostnameLookups On|Off|Double</syntax>
+<default>HostnameLookups Off</default>
+<contextlist><context>server config</context><context>virtual
+host</context>
+<context>directory</context></contextlist>
+
+<usage>
+ <p>Cette directive active la recherche DNS afin de pouvoir
+ journaliser les nom d'hôtes (et les passer aux programmes CGI et aux
+ inclusions SSI via la variable <code>REMOTE_HOST</code>). La valeur
+ <code>Double</code> déclenche une double recherche DNS inverse. En
+ d'autres termes, une fois la recherche inverse effectuée, on lance
+ une recherche directe sur le résultat de cette dernière. Au moins
+ une des adresses IP fournies par la recherche directe doit
+ correspondre à l'adresse originale (ce que l'on nomme
+ <code>PARANOID</code> dans la terminologie "tcpwrappers").</p>
+
+ <p>Quelle que soit la configuration, lorsqu'on utilise
+ <module>mod_authz_host</module> pour contrôler l'accès en fonction
+ du nom d'hôte, une double recherche DNS inverse est effectuée,
+ sécurité oblige. Notez cependant que le résultat de cette double
+ recherche n'est en général pas accessible, à moins que vous n'ayez
+ spécifié <code>HostnameLookups Double</code>. Par exemple, si vous
+ n'avez spécifié que <code>HostnameLookups On</code>, et si une
+ requête concerne un objet protégé par des restrictions en fonction
+ du nom d'hôte, quel que soit le résultat de la double recherche
+ inverse, les programmes CGI ne recevront que le résultat de la
+ recherche inverse simple dans la variable
+ <code>REMOTE_HOST</code>.</p>
+
+ <p>La valeur par défaut est <code>Off</code> afin de préserver le
+ traffic réseau des sites pour lesquels la recherche inverse n'est
+ pas vraiment nécessaire. Cette valeur par défaut est aussi bénéfique
+ pour les utilisateurs finaux car il n'ont ainsi pas à subir de temps
+ d'attente supplémentaires dus aux recherches DNS. Les sites
+ fortement chargés devraient laisser cette directive à
+ <code>Off</code>, car les recherches DNS peuvent prendre des temps
+ très longs. Vous pouvez éventuellement utiliser hors ligne
+ l'utilitaire <program>logresolve</program>, compilé par défaut dans
+ le sous-répertoire <code>bin</code> de votre répertoire
+ d'installation, afin de déterminer les noms d'hôtes associés aux
+ adresses IP journalisées.</p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis type="section">
+<name>If</name>
+<description>Contient des directives qui ne s'appliquent que si une
+condition est satisfaite au cours du traitement d'une
+requête</description>
+<syntax><If <var>expression</var>> ... </If></syntax>
+<contextlist><context>server config</context><context>virtual
+host</context>
+<context>directory</context><context>.htaccess</context>
+</contextlist>
+<override>All</override>
+
+<usage>
+ <p>La directive <directive type="section">If</directive> évalue une
+ expression à la volée, et applique les directives qu'elle contient
+ si et seulement si l'expression renvoie la valeur "vrai". Par
+ exemple :</p>
+
+ <example>
+ <If "$req{Host} = ''">
+ </example>
+
+ <p>sera satisfaite dans le cas des requêtes HTTP/1.0 sans en-tête
+ <var>Host:</var>.</p>
+
+ <p>Vous pouvez tester la valeur de tout en-tête de requête ($req),
+ de tout en-tête de réponse ($resp) ou de toute variable
+ d'environnement ($env) dans votre expression.</p>
+</usage>
+
+<seealso><a href="../sections.html">Comment fonctionnent les sections
+<Directory>, <Location> et <Files></a> pour une
+explication de la manière dont ces différentes sections se combinent
+entre elles à la réception d'une requête. La directive <directive
+type="section">If</directive> possède la même priorité et s'utilise de
+la même façon que la directive <directive
+type="section">Files</directive></seealso>
+</directivesynopsis>
+
+<directivesynopsis type="section">
+<name>IfDefine</name>
+<description>Contient des directives qui ne s'appliqueront que si un
+test retourne "vrai" au démarrage du serveur</description>
+<syntax><IfDefine [!]<var>paramètre</var>> ...
+ </IfDefine></syntax>
+<contextlist><context>server config</context><context>virtual
+host</context>
+<context>directory</context><context>.htaccess</context>
+</contextlist>
+<override>All</override>
+
+<usage>
+ <p>La section <code><IfDefine
+ <var>test</var>>...</IfDefine></code> permet de
+ conférer un caractère conditionnel à un ensemble de directives. Les
+ directives situées à l'intérieur d'une section <directive
+ type="section">IfDefine</directive> ne s'appliquent que si
+ <var>test</var> est vrai. Si <var>test</var> est faux, tout ce qui
+ se trouve entre les balises de début et de fin est ignoré.</p>
+
+ <p><var>test</var> peut se présenter sous deux formes :</p>
+
+ <ul>
+ <li><var>nom paramètre</var></li>
+
+ <li><code>!</code><var>nom paramètre</var></li>
+ </ul>
+
+ <p>Dans le premier cas, les directives situées entre les balises de
+ début et de fin ne s'appliqueront que si le paramètre nommé <var>nom
+ paramètre</var> est défini. Le second format inverse le test, et
+ dans ce cas, les directives ne s'appliqueront que si <var>nom
+ paramètre</var> n'est <strong>pas</strong> défini.</p>
+
+ <p>L'argument <var>nom paramètre</var> est une définition qui peut
+ être effectuée par la ligne de commande
+ <program>httpd</program> via le paramètre
+ <code>-D<var>paramètre</var></code> au démarrage du serveur, ou via la
+ directive <directive module="core">Define</directive>.</p>
+
+ <p>Les sections <directive type="section">IfDefine</directive>
+ peuvent être imbriquées, ce qui permet d'implémenter un test
+ multi-paramètres simple. Exemple :</p>
+
+ <example>
+ httpd -DReverseProxy -DUseCache -DMemCache ...<br />
+ <br />
+ # httpd.conf<br />
+ <IfDefine ReverseProxy><br />
+ <indent>
+ LoadModule proxy_module modules/mod_proxy.so<br />
+ LoadModule proxy_http_module modules/mod_proxy_http.so<br />
+ <IfDefine UseCache><br />
+ <indent>
+ LoadModule cache_module modules/mod_cache.so<br />
+ <IfDefine MemCache><br />
+ <indent>
+ LoadModule mem_cache_module modules/mod_mem_cache.so<br />
+ </indent>
+ </IfDefine><br />
+ <IfDefine !MemCache><br />
+ <indent>
+ LoadModule disk_cache_module modules/mod_disk_cache.so<br />
+ </indent>
+ </IfDefine>
+ </indent>
+ </IfDefine>
+ </indent>
+ </IfDefine>
+ </example>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis type="section">
+<name>IfModule</name>
+<description>Contient des directives qui ne s'appliquent qu'en fonction
+de la présence ou de l'absence d'un module spécifique</description>
+<syntax><IfModule [!]<var>fichier module</var>|<var>identificateur
+module</var>> ... </IfModule></syntax>
+<contextlist><context>server config</context><context>virtual
+host</context>
+<context>directory</context><context>.htaccess</context>
+</contextlist>
+<override>All</override>
+<compatibility>Les identificateurs de modules sont disponibles dans les
+versions 2.1 et supérieures.</compatibility>
+
+<usage>
+ <p>La section <code><IfModule
+ <var>test</var>>...</IfModule></code> permet de conférer à
+ des directives un caractère conditionnel basé sur la présence d'un
+ module spécifique. Les directives situées dans une section
+ <directive type="section">IfModule</directive> ne s'appliquent que
+ si <var>test</var> est vrai. Si <var>test</var> est faux, tout ce
+ qui se trouve entre les balises de début et de fin est ignoré.</p>
+
+ <p><var>test</var> peut se présenter sous deux formes :</p>
+
+ <ul>
+ <li><var>module</var></li>
+
+ <li>!<var>module</var></li>
+ </ul>
+
+ <p>Dans le premier cas, les directives situées entre les balises de
+ début et de fin ne s'appliquent que si le module <var>module</var>
+ est présent -- soit compilé avec le binaire httpd, soit chargé
+ dynamiquement via la directive <directive module="mod_so"
+ >LoadModule</directive>. Le second format inverse le test, et dans
+ ce cas, les directives ne s'appliquent que si <var>module</var>
+ n'est <strong>pas</strong> présent.</p>
+
+ <p>L'argument <var>module</var> peut contenir soit l'identificateur
+ du module, soit le nom du fichier source du module. Par exemple,
+ <code>rewrite_module</code> est un identificateur et
+ <code>mod_rewrite.c</code> le nom du fichier source
+ correspondant. Si un module comporte plusieurs fichiers sources,
+ utilisez le nom du fichier qui contient la chaîne de caractères
+ <code>STANDARD20_MODULE_STUFF</code>.</p>
+
+ <p>Les sections <directive type="section">IfModule</directive>
+ peuvent être imbriquées, ce qui permet d'implémenter des tests
+ multi-modules simples.</p>
+
+ <note>Cette section ne doit être utilisée que si votre fichier de
+ configuration ne fonctionne qu'en fonction de la présence ou de
+ l'absence d'un module spécifique. D'une manière générale, il n'est
+ pas nécessaire de placer les directives à l'intérieur de sections
+ <directive type="section">IfModule</directive>.</note>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>Include</name>
+<description>Inclut d'autres fichiers de configuration dans un des
+fichiers de configuration du serveur</description>
+<syntax>Include <var>chemin fichier</var>|<var>chemin
+répertoire</var></syntax>
+<contextlist><context>server config</context><context>virtual
+host</context>
+<context>directory</context>
+</contextlist>
+<compatibility>Utilisation des caractères génériques depuis la version
+2.0.41</compatibility>
+
+<usage>
+ <p>Cette directive permet l'inclusion d'autres fichiers de
+ configuration dans un des fichiers de configuration du serveur.</p>
+
+ <p>On peut utiliser des caractères génériques de style Shell
+ (<code>fnmatch()</code>) pour inclure plusieurs fichiers en une
+ seule fois, selon leur ordre alphabétique. De plus, si la directive
+ <directive>Include</directive> pointe vers un répertoire, Apache
+ inclura tous les fichiers de ce répertoire et de tous ces
+ sous-répertoires. L'inclusion de répertoires entiers est cependant
+ déconseillée, car il est fréquent d'oublier des fichiers
+ temporaires dans un répertoire, ce qui causerait une erreur
+ <program>httpd</program> en cas d'inclusion. Pour inclure des
+ fichiers qui correspondent à un certain modèle, comme *.conf par
+ exemple, nous vous recommandons d'utiliser plutôt la syntaxe avec
+ caractères génériques comme ci-dessous.</p>
+
+ <p>Le chemin fichier spécifié peut être soit un chemin absolu, soit
+ un chemin relatif au répertoire défini par la directive <directive
+ module="core">ServerRoot</directive>.</p>
+
+ <p>Exemples :</p>
+
+ <example>
+ Include /usr/local/apache2/conf/ssl.conf<br />
+ Include /usr/local/apache2/conf/vhosts/*.conf
+ </example>
+
+ <p>ou encore, avec des chemins relatifs au répertoire défini par la
+ directive <directive module="core">ServerRoot</directive> :</p>
+
+ <example>
+ Include conf/ssl.conf<br />
+ Include conf/vhosts/*.conf
+ </example>
+</usage>
+
+<seealso><program>apachectl</program></seealso>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>KeepAlive</name>
+<description>Active les connexions HTTP persistantes</description>
+<syntax>KeepAlive On|Off</syntax>
+<default>KeepAlive On</default>
+<contextlist><context>server config</context><context>virtual
+host</context>
+</contextlist>
+
+<usage>
+ <p>L'extension Keep-Alive de HTTP/1.0 et l'implémentation des
+ connexions persistantes dans HTTP/1.1 ont rendu possibles des
+ sessions HTTP de longue durée, ce qui permet de transmettre
+ plusieurs requêtes via la même connexion TCP. Dans certains cas, le
+ gain en rapidité pour des documents comportant de nombreuses images
+ peut atteindre 50%. Pour activer les connexions persistantes,
+ définissez <code>KeepAlive On</code>.</p>
+
+ <p>Pour les clients HTTP/1.0, les connexions persistantes ne seront
+ mises en oeuvre que si elles ont été spécialement demandées par un
+ client. De plus, une connexion persistante avec un client HTTP/1.0
+ ne peut être utilisée que si la taille du contenu est connue
+ d'avance. Ceci implique que les contenus dynamiques comme les
+ sorties CGI, les pages SSI, et les listings de répertoires générés
+ par le serveur n'utiliseront en général pas les connexions
+ persistantes avec les clients HTTP/1.0. Avec les clients HTTP/1.1,
+ les connexions persistantes sont utilisées par défaut, sauf
+ instructions contraires. Si le client le demande, le transfert par
+ tronçons de taille fixe (chunked encoding) sera utilisé afin de
+ transmettre un contenu de longueur inconnue via une connexion
+ persistante.</p>
+
+ <p>Lorsqu'un client utilise une connexion persistante, elle comptera
+ pour une seule requête pour la directive <directive
+ module="mpm_common">MaxRequestsPerChild</directive>, quel
+ que soit le nombre de requêtes transmises via cette connexion.</p>
+</usage>
+
+<seealso><directive module="core">MaxKeepAliveRequests</directive></seealso>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>KeepAliveTimeout</name>
+<description>Durée pendant laquelle le serveur va attendre une requête
+avant de fermer une connexion persistante</description>
+<syntax>KeepAliveTimeout <var>nombre</var>[ms]</syntax>
+<default>KeepAliveTimeout 5</default>
+<contextlist><context>server config</context><context>virtual
+host</context>
+</contextlist>
+<compatibility>La spécification d'une valeur en millisecondes est
+possible depuis les versions 2.3.2 et supérieures d'Apache</compatibility>
+
+<usage>
+ <p>Le nombre de secondes pendant lesquelles Apache va attendre une
+ requête avant de fermer la connexion. Le délai peut être défini en
+ millisecondes en suffixant sa valeur par ms. La valeur du délai
+ spécifiée par la directive <directive
+ module="core">Timeout</directive> s'applique dès qu'une requête a
+ été reçue.</p>
+
+ <p>Donner une valeur trop élévée à
+ <directive>KeepAliveTimeout</directive> peut induire des problèmes
+ de performances sur les serveurs fortement chargés. Plus le délai
+ est élévé, plus nombreux seront les processus serveur en attente de
+ requêtes de la part de clients inactifs.</p>
+
+ <p>Dans un contexte de serveur virtuel à base de nom, c'est le délai
+ du premier serveur virtuel défini (le serveur par défaut) parmi un
+ ensemble de directives <directive
+ module="core">NameVirtualHost</directive> qui sera utilisé. Les
+ autres valeurs seront ignorées.</p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis type="section">
+<name>Limit</name>
+<description>Limite les contrôles d'accès que la section contient à
+certaines méthodes HTTP</description>
+<syntax><Limit <var>méthode</var> [<var>méthode</var>] ... > ...
+ </Limit></syntax>
+<contextlist><context>directory</context><context>.htaccess</context>
+</contextlist>
+<override>AuthConfig, Limit</override>
+
+<usage>
+ <p>Les contrôles d'accès s'appliquent normalement à
+ <strong>toutes</strong> les méthodes d'accès, et c'est en général le
+ comportement souhaité. <strong>Dans le cas général, les directives
+ de contrôle d'accès n'ont pas à être placées dans une section
+ <directive type="section">Limit</directive>.</strong></p>
+
+ <p>La directive <directive type="section">Limit</directive> a pour
+ but de limiter les effets des contrôles d'accès aux méthodes HTTP
+ spécifiées. Pour toutes les autres méthodes, les restrictions
+ d'accès contenues dans la section <directive
+ type="section">Limit</directive> <strong>n'auront aucun
+ effet</strong>. L'exemple suivant n'applique les contrôles d'accès
+ qu'aux méthodes <code>POST</code>, <code>PUT</code>, et
+ <code>DELETE</code>, en laissant les autres méthodes sans protection
+ :</p>
+
+ <example>
+ <Limit POST PUT DELETE><br />
+ <indent>
+ Require valid-user<br />
+ </indent>
+ </Limit>
+ </example>
+
+ <p>La liste des noms de méthodes peut contenir une ou plusieurs
+ valeurs parmi les suivantes : <code>GET</code>, <code>POST</code>,
+ <code>PUT</code>, <code>DELETE</code>, <code>CONNECT</code>,
+ <code>OPTIONS</code>, <code>PATCH</code>, <code>PROPFIND</code>,
+ <code>PROPPATCH</code>, <code>MKCOL</code>, <code>COPY</code>,
+ <code>MOVE</code>, <code>LOCK</code>, et <code>UNLOCK</code>.
+ <strong>Le nom de méthode est sensible à la casse.</strong> Si la
+ valeur <code>GET</code> est présente, les requêtes <code>HEAD</code>
+ seront aussi concernées. La méthode <code>TRACE</code> ne peut pas
+ être limitée (voir la directive <directive
+ module="core">TraceEnable</directive>).</p>
+
+ <note type="warning">Une section <directive
+ type="section">LimitExcept</directive> doit toujours être préférée à
+ une section <directive type="section"
+ module="core">Limit</directive> pour la restriction d'accès, car une
+ section <directive type="section"
+ module="core">LimitExcept</directive> fournit une protection contre
+ les méthodes arbitraires.</note>
+
+ <p>Les directives <directive type="section">Limit</directive> et
+ <directive type="section" module="core">LimitExcept</directive>
+ peuvent être imbriquées. Dans ce cas, pour chaque niveau des
+ directives <directive type="section">Limit</directive> ou <directive
+ type="section" module="core">LimitExcept</directive>, ces dernières
+ doivent restreindre l'accès pour les méthodes auxquelles les
+ contrôles d'accès s'appliquent.</p>
+
+ <note type="warning">Lorsqu'on utilise les directives <directive
+ type="section">Limit</directive> ou <directive
+ type="section">LimitExcept</directive> avec la directive <directive
+ module="mod_authz_core">Require</directive>, la première directive
+ <directive module="mod_authz_core">Require</directive> dont la
+ condition est satisfaite autorise la requête, sans tenir compte de
+ la présence d'autres directives <directive
+ module="mod_authz_core">Require</directive>.</note>
+
+ <p>Par exemple, avec la configuration suivante, tous les
+ utilisateurs seront autorisés à effectuer des requêtes
+ <code>POST</code>, et la directive <code>Require group
+ editors</code> sera ignorée dans tous les cas :</p>
+
+ <example>
+ <LimitExcept GET>
+ <indent>
+ Require valid-user
+ </indent>
+ </LimitExcept><br />
+ <Limit POST>
+ <indent>
+ Require group editors
+ </indent>
+ </Limit>
+ </example>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis type="section">
+<name>LimitExcept</name>
+<description>Applique les contrôles d'accès à toutes les méthodes HTTP,
+sauf celles qui sont spécifiées</description>
+<syntax><LimitExcept <var>méthode</var> [<var>méthode</var>] ... > ...
+ </LimitExcept></syntax>
+<contextlist><context>directory</context><context>.htaccess</context>
+</contextlist>
+<override>AuthConfig, Limit</override>
+
+<usage>
+ <p><directive type="section">LimitExcept</directive> et
+ <code></LimitExcept></code> permettent de regrouper des
+ directives de contrôle d'accès qui s'appliqueront à toutes les
+ méthodes d'accès HTTP qui ne font <strong>pas</strong> partie de la
+ liste des arguments ; en d'autres termes, elles ont un comportement
+ opposé à celui de la section <directive type="section"
+ module="core">Limit</directive>, et on peut les utiliser pour
+ contrôler aussi bien les méthodes standards que les méthodes non
+ standards ou non reconnues. Voir la documentation de la section
+ <directive module="core" type="section">Limit</directive> pour plus
+ de détails.</p>
+
+ <p>Par exemple :</p>
+
+ <example>
+ <LimitExcept POST GET><br />
+ <indent>
+ Require valid-user<br />
+ </indent>
+ </LimitExcept>
+ </example>
+
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>LimitInternalRecursion</name>
+<description>Détermine le nombre maximal de redirections internes et de
+sous-requêtes imbriquées</description>
+<syntax>LimitInternalRecursion <var>nombre</var> [<var>nombre</var>]</syntax>
+<default>LimitInternalRecursion 10</default>
+<contextlist><context>server config</context><context>virtual
+host</context>
+</contextlist>
+<compatibility>Disponible à partir de la version 2.0.47 d'Apache</compatibility>
+
+<usage>
+ <p>Une redirection interne survient, par exemple, quand on utilise
+ la directive <directive module="mod_actions">Action</directive> qui
+ redirige en interne la requête d'origine vers un script CGI. Une
+ sous-requête est le mécanisme qu'utilise Apache pour déterminer ce
+ qui se passerait pour un URI s'il faisait l'objet d'une requête. Par
+ exemple, <module>mod_dir</module> utilise les sous-requêtes pour
+ rechercher les fichiers listés dans la directive <directive
+ module="mod_dir">DirectoryIndex</directive>.</p>
+
+ <p>La directive <directive>LimitInternalRecursion</directive> permet
+ d'éviter un crash du serveur dû à un bouclage infini de redirections
+ internes ou de sous-requêtes. De tels bouclages sont dus en général
+ à des erreurs de configuration.</p>
+
+ <p>La directive accepte, comme arguments, deux limites qui sont
+ évaluées à chaque requête. Le premier <var>nombre</var> est le
+ nombre maximum de redirections internes qui peuvent se succéder. Le
+ second <var>nombre</var> détermine la profondeur d'imbrication
+ maximum des sous-requêtes. Si vous ne spécifiez qu'un seul
+ <var>nombre</var>, il sera affecté aux deux limites.</p>
+
+ <example><title>Exemple</title>
+ LimitInternalRecursion 5
+ </example>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>LimitRequestBody</name>
+<description>limite la taille maximale du corps de la requête HTTP
+envoyée par le client</description>
+<syntax>LimitRequestBody <var>octets</var></syntax>
+<default>LimitRequestBody 0</default>
+<contextlist><context>server config</context><context>virtual
+host</context>
+<context>directory</context><context>.htaccess</context>
+</contextlist>
+<override>All</override>
+
+<usage>
+ <p>Cette directive spécifie la taille maximale autorisée pour le
+ corps d'une requête ; la valeur de l'argument <var>octets</var> va
+ de 0 (pour une taille illimitée), à 2147483647 (2Go).</p>
+
+ <p>La directive <directive>LimitRequestBody</directive> permet de
+ définir une limite pour la taille maximale autorisée du corps d'une
+ requête HTTP en tenant compte du contexte dans lequel la directive
+ a été placée (c'est à dire au niveau du serveur, d'un répertoire,
+ d'un fichier ou d'une localisation). Si la requête du client dépasse
+ cette limite, le serveur répondra par un message d'erreur et ne
+ traitera pas la requête. La taille du corps d'une requête normale va
+ varier de manière importante en fonction de la nature de la
+ ressource et des méthodes autorisées pour cette dernière. Les
+ scripts CGI utilisent souvent le corps du message pour extraire les
+ informations d'un formulaire. Les implémentations de la méthode
+ <code>PUT</code> nécessitent une valeur au moins aussi élevée que la
+ taille maximale des représentations que le serveur désire accepter
+ pour cette ressource.</p>
+
+ <p>L'administrateur du serveur peut utiliser cette directive pour
+ contrôler plus efficacement les comportements anormaux des requêtes
+ des clients, ce qui lui permettra de prévenir certaines formes
+ d'attaques par déni de service.</p>
+
+ <p>Si par exemple, vous autorisez le chargement de fichiers vers une
+ localisation particulière, et souhaitez limiter la taille des
+ fichiers chargés à 100Ko, vous pouvez utiliser la directive suivante
+ :</p>
+
+ <example>
+ LimitRequestBody 102400
+ </example>
+
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>LimitRequestFields</name>
+<description>Limite le nombre de champs d'en-tête autorisés dans une
+requête HTTP</description>
+<syntax>LimitRequestFields <var>nombre</var></syntax>
+<default>LimitRequestFields 100</default>
+<contextlist><context>server config</context></contextlist>
+
+<usage>
+ <p><var>nombre</var> est un entier de 0 (nombre de champs illimité)
+ à 32767. La valeur par défaut est définie à la compilation par la
+ constante <code>DEFAULT_LIMIT_REQUEST_FIELDS</code> (100 selon la
+ distribution).</p>
+
+ <p>La directive <directive>LimitRequestFields</directive> permet à
+ l'administrateur du serveur de modifier le nombre maximum de champs
+ d'en-tête autorisés dans une requête HTTP. Pour un serveur, cette
+ valeur doit être supérieure au nombre de champs qu'une requête
+ client normale peut contenir. Le nombre de champs d'en-tête d'une
+ requête qu'un client utilise dépasse rarement 20, mais ce nombre
+ peut varier selon les implémentations des clients, et souvent en
+ fonction des extensions que les utilisateurs configurent dans leurs
+ navigateurs pour supporter la négociation de contenu détaillée. Les
+ extensions HTTP optionnelles utilisent souvent les
+ champs d'en-tête des requêtes.</p>
+
+ <p>L'administrateur du serveur peut utiliser cette directive pour
+ contrôler plus efficacement les comportements anormaux des requêtes
+ des clients, ce qui lui permettra de prévenir certaines formes
+ d'attaques par déni de service. La valeur spécifiée doit être
+ augmentée si les clients standards reçoivent une erreur du serveur
+ indiquant que la requête comportait un nombre d'en-têtes trop
+ important.</p>
+
+ <p>Par exemple :</p>
+
+ <example>
+ LimitRequestFields 50
+ </example>
+
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>LimitRequestFieldSize</name>
+<description>Dédinit la taille maximale autorisée d'un en-tête de
+requête HTTP</description>
+<syntax>LimitRequestFieldSize <var>octets</var></syntax>
+<default>LimitRequestFieldSize 8190</default>
+<contextlist><context>server config</context></contextlist>
+
+<usage>
+ <p>Cette directive permet de définir le nombre maximum
+ d'<var>octets</var> autorisés dans un en-tête de requête HTTP.</p>
+
+ <p>La directive <directive>LimitRequestFieldSize</directive> permet
+ à l'administrateur du serveur de réduire ou augmenter la taille
+ maximale autorisée d'un en-tête de requête HTTP. Pour un serveur,
+ cette valeur doit être suffisamment grande pour contenir tout
+ en-tête d'une requête client normale. La taille d'un champ d'en-tête
+ de requête normal va varier selon les implémentations des clients,
+ et en fonction des extensions que les utilisateurs
+ configurent dans leurs navigateurs pour supporter la négociation de
+ contenu détaillée. Les en-têtes d'authentification SPNEGO peuvent
+ atteindre une taille de 12392 octets.</p>
+
+ <p>>L'administrateur du serveur peut utiliser cette directive pour
+ contrôler plus efficacement les comportements anormaux des requêtes
+ des clients, ce qui lui permettra de prévenir certaines formes
+ d'attaques par déni de service.</p>
+
+ <p>Par exemple ::</p>
+
+ <example>
+ LimitRequestFieldSize 4094
+ </example>
+
+ <note>Dans des conditions normales, la valeur par défaut de cette
+ directive ne doit pas être modifiée.</note>
+
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>LimitRequestLine</name>
+<description>Définit la taille maximale d'une ligne de requête
+HTTP</description>
+<syntax>LimitRequestLine <var>octets</var></syntax>
+<default>LimitRequestLine 8190</default>
+<contextlist><context>server config</context></contextlist>
+
+<usage>
+ <p>Cette directive permet de définir la taille maximale autorisée
+ pour une ligne de requête HTTP en <var>octets</var>.</p>
+
+ <p>La directive <directive>LimitRequestLine</directive> permet à
+ l'administrateur du serveur de réduire ou augmenter la taille
+ maximale autorisée d'une ligne de requête HTTP client. Comme une
+ requête comporte une méthode HTTP, un URI, et une version de
+ protocole, la directive <directive>LimitRequestLine</directive>
+ impose une restriction sur la longueur maximale autorisée pour un
+ URI dans une requête au niveau du serveur. Pour un serveur, cette
+ valeur doit être suffisamment grande pour référencer les noms de
+ toutes ses ressources, y compris toutes informations pouvant être
+ ajoutées dans la partie requête d'une méthode <code>GET</code>.</p>
+
+ <p>L'administrateur du serveur peut utiliser cette directive pour
+ contrôler plus efficacement les comportements anormaux des requêtes
+ des clients, ce qui lui permettra de prévenir certaines formes
+ d'attaques par déni de service.</p>
+
+ <p>Par exemple :</p>
+
+ <example>
+ LimitRequestLine 4094
+ </example>
+
+ <note>Dans des conditions normales, la valeur par défaut de cette
+ directive ne doit pas être modifiée.</note>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>LimitXMLRequestBody</name>
+<description>Définit la taille maximale du corps d'une requête au format
+XML</description>
+<syntax>LimitXMLRequestBody <var>octets</var></syntax>
+<default>LimitXMLRequestBody 1000000</default>
+<contextlist><context>server config</context><context>virtual
+host</context>
+<context>directory</context><context>.htaccess</context></contextlist>
+<override>All</override>
+
+<usage>
+ <p>Taille maximale (en octets) du corps d'une requête au format XML.
+ Une valeur de <code>0</code> signifie qu'aucune limite n'est
+ imposée.</p>
+
+ <p>Exemple :</p>
+
+ <example>
+ LimitXMLRequestBody 0
+ </example>
+
+</usage>
+</directivesynopsis>
+
+<directivesynopsis type="section">
+<name>Location</name>
+<description>N'applique les directives contenues qu'aux URLs
+spécifiées</description>
+<syntax><Location
+ <var>chemin URL</var>|<var>URL</var>> ... </Location></syntax>
+<contextlist><context>server config</context><context>virtual
+host</context>
+</contextlist>
+
+<usage>
+ <p>La directive <directive type="section">Location</directive>
+ limite la portée des directives contenues aux URLs définies par
+ l'argument URL. Elle est similaire à la directive <directive
+ type="section" module="core">Directory</directive>, et marque le
+ début d'une section qui se termine par une directive
+ <code></Location></code>. Les sections <directive
+ type="section">Location</directive> sont traitées selon l'ordre dans
+ lequel elles apparaissent dans le fichier de configuration, mais
+ après les sections <directive
+ type="section" module="core">Directory</directive> et la lecture des
+ fichiers <code>.htaccess</code>, et après les sections <directive
+ type="section" module="core">Files</directive>.</p>
+
+ <p>Les sections <directive type="section">Location</directive>
+ agissent complètement en dehors du système de fichiers. Ceci a de
+ nombreuses conséquences. Parmi les plus importantes, on ne doit pas
+ utiliser les sections <directive type="section">Location</directive>
+ pour contrôler l'accès aux répertoires du système de fichiers. Comme
+ plusieurs URLs peuvent correspondre au même répertoire du système de
+ fichiers, un tel contrôle d'accès pourrait être contourné.</p>
+
+ <note><title>Quand utiliser la section <directive
+ type="section">Location</directive></title>
+
+ <p>Vous pouvez utiliser une section <directive
+ type="section">Location</directive> pour appliquer des directives à
+ des contenus situés en dehors du système de fichiers. Pour les
+ contenus situés à l'intérieur du système de fichiers, utilisez
+ plutôt les sections <directive
+ type="section" module="core">Directory</directive> et <directive
+ type="section" module="core">Files</directive>. <code><Location
+ /></code> constitue une exception et permet d'appliquer aisément
+ une configuration à l'ensemble du serveur.</p>
+ </note>
+
+ <p>Pour toutes les requêtes originales (non mandatées), l'argument
+ URL est un chemin d'URL de la forme
+ <code>/chemin/</code>. <em>Aucun protocole, nom d'hôte, port, ou chaîne
+ de requête ne doivent apparaître.</em> Pour les requêtes mandatées, l'URL
+ spécifiée doit être de la forme
+ <code>protocole://nom_serveur/chemin</code>, et vous devez inclure
+ le préfixe.</p>
+
+ <p>L'URL peut contenir des caractères génériques. Dans une chaîne
+ avec caractères génériques, <code>?</code> correspond à un caractère
+ quelconque, et <code>*</code> à toute chaîne de caractères. Les
+ caractères génériques ne peuvent pas remplacer un / dans le chemin
+ URL.</p>
+
+ <p>On peut aussi utiliser les <glossary ref="regex">Expressions
+ rationnelles</glossary>, moyennant l'addition d'un caractère
+ <code>~</code>. Par exemple :</p>
+
+ <example>
+ <Location ~ "/(extra|special)/data">
+ </example>
+
+ <p>concernerait les URLs contenant les sous-chaîne
+ <code>/extra/data</code> ou <code>/special/data</code>. La directive
+ <directive type="section" module="core">LocationMatch</directive>
+ présente un comportement identique à la version avec expressions
+ rationnelles de la directive <directive
+ type="section">Location</directive>, et son utilisation est
+ préférable à l'utilisation de cette dernière pour la simple raison
+ qu'il est difficile de distinguer <code>~</code> de <code>-</code>
+ dans la plupart des fontes.</p>
+
+ <p>La directive <directive type="section">Location</directive>
+ s'utilise principalement avec la directive <directive
+ module="core">SetHandler</directive>. Par exemple, pour activer les
+ requêtes d'état, mais ne les autoriser que depuis des navigateurs
+ appartenant au domaine <code>example.com</code>, vous pouvez
+ utiliser :</p>
+
+ <example>
+ <Location /status><br />
+ <indent>
+ SetHandler server-status<br />
+ Order Deny,Allow<br />
+ Deny from all<br />
+ Allow from .example.com<br />
+ </indent>
+ </Location>
+ </example>
+
+ <note><title>Note à propos du slash (/)</title>
+ <p>La signification du caractère slash dépend de l'endroit où il
+ se trouve dans l'URL. Les utilisateurs peuvent être habitués à
+ son comportement dans le système de fichiers où plusieurs slashes
+ successifs sont souvent réduits à un slash unique (en d'autres
+ termes, <code>/home///foo</code> est identique à
+ <code>/home/foo</code>). Dans l'espace de nommage des URLs, ce
+ n'est cependant pas toujours le cas. Pour la directive <directive
+ type="section" module="core">LocationMatch</directive> et la
+ version avec expressions rationnelles de la directive <directive
+ type="section">Location</directive>, vous devez spécifier
+ explicitement les slashes multiples si telle est votre
+ intention.</p>
+
+ <p>Par exemple, <code><LocationMatch ^/abc></code> va
+ correspondre à l'URL <code>/abc</code> mais pas à l'URL <code>
+ //abc</code>. La directive <directive type="section"
+ >Location</directive> sans expression rationnelle se comporte de
+ la même manière lorsqu'elle est utilisée pour des requêtes
+ mandatées. Par contre, lorsque la directive <directive
+ type="section">Location</directive> sans expression rationnelle
+ est utilisée pour des requêtes non mandatées, elle fera
+ correspondre implicitement les slashes multiples à des slashes
+ uniques. Par exemple, si vous spécifiez <code><Location
+ /abc/def></code>, une requête de la forme
+ <code>/abc//def</code> correspondra.</p>
+ </note>
+</usage>
+<seealso><a href="../sections.html">Comment fonctionnent les sections
+<Directory>, <Location> et <Files></a> pour une
+explication de la manière dont ces différentes sections se combinent
+entre elles à la réception d'une requête.</seealso>
+</directivesynopsis>
+
+<directivesynopsis type="section">
+<name>LocationMatch</name>
+<description>N'applique les directives contenues qu'aux URLs
+correspondant à une expression rationnelle</description>
+<syntax><LocationMatch
+ <var>regex</var>> ... </LocationMatch></syntax>
+<contextlist><context>server config</context><context>virtual
+host</context>
+</contextlist>
+
+<usage>
+ <p>La directive <directive type="section">LocationMatch</directive>
+ limite la portée des directives contenues à l'URL spécifiée, de
+ manière identique à la directive <directive module="core"
+ type="section">Location</directive>. Mais son argument permettant de
+ spécifier les URLs concernées est une <glossary
+ ref="regex">expression rationnelle</glossary> au lieu d'une simple
+ chaîne de caractères. Par exemple :</p>
+
+ <example>
+ <LocationMatch "/(extra|special)/data">
+ </example>
+
+ <p>correspondrait à toute URL contenant les sous-chaînes
+ <code>/extra/data</code> ou <code>/special/data</code>.</p>
+</usage>
+<seealso><a href="../sections.html">Comment fonctionnent les sections
+<Directory>, <Location> et <Files></a> pour une
+explication de la manière dont ces différentes sections se combinent
+entre elles à la réception d'une requête.</seealso>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>LogLevel</name>
+<description>Contrôle la verbosité du journal des erreurs</description>
+<syntax>LogLevel <var>niveau</var></syntax>
+<default>LogLevel warn</default>
+<contextlist><context>server config</context><context>virtual
+host</context>
+</contextlist>
+
+<usage>
+ <p>La directive <directive>LogLevel</directive> permet d'ajuster la
+ verbosité des messages enregistrés dans les journaux d'erreur (voir
+ la directive <directive module="core">ErrorLog</directive>
+ directive). Les <var>niveau</var>x disponibles sont présentés
+ ci-après, par ordre de criticité décroissante :</p>
+
+ <table border="1">
+ <columnspec><column width=".2"/><column width=".3"/><column width=".5"/>
+ </columnspec>
+ <tr>
+ <th><strong>Niveau</strong> </th>
+
+ <th><strong>Description</strong> </th>
+
+ <th><strong>Exemple</strong> </th>
+ </tr>
+
+ <tr>
+ <td><code>emerg</code> </td>
+
+ <td>Urgences - le système est inutilisable.</td>
+
+ <td>"Child cannot open lock file. Exiting"</td>
+ </tr>
+
+ <tr>
+ <td><code>alert</code> </td>
+
+ <td>Des mesures doivent être prises immédiatement.</td>
+
+ <td>"getpwuid: couldn't determine user name from uid"</td>
+ </tr>
+
+ <tr>
+ <td><code>crit</code> </td>
+
+ <td>Conditions critiques.</td>
+
+ <td>"socket: Failed to get a socket, exiting child"</td>
+ </tr>
+
+ <tr>
+ <td><code>error</code> </td>
+
+ <td>Erreurs.</td>
+
+ <td>"Premature end of script headers"</td>
+ </tr>
+
+ <tr>
+ <td><code>warn</code> </td>
+
+ <td>Avertissements.</td>
+
+ <td>"child process 1234 did not exit, sending another
+ SIGHUP"</td>
+ </tr>
+
+ <tr>
+ <td><code>notice</code> </td>
+
+ <td>Evènement important mais normal.</td>
+
+ <td>"httpd: caught SIGBUS, attempting to dump core in
+ ..."</td>
+ </tr>
+
+ <tr>
+ <td><code>info</code> </td>
+
+ <td>Informations.</td>
+
+ <td>"Server seems busy, (you may need to increase
+ StartServers, or Min/MaxSpareServers)..."</td>
+ </tr>
+
+ <tr>
+ <td><code>debug</code> </td>
+
+ <td>Messages de débogage.</td>
+
+ <td>"Opening config file ..."</td>
+ </tr>
+ </table>
+
+ <p>Lorsqu'un niveau particulier est spécifié, les messages de tous
+ les autres niveaux de criticité supérieure seront aussi enregistrés.
+ <em>Par exemple</em>, si <code>LogLevel info</code> est spécifié,
+ les messages de niveaux <code>notice</code> et <code>warn</code>
+ seront aussi émis.</p>
+
+ <p>Il est recommandé d'utiliser un niveau <code>crit</code> ou
+ inférieur.</p>
+
+ <p>Par exemple :</p>
+
+ <example>
+ LogLevel notice
+ </example>
+
+ <note><title>Note</title>
+ <p>Si la journalisation s'effectue directement dans un fichier,
+ les messages de niveau <code>notice</code> ne peuvent pas être
+ supprimés et sont donc toujours journalisés. Cependant, ceci ne
+ s'applique pas lorsque la journalisation s'effectue vers
+ <code>syslog</code>.</p>
+ </note>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>MaxKeepAliveRequests</name>
+<description>Nombre de requêtes permises pour une connexion
+persistante</description>
+<syntax>MaxKeepAliveRequests <var>nombre</var></syntax>
+<default>MaxKeepAliveRequests 100</default>
+<contextlist><context>server config</context><context>virtual
+host</context>
+</contextlist>
+
+<usage>
+ <p>La directive <directive>MaxKeepAliveRequests</directive> permet
+ de limiter le nombre de requêtes autorisées par connexion lorsque
+ <directive module="core" >KeepAlive</directive> est à "on". Si sa
+ valeur est <code>0</code>, le nombre de requêtes autorisées est
+ illimité. Il est recommandé de définir une valeur assez haute pour
+ des performances du serveur maximales.</p>
+
+ <p>Par exemple :</p>
+
+ <example>
+ MaxKeepAliveRequests 500
+ </example>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>NameVirtualHost</name>
+<description>Définit une adresse IP pour les serveurs virtuels à base de
+nom</description>
+<syntax>NameVirtualHost <var>adresse</var>[:<var>port</var>]</syntax>
+<contextlist><context>server config</context></contextlist>
+
+<usage>
+
+<p>Une seule directive <directive>NameVirtualHost</directive> permet
+d'identifier un ensemble de serveurs virtuels identiques que le serveur
+va sélectionner en fonction du <em>nom d'hôte</em> spécifié par le
+client. La directive <directive>NameVirtualHost</directive> est
+obligatoire si vous souhaitez configurer des <a
+href="../vhosts/">serveurs virtuels à base de nom</a>.</p>
+
+<p>Cette directive, ainsi que les directives <directive
+>VirtualHost</directive> correspondantes, <em>doit</em> comporter un
+numéro de port si le serveur supporte les connexions HTTP et HTTPS.</p>
+
+<p>Bien que <var>adresse</var> puisse contenir un nom d'hôte, il est
+recommandé d'utiliser plutôt une adresse IP ou un nom d'hôte avec
+caractères génériques. Une directive NameVirtualHost contenant des
+caractères génériques ne peut correspondre qu'à des serveurs virtuels
+qui contiennent aussi des caractères génériques dans leur argument.</p>
+
+<p>Dans les cas où un pare-feu ou autre mandataire reçoit les requêtes
+et les redirige sous une adresse IP différente vers le serveur, vous
+devez spécifier l'adresse IP de l'interface physique de la machine qui
+va servir les requêtes.</p>
+
+<p>Dans l'exemple ci-dessous, les requêtes reçues sur l'interface
+192.0.2.1 et le port 80 ne vont déclencher une sélection que parmi les
+deux premiers serveurs virtuels. Les requêtes reçues sur le port 80 et
+sur toute interface ne vont déclencher une sélection que parmi les
+troisième et quatrième serveurs virtuels. D'une manière générale,
+lorsque l'interface ne constitue pas un critère important de sélection,
+la valeur "*:80" suffit pour les directives NameVirtualHost et
+VirtualHost.</p>
+
+<example>
+ NameVirtualHost 192.0.2.1:80<br />
+ NameVirtualHost *:80<br /><br />
+
+ <VirtualHost 192.0.2.1:80><br />
+ ServerName namebased-a.example.com<br />
+ </VirtualHost><br />
+ <br />
+ <VirtualHost 192.0.2.1:80><br />
+ Servername namebased-b.example.com<br />
+ </VirtualHost><br />
+ <br />
+ <VirtualHost *:80><br />
+ ServerName namebased-c.example.com <br />
+ </VirtualHost><br />
+ <br />
+ <VirtualHost *:80><br />
+ ServerName namebased-d.example.com <br />
+ </VirtualHost><br />
+ <br />
+
+ </example>
+
+ <p>Les adresses IPv6 doivent être entourées de crochets, comme dans
+ l'exemple suivant :</p>
+
+ <example>
+ NameVirtualHost [2001:db8::a00:20ff:fea7:ccea]:8080
+ </example>
+
+
+
+ <note><title>Argument de la directive <directive
+ type="section">VirtualHost</directive></title>
+ <p>Notez que l'argument de la directive <directive
+ type="section">VirtualHost</directive> doit être identique à
+ l'argument de la directive <directive
+ >NameVirtualHost</directive>.</p>
+
+ <example>
+ NameVirtualHost 192.0.2.2:80<br />
+ <VirtualHost 192.0.2.2:80><br />
+ # ...<br />
+ </VirtualHost><br />
+ </example>
+ </note>
+</usage>
+
+<seealso><a href="../vhosts/">Documentation sur les serveurs
+virtuels</a></seealso>
+
+</directivesynopsis>
+
+<directivesynopsis>
+<name>Options</name>
+<description>Définit les fonctionnalités disponibles pour un répertoire
+particulier</description>
+<syntax>Options
+ [+|-]<var>option</var> [[+|-]<var>option</var>] ...</syntax>
+<default>Options All</default>
+<contextlist><context>server config</context><context>virtual
+host</context>
+<context>directory</context><context>.htaccess</context>
+</contextlist>
+<override>Options</override>
+
+<usage>
+ <p>La directive <directive>Options</directive> permet de définir
+ les fonctionnalités de serveur disponibles pour un répertoire
+ particulier.</p>
+
+ <p><var>option</var> peut être défini à <code>None</code>, auquel
+ cas aucune fonctionnalité spécifique n'est activée, ou comprendre
+ une ou plusieurs des options suivantes :</p>
+
+ <dl>
+ <dt><code>All</code></dt>
+
+ <dd>Toutes les options excepté <code>MultiViews</code>. il s'agit
+ de la configuration par défaut.</dd>
+
+ <dt><code>ExecCGI</code></dt>
+
+ <dd>L'exécution de scripts CGI à l'aide du module
+ <module>mod_cgi</module> est permise.</dd>
+
+ <dt><code>FollowSymLinks</code></dt>
+
+ <dd>
+
+ Le serveur va suivre les liens symboliques dans le répertoire
+ concerné.
+ <note>
+ <p>Bien que le serveur suive les liens symboliques, il ne modifie
+ <em>pas</em> le nom de chemin concerné défini par la section
+ <directive type="section"
+ module="core">Directory</directive>.</p>
+ <p>Notez aussi que cette option <strong>est ignorée</strong> si
+ elle est définie dans une section <directive type="section"
+ module="core">Location</directive>.</p>
+ <p>Le fait d'omettre cette option ne doit pas être considéré comme
+ une mesure de sécurité efficace, car il existe toujours une
+ situation de compétition (race condition) entre l'instant où l'on
+ vérifie qu'un chemin n'est pas un lien symbolique, et l'instant où
+ l'on utilise effectivement ce chemin.</p>
+ </note></dd>
+
+ <dt><code>Includes</code></dt>
+
+ <dd>
+ Les inclusions côté serveur (SSI) à l'aide du module
+ <module>mod_include</module> sont autorisées.</dd>
+
+ <dt><code>IncludesNOEXEC</code></dt>
+
+ <dd>
+
+ Les inclusions côté serveur (SSI) sont permises, mais <code>#exec
+ cmd</code> et <code>#exec cgi</code> sont désactivés.
+ L'utilisation de <code>#include virtual</code> pour les scripts
+ CGI est cependant toujours possible depuis des répertoires
+ définis par <directive
+ module="mod_alias">ScriptAlias</directive>.</dd>
+
+ <dt><code>Indexes</code></dt>
+
+ <dd>
+ Si une URL requise correspond au répertoire concerné, et si aucun
+ <directive module="mod_dir">DirectoryIndex</directive> (<em>par
+ exemple</em> <code>index.html</code>) n'est défini pour ce
+ répertoire, le module <module>mod_autoindex</module> va renvoyer
+ un listing formaté du répertoire.</dd>
+
+ <dt><code>MultiViews</code></dt>
+
+ <dd>
+ Les vues multiples ("multiviews") à <a
+ href="../content-negotiation.html">contenu négocié</a> à l'aide du
+ module <module>mod_negotiation</module> sont autorisées.</dd>
+
+ <dt><code>SymLinksIfOwnerMatch</code></dt>
+
+ <dd>Le serveur ne suivra que les liens symboliques qui renvoient
+ vers un fichier ou un répertoire dont le propriétaire est le même
+ que celui du lien.
+
+ <note><title>Note</title> <p>Cette option est ignorée si elle est
+ définie dans une section <directive module="core"
+ type="section">Location</directive>.</p>
+ <p>Le fait d'omettre cette option ne doit pas être considéré comme
+ une mesure de sécurité efficace, car il existe toujours une
+ situation de compétition (race condition) entre l'instant où l'on
+ vérifie qu'un chemin n'est pas un lien symbolique, et l'instant où
+ l'on utilise effectivement ce chemin.</p></note>
+ </dd>
+ </dl>
+
+ <p>Normalement, si plusieurs directives
+ <directive>Options</directive> peuvent s'appliquer à un répertoire,
+ c'est la plus spécifique qui est utilisée et les autres sont
+ ignorées ; les options ne sont pas fusionnées (voir <a
+ href="../sections.html#mergin">comment les sections sont
+ fusionnées</a>). Elles le sont cependant si <em>toutes</em> les
+ options de la directive <directive>Options</directive> sont
+ précédées d'un symbole <code>+</code> ou <code>-</code>. Toute
+ option précédée d'un <code>+</code> est ajoutée à la liste des
+ options courantes de manière forcée et toute option précédée d'un
+ <code>-</code> est supprimée de la liste des options courantes de la
+ même manière.</p>
+
+ <note type="warning"><title>Avertissement</title>
+ <p>Mélanger des <directive>Options</directive> avec <code>+</code>
+ ou <code>-</code> avec des <directive>Options</directive> sans
+ <code>+</code> ou <code>-</code> constitue une erreur de syntaxe, et
+ peut résulter en des comportements inattendus.</p>
+ </note>
+
+ <p>Par exemple, sans aucun symbole <code>+</code> et <code>-</code>
+ :</p>
+
+ <example>
+ <Directory /web/docs><br />
+ <indent>
+ Options Indexes FollowSymLinks<br />
+ </indent>
+ </Directory><br />
+ <br />
+ <Directory /web/docs/spec><br />
+ <indent>
+ Options Includes<br />
+ </indent>
+ </Directory>
+ </example>
+
+ <p>ici, seule l'option <code>Includes</code> sera prise en compte
+ pour le répertoire <code>/web/docs/spec</code>. Par contre, si la
+ seconde directive <directive>Options</directive> utilise les
+ symboles <code>+</code> et <code>-</code> :</p>
+
+ <example>
+ <Directory /web/docs><br />
+ <indent>
+ Options Indexes FollowSymLinks<br />
+ </indent>
+ </Directory><br />
+ <br />
+ <Directory /web/docs/spec><br />
+ <indent>
+ Options +Includes -Indexes<br />
+ </indent>
+ </Directory>
+ </example>
+
+ <p>alors, les options <code>FollowSymLinks</code> et
+ <code>Includes</code> seront prises en compte pour le répertoire
+ <code>/web/docs/spec</code>.</p>
+
+ <note><title>Note</title>
+ <p>L'utilisation de <code>-IncludesNOEXEC</code> ou
+ <code>-Includes</code> désactive complètement les inclusions côté
+ serveur sans tenir compte des définitions précédentes.</p>
+ </note>
+
+ <p>En l'absence de toute définition d'options, la valeur par défaut
+ est <code>All</code>.</p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>RLimitCPU</name>
+<description>Limite le temps CPU alloué aux processus initiés par les
+processus enfants d'Apache</description>
+<syntax>RLimitCPU <var>secondes</var>|max [<var>secondes</var>|max]</syntax>
+<default>Non défini ; utilise les valeurs par défaut du système
+d'exploitation</default>
+<contextlist><context>server config</context><context>virtual
+host</context>
+<context>directory</context><context>.htaccess</context></contextlist>
+<override>All</override>
+
+<usage>
+ <p>Prend 1 ou 2 paramètres. Le premier definit la limite de
+ consommation de ressources pour tous les processus, et le second la
+ consommation de ressources maximale. Les deux paramètres peuvent
+ contenir soit un nombre, soit <code>max</code> pour indiquer au
+ serveur que la limite de consommation correspond à la valeur
+ maximale autorisée par la configuration du système d'exploitation.
+ Pour augmenter la consommation maximale de ressources, le serveur
+ doit s'exécuter en tant que <code>root</code>, ou se trouver dans sa
+ phase de démarrage.</p>
+
+ <p>Cette directive s'applique aux processus initiés par les
+ processus enfants d'Apache qui traitent les requêtes, et non aux
+ processus enfants eux-mêmes. Sont concernés les scripts CGI et les
+ commandes exec des SSI, mais en aucun cas les processus initiés par
+ le processus parent d'Apache comme les journalisations redirigées
+ vers un programme.</p>
+
+ <p>Les limites de ressources CPU sont exprimées en secondes par
+ processus.</p>
+</usage>
+<seealso><directive module="core">RLimitMEM</directive></seealso>
+<seealso><directive module="core">RLimitNPROC</directive></seealso>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>RLimitMEM</name>
+<description>Limite la mémoire allouée aux processus initiés par les
+processus enfants d'Apache</description>
+<syntax>RLimitMEM <var>octets</var>|max [<var>octets</var>|max]</syntax>
+<default>Non défini ; utilise les valeurs par défaut du système
+d'exploitation</default>
+<contextlist><context>server config</context><context>virtual
+host</context>
+<context>directory</context><context>.htaccess</context></contextlist>
+<override>All</override>
+
+<usage>
+ <p>Prend 1 ou 2 paramètres. Le premier definit la limite de
+ consommation de ressources pour tous les processus, et le second la
+ consommation de ressources maximale. Les deux paramètres peuvent
+ contenir soit un nombre, soit <code>max</code> pour indiquer au
+ serveur que la limite de consommation correspond à la valeur
+ maximale autorisée par la configuration du système d'exploitation.
+ Pour augmenter la consommation maximale de ressources, le serveur
+ doit s'exécuter en tant que <code>root</code>, ou se trouver dans sa
+ phase de démarrage.</p>
+
+ <p>Cette directive s'applique aux processus initiés par les
+ processus enfants d'Apache qui traitent les requêtes, et non aux
+ processus enfants eux-mêmes. Sont concernés les scripts CGI et les
+ commandes exec des SSI, mais en aucun cas les processus initiés par
+ le processus parent d'Apache comme les journalisations redirigées
+ vers un programme.</p>
+
+ <p>Les limites de ressources mémoire sont exprimées en octets par
+ processus.</p>
+</usage>
+<seealso><directive module="core">RLimitCPU</directive></seealso>
+<seealso><directive module="core">RLimitNPROC</directive></seealso>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>RLimitNPROC</name>
+<description>Limite le nombre de processus qui peuvent être initiés par
+les processus initiés par les processus enfants d'Apache</description>
+<syntax>RLimitNPROC <var>nombre</var>|max [<var>nombre</var>|max]</syntax>
+<default>Unset; uses operating system defaults</default>
+<contextlist><context>server config</context><context>virtual
+host</context>
+<context>directory</context><context>.htaccess</context></contextlist>
+<override>All</override>
+
+<usage>
+ <p>Prend 1 ou 2 paramètres. Le premier definit la limite de
+ consommation de ressources pour tous les processus, et le second la
+ consommation de ressources maximale. Les deux paramètres peuvent
+ contenir soit un nombre, soit <code>max</code> pour indiquer au
+ serveur que la limite de consommation correspond à la valeur
+ maximale autorisée par la configuration du système d'exploitation.
+ Pour augmenter la consommation maximale de ressources, le serveur
+ doit s'exécuter en tant que <code>root</code>, ou se trouver dans sa
+ phase de démarrage.</p>
+
+ <p>Cette directive s'applique aux processus initiés par les
+ processus enfants d'Apache qui traitent les requêtes, et non aux
+ processus enfants eux-mêmes. Sont concernés les scripts CGI et les
+ commandes exec des SSI, mais en aucun cas les processus initiés par
+ le processus parent d'Apache comme les journalisations redirigées
+ vers un programme.</p>
+
+ <p>Les limites des processus contrôlent le nombre de processus par
+ utilisateur.</p>
+
+ <note><title>Note</title>
+ <p>Si les processus CGI s'exécutent sous le même
+ utilisateur que celui du serveur web, cette
+ directive va limiter le nombre de processus que le serveur
+ pourra lui-même créer. La présence de messages
+ <strong><code>cannot fork</code></strong> dans le journal des
+ erreurs indiquera que la limite est atteinte.</p>
+ </note>
+</usage>
+<seealso><directive module="core">RLimitMEM</directive></seealso>
+<seealso><directive module="core">RLimitCPU</directive></seealso>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>ScriptInterpreterSource</name>
+<description>Permet de localiser l'interpréteur des scripts
+CGI</description>
+<syntax>ScriptInterpreterSource Registry|Registry-Strict|Script</syntax>
+<default>ScriptInterpreterSource Script</default>
+<contextlist><context>server config</context><context>virtual
+host</context>
+<context>directory</context><context>.htaccess</context></contextlist>
+<override>FileInfo</override>
+<compatibility>Win32 seulement ;
+l'option <code>Registry-Strict</code> est disponible dans les versions
+2.0 et supérieures d'Apache</compatibility>
+
+<usage>
+ <p>Cette directive permet de contrôler la méthode qu'utilise Apache
+ pour trouver l'interpréteur destiné à exécuter les scripts CGI. La
+ définition par défaut est <code>Script</code> : ceci indique à
+ Apache qu'il doit utiliser l'interpréteur précisé dans la ligne
+ shebang du script (la première ligne, commençant par
+ <code>#!</code>). Sur les systèmes Win32, cette ligne ressemble
+ souvent à ceci :</p>
+
+ <example>
+ #!C:/Perl/bin/perl.exe
+ </example>
+
+ <p>ou simplement, dans le cas où <code>perl</code> est dans le
+ <code>PATH</code> :</p>
+
+ <example>
+ #!perl
+ </example>
+
+ <p>Avec <code>ScriptInterpreterSource Registry</code>, Windows va
+ effectuer une recherche dans l'arborescence
+ <code>HKEY_CLASSES_ROOT</code> de la base de registre avec comme
+ mot-clé l'extension du fichier contenant le script (par exemple
+ <code>.pl</code>). C'est la commande définie par la sous-clé de
+ registre <code>Shell\ExecCGI\Command</code> ou, si elle n'existe
+ pas, la sous-clé <code>Shell\Open\Command</code> qui est utilisée
+ pour ouvrir le fichier du script. Si ces clés de registre ne sont
+ pas trouvées, Apache utilise la méthode de l'option
+ <code>Script</code>.</p>
+
+ <note type="warning"><title>Sécurité</title>
+ <p>Soyez prudent si vous utilisez <code>ScriptInterpreterSource
+ Registry</code> avec des répertoires faisant l'objet d'un <directive
+ module="mod_alias">ScriptAlias</directive>, car Apache va essayer
+ d'exécuter <strong>tous</strong> les fichiers contenus dans
+ celui-ci. L'option <code>Registry</code> peut causer des appels de
+ programmes non voulus sur des fichiers non destinés à être exécutés.
+ Par exemple, la commande par défaut open sur les fichiers
+ <code>.htm</code> sur la plupart des systèmes Windows va lancer
+ Microsoft Internet Explorer ; ainsi, toute requête HTTP pour un
+ fichier <code>.htm</code> situé dans le répertoire des scripts
+ va lancer le navigateur en arrière-plan sur le serveur, ce qui a
+ toutes les chances de crasher votre système dans les minutes qui
+ suivent.</p>
+ </note>
+
+ <p>L'option <code>Registry-Strict</code>, apparue avec Apache 2.0,
+ agit de manière identique à <code>Registry</code>, mais n'utilise
+ que la sous-clé <code>Shell\ExecCGI\Command</code>. La présence de
+ la clé <code>ExecCGI</code> n'étant pas systématique, Elle doit être
+ définie manuellement dans le registre Windows et évite ainsi tout
+ appel de programme accidentel sur votre système.</p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>ServerAdmin</name>
+<description>L'adresse électronique que le serveur inclut dans les
+messages d'erreur envoyés au client</description>
+<syntax>ServerAdmin <var>adresse électronique</var>|<var>URL</var></syntax>
+<contextlist><context>server config</context><context>virtual
+host</context>
+</contextlist>
+
+<usage>
+ <p>La directive <directive>ServerAdmin</directive> permet de définir
+ l'adresse de contact que le serveur va inclure dans tout message
+ d'erreur qu'il envoie au client. Si le programme <code>httpd</code>
+ ne reconnait pas l'argument fourni comme une URL, il suppose que
+ c'est une <var>adresse électronique</var>, et lui ajoute le préfixe
+ <code>mailto:</code> dans les cibles des hyperliens. Il est
+ cependant recommandé d'utiliser exclusivement une adresse
+ électronique, car de nombreux scripts CGI considèrent ceci comme
+ implicite. Si vous utilisez une URL, elle doit pointer vers un autre
+ serveur que vous contrôlez. Dans le cas contraire, les utilisateurs
+ seraient dans l'impossibilité de vous contacter en cas de problème.</p>
+
+ <p>Il peut s'avérer utile de définir une adresse dédiée à
+ l'administration du serveur, par exemple :</p>
+
+ <example>
+ ServerAdmin www-admin@foo.exemple.com
+ </example>
+ <p>car les utilisateurs ne mentionnent pas systématiquement le
+ serveur dont ils parlent !</p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>ServerAlias</name>
+<description>Autres noms d'un serveur utilisables pour atteindre des
+serveurs virtuels à base de nom</description>
+<syntax>ServerAlias <var>nom serveur</var> [<var>nom serveur</var>]
+...</syntax>
+<contextlist><context>virtual host</context></contextlist>
+
+<usage>
+ <p>La directive <directive>ServerAlias</directive> permet de définir
+ les noms alternatifs d'un serveur utilisables pour atteindre des <a
+ href="../vhosts/name-based.html">serveurs virtuels à base de
+ nom</a>. La directive <directive>ServerAlias</directive> peut
+ contenir des caractères génériques, si nécessaire.</p>
+
+ <example>
+ <VirtualHost *:80><br />
+ ServerName serveur.domaine.com<br />
+ ServerAlias serveur serveur2.domaine.com serveur2<br />
+ ServerAlias *.exemple.com<br />
+ # ...<br />
+ </VirtualHost>
+ </example>
+</usage>
+<seealso><a href="../vhosts/">Documentation sur les serveurs virtuels
+d'Apache</a></seealso>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>ServerName</name>
+<description>Nom d'hôte et port que le serveur utilise pour
+s'authentifier lui-même</description>
+<syntax>ServerName [<var>protocole</var>://]<var>nom de domaine
+entièrement qualifié</var>[:<var>port</var>]</syntax>
+<contextlist><context>server config</context><context>virtual
+host</context>
+</contextlist>
+<compatibility>Dans la version 2.0, cette directive remplace la
+fonctionnalité de la directive <directive>Port</directive> de la version
+1.3.</compatibility>
+
+<usage>
+ <p>La directive <directive>ServerName</directive> permet de définir
+ les protocole, nom d'hôte et port d'une requête que le serveur
+ utilise pour s'authentifier lui-même. Ceci est utile lors de la
+ création de redirections d'URLs. Par exemple, si le nom de la
+ machine hébergeant le serveur web est
+ <code>simple.exemple.com</code>, la machine possède l'alias
+ DNS <code>www.exemple.com</code>, et si vous voulez que le serveur
+ web s'identifie avec cet alias, vous devez utilisez la définition
+ suivante :</p>
+
+ <example>
+ ServerName www.exemple.com:80
+ </example>
+
+ <p>Si la directive <directive>ServerName</directive> n'est pas
+ définie, le serveur tente de déterminer le nom d'hôte en effectuant
+ une recherche DNS inverse sur son adresse IP. Si la directive
+ <directive>ServerName</directive> ne précise pas de port, le serveur
+ utilisera celui de la requête entrante. Il est recommandé de
+ spécifier un nom d'hôte et un port spécifiques à l'aide de la
+ directive <directive>ServerName</directive> pour une fiabilité
+ optimale et à titre préventif.</p>
+
+ <p>Si vous définissez des <a
+ href="../vhosts/name-based.html">serveurs virtuels à base de
+ nom</a>, une directive <directive>ServerName</directive> située à
+ l'intérieur d'une section <directive type="section"
+ module="core">VirtualHost</directive> spécifiera quel nom d'hôte
+ doit apparaître dans l'en-tête de requête <code>Host:</code> pour
+ pouvoir atteindre ce serveur virtuel.</p>
+
+
+ <p>Parfois, le serveur s'exécute en amont d'un dispositif qui
+ implémente SSL, comme un mandataire inverse, un répartiteur de
+ charge ou un boîtier dédié SSL. Dans ce cas, spécifiez le protocole
+ <code>https://</code> et le port auquel les clients se connectent
+ dans la directive <directive>ServerName</directive>, afin de
+ s'assurer que le serveur génère correctement ses URLs
+ d'auto-identification.
+ </p>
+
+ <p>Voir la description des directives <directive
+ module="core">UseCanonicalName</directive> et <directive
+ module="core">UseCanonicalPhysicalPort</directive> pour les
+ définitions qui permettent de déterminer si les URLs
+ auto-identifiantes (par exemple via le module
+ <module>mod_dir</module>) vont faire référence au port spécifié, ou
+ au port indiqué dans la requête du client.
+ </p>
+
+</usage>
+
+<seealso><a href="../dns-caveats.html">Problèmes concernant le DNS et
+Apache</a></seealso>
+<seealso><a href="../vhosts/">Documentation sur les serveurs virtuels
+d'Apache</a></seealso>
+<seealso><directive module="core">UseCanonicalName</directive></seealso>
+<seealso><directive module="core">UseCanonicalPhysicalPort</directive></seealso>
+<seealso><directive module="core">NameVirtualHost</directive></seealso>
+<seealso><directive module="core">ServerAlias</directive></seealso>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>ServerPath</name>
+<description>Nom de chemin d'URL hérité pour un serveur virtuel à base
+de nom accédé par un navigateur incompatible</description>
+<syntax>ServerPath <var>chemin d'URL</var></syntax>
+<contextlist><context>virtual host</context></contextlist>
+
+<usage>
+ <p>La directive <directive>ServerPath</directive> permet de définir
+ le nom de chemin d'URL hérité d'un hôte, à utiliser avec les <a
+ href="../vhosts/">serveurs virtuels à base de nom</a>.</p>
+</usage>
+<seealso><a href="../vhosts/">Documentation sur les serveurs virtuels
+d'Apache</a></seealso>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>ServerRoot</name>
+<description>Racine du répertoire d'installation du
+serveur</description>
+<syntax>ServerRoot <var>chemin de répertoire</var></syntax>
+<default>ServerRoot /usr/local/apache</default>
+<contextlist><context>server config</context></contextlist>
+
+<usage>
+ <p>La directive <directive>ServerRoot</directive> permet de définir
+ le répertoire dans lequel le serveur est installé. En particulier,
+ il contiendra les sous-répertoires <code>conf/</code> et
+ <code>logs/</code>. Les chemins relatifs indiqués dans les autres
+ directives (comme <directive
+ module="core">Include</directive> ou <directive
+ module="mod_so">LoadModule</directive>) seront définis par
+ rapport à ce répertoire.</p>
+
+ <example><title>Example</title>
+ ServerRoot /home/httpd
+ </example>
+
+</usage>
+<seealso><a href="../invoking.html">the <code>-d</code>
+ options de <code>httpd</code></a></seealso>
+<seealso><a href="../misc/security_tips.html#serverroot">les conseils à
+propos de sécurité</a> pour des informations sur la manière de définir
+correctement les permissions sur le répertoire indiqué par la directive
+<directive>ServerRoot</directive></seealso>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>ServerSignature</name>
+<description>Définit un pied de page pour les documents générés par le
+serveur</description>
+<syntax>ServerSignature On|Off|EMail</syntax>
+<default>ServerSignature Off</default>
+<contextlist><context>server config</context><context>virtual
+host</context>
+<context>directory</context><context>.htaccess</context>
+</contextlist>
+<override>All</override>
+
+<usage>
+ <p>La directive <directive>ServerSignature</directive> permet de
+ définir une ligne de pied de page fixe pour les documents générés
+ par le serveur (messages d'erreur, listings de répertoires ftp de
+ <module>mod_proxy</module>, sorties de <module>mod_info</module>,
+ etc...). Dans le cas d'une chaîne de mandataires, l'utilisateur n'a
+ souvent aucun moyen de déterminer lequel des mandataires chaînés a
+ généré un message d'erreur, et c'est une des raisons pour lesquelles
+ on peut être amené à ajouter un tel pied de page.</p>
+
+ <p>La valeur par défaut <code>Off</code> supprime la ligne de pied
+ de page (et est ainsi compatible avec le comportement des
+ versions 1.2 et antérieures d'Apache). la valeur <code>On</code>
+ ajoute simplement une ligne contenant le numéro de version du
+ serveur ainsi que le nom du serveur virtuel issu de la directive
+ <directive module="core">ServerName</directive>, alors que la valeur
+ <code>EMail</code> ajoute en plus une référence "mailto:" à
+ l'administrateur du document référencé issu la directive
+ <directive module="core">ServerAdmin</directive>.</p>
+
+ <p>Après la version 2.0.44, les détails à propos du numéro de
+ version du serveur sont contrôlés à l'aide de la directive
+ <directive module="core">ServerTokens</directive>.</p>
+</usage>
+<seealso><directive module="core">ServerTokens</directive></seealso>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>ServerTokens</name>
+<description>Configure l'en-tête <code>Server</code> de la réponse
+HTTP</description>
+<syntax>ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full</syntax>
+<default>ServerTokens Full</default>
+<contextlist><context>server config</context></contextlist>
+
+<usage>
+ <p>Cette directive permet de contrôler le contenu de l'en-tête
+ <code>Server</code> inclus dans la réponse envoyée au client : cet
+ en-tête peut contenir le type de système d'exploitation du serveur,
+ ainsi que des informations à propos des modules compilés avec le
+ serveur.</p>
+
+ <dl>
+ <dt><code>ServerTokens Prod[uctOnly]</code></dt>
+
+ <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server:
+ Apache</code></dd>
+
+ <dt><code>ServerTokens Major</code></dt>
+
+ <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server:
+ Apache/2</code></dd>
+
+ <dt><code>ServerTokens Minor</code></dt>
+
+ <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server:
+ Apache/2.0</code></dd>
+
+ <dt><code>ServerTokens Min[imal]</code></dt>
+
+ <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server:
+ Apache/2.0.41</code></dd>
+
+ <dt><code>ServerTokens OS</code></dt>
+
+ <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server:
+ Apache/2.0.41 (Unix)</code></dd>
+
+ <dt><code>ServerTokens Full</code> (valeur par défaut)</dt>
+
+ <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server:
+ Apache/2.0.41 (Unix) PHP/4.2.2 MyMod/1.2</code></dd>
+ </dl>
+
+ <p>Cette définition s'applique à l'ensemble du serveur et ne peut
+ être activée ou désactivée pour tel ou tel serveur virtuel.</p>
+
+ <p>Dans les versions postérieures à 2.0.44, cette directive contrôle
+ aussi les informations fournies par la directive <directive
+ module="core">ServerSignature</directive>.</p>
+</usage>
+<seealso><directive module="core">ServerSignature</directive></seealso>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>SetHandler</name>
+<description>Force le traitement des fichiers spécifiés par un
+gestionnaire particulier</description>
+<syntax>SetHandler <var>nom gestionnaire</var>|None</syntax>
+<contextlist><context>server config</context><context>virtual
+host</context>
+<context>directory</context><context>.htaccess</context>
+</contextlist>
+<override>FileInfo</override>
+<compatibility>Intégré dans le noyau d'Apache depuis la version
+2.0</compatibility>
+
+<usage>
+ <p>Lorsqu'elle se situe à l'intérieur d'un fichier
+ <code>.htaccess</code>, ou d'une section <directive type="section"
+ module="core">Directory</directive> ou <directive type="section"
+ module="core">Location</directive>, cette directive force le
+ traitement de tous les fichiers spécifiés par le <a
+ href="../handler.html">gestionnaire</a> défini par l'argument
+ <var>nom gestionnaire</var>. Par exemple, dans le cas d'un
+ répertoire dont vous voulez interpréter le contenu comme des
+ fichiers de règles d'images cliquables, sans tenir compte des
+ extensions, vous pouvez ajouter la ligne suivante dans un fichier
+ <code>.htaccess</code> de ce répertoire :</p>
+
+ <example>
+ SetHandler imap-file
+ </example>
+
+ <p>Autre exemple : si vous voulez que le serveur affiche un
+ compte-rendu d'état chaque fois qu'une URL du type <code>http://nom
+ serveur/status</code> est appelée, vous pouvez ajouter ceci dans
+ <code>httpd.conf</code> :</p>
+
+ <example>
+ <Location /status><br />
+ <indent>
+ SetHandler server-status<br />
+ </indent>
+ </Location>
+ </example>
+
+ <p>Vous pouvez écraser la définition antérieure d'une directive
+ <directive>SetHandler</directive> en utilisant la valeur
+ <code>None</code>.</p>
+ <p><strong>Note :</strong> comme SetHandler l'emporte sur la
+ définition des gestionnaires par défaut, le comportement habituel
+ consistant à traiter les URLs se terminant par un slash (/) comme
+ des répertoires ou des fichiers index est désactivé.</p>
+</usage>
+
+<seealso><directive module="mod_mime">AddHandler</directive></seealso>
+
+</directivesynopsis>
+
+<directivesynopsis>
+<name>SetInputFilter</name>
+<description>Définit les filtres par lesquels vont passer les requêtes
+client et les données POST</description>
+<syntax>SetInputFilter <var>filtre</var>[;<var>filtre</var>...]</syntax>
+<contextlist><context>server config</context><context>virtual
+host</context>
+<context>directory</context><context>.htaccess</context>
+</contextlist>
+<override>FileInfo</override>
+
+<usage>
+ <p>La directive <directive>SetInputFilter</directive> permet de
+ définir le ou les filtres par lesquels vont passer les requêtes
+ client et les données POST au moment où le serveur les reçoit. Cette
+ définition vient en ajout à tout autre filtre défini en
+ quelqu'endroit que ce soit, y compris via la directive <directive
+ module="mod_mime">AddInputFilter</directive>.</p>
+
+ <p>Si la directive comporte plusieurs filtres, ils doivent être
+ séparés par des points-virgules, et spécifiés selon l'ordre dans
+ lequel vous souhaitez les voir agir sur les contenus.</p>
+</usage>
+<seealso>documentation des <a
+href="../filter.html">Filtres</a></seealso>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>SetOutputFilter</name>
+<description>Définit les filtres par lesquels vont passer les réponses
+du serveur</description>
+<syntax>SetOutputFilter <var>filtre</var>[;<var>filtre</var>...]</syntax>
+<contextlist><context>server config</context><context>virtual
+host</context>
+<context>directory</context><context>.htaccess</context>
+</contextlist>
+<override>FileInfo</override>
+
+<usage>
+ <p>La directive <directive>SetOutputFilter</directive> permet de
+ définir les filtres par lesquels vont passer les réponses du serveur
+ avant d'être envoyées au client. Cette définition vient en ajout à
+ tout autre filtre défini en quelqu'endroit que ce soit, y compris
+ via la directive <directive
+ module="mod_mime">AddOutputFilter</directive>.</p>
+
+ <p>Par exemple, la configuration suivante va traiter tous les
+ fichiers du répertoire <code>/www/data/</code> comme des inclusions
+ côté serveur (SSI) :</p>
+
+ <example>
+ <Directory /www/data/><br />
+ <indent>
+ SetOutputFilter INCLUDES<br />
+ </indent>
+ </Directory>
+ </example>
+
+ <p>Si la directive comporte plusieurs filtres, ils doivent être
+ séparés par des points-virgules, et spécifiés selon l'ordre dans
+ lequel vous souhaitez les voir agir sur les contenus.</p>
+</usage>
+<seealso><a href="../filter.html">Filters</a> documentation</seealso>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>TimeOut</name>
+<description>Temps pendant lequel le serveur va attendre certains
+évènements avant de considérer qu'une requête a échoué</description>
+<syntax>TimeOut <var>secondes</var></syntax>
+<default>TimeOut 300</default>
+<contextlist><context>server config</context><context>virtual
+host</context></contextlist>
+
+<usage>
+ <p>La directive <directive>TimeOut</directive> permet de définir le
+ temps maximum pendant lequel Apache va attendre des entrées/sorties
+ selon les circonstances :</p>
+
+ <ol>
+ <li>Lors de la lecture de données en provenance du client, le
+ temps maximum jusqu'à l'arrivée d'un paquet TCP si le tampon est
+ vide.</li>
+
+ <li>Lors de l'écriture de données destinées au client, le temps
+ maximum jusqu'à l'arrivée de l'accusé-réception d'un paquet si le
+ tampon d'envoi est plein.</li>
+
+ <li>Avec <module>mod_cgi</module>, le temps d'attente maximum des
+ sorties d'un script CGI.</li>
+
+ <li>Avec <module>mod_ext_filter</module>, le temps d'attente
+ maximum des sorties d'un processus de filtrage.</li>
+
+ <li>Avec <module>mod_proxy</module>, la valeur du délai par défaut
+ si <directive module="mod_proxy">ProxyTimeout</directive> n'est
+ pas défini.</li>
+ </ol>
+
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>TraceEnable</name>
+<description>Détermine le comportement des requêtes
+<code>TRACE</code></description>
+<syntax>TraceEnable <var>[on|off|extended]</var></syntax>
+<default>TraceEnable on</default>
+<contextlist><context>server config</context></contextlist>
+<compatibility>Disponible dans les versions 1.3.34, 2.0.55 et
+supérieures d'Apache</compatibility>
+
+<usage>
+ <p>Cette directive l'emporte sur le comportement de
+ <code>TRACE</code> pour le noyau du serveur et
+ <module>mod_proxy</module>. La définition par défaut
+ <code>TraceEnable on</code> permet des requêtes <code>TRACE</code>
+ selon la RFC 2616, qui interdit d'ajouter tout corps à la requête.
+ La définition <code>TraceEnable off</code> indique au noyau du
+ serveur et à <module>mod_proxy</module> de retourner un code
+ d'erreur <code>405</code> (Méthode non autorisée) au client.</p>
+
+ <p>En fait, et à des fins de test et de diagnostic seulement, on
+ peut autoriser l'ajout d'un corps de requête à l'aide de la
+ définition non standard <code>TraceEnable extended</code>. Le noyau
+ du serveur (dans le cas d'un serveur d'origine) va limiter la taille
+ du corps de requête à 64k (plus 8k pour les en-têtes de
+ fractionnement si <code>Transfer-Encoding: chunked</code> est
+ utilisé). Le noyau du serveur va reproduire l'ensemble des en-têtes,
+ y compris les en-têtes de fractionnement avec le corps de la
+ réponse. Dans le cas d'un serveur mandataire, la taille du corps de
+ requête n'est pas limitée à 64k.</p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>UseCanonicalName</name>
+<description>Définit la manière dont le serveur détermine son propre nom
+et son port</description>
+<syntax>UseCanonicalName On|Off|DNS</syntax>
+<default>UseCanonicalName Off</default>
+<contextlist><context>server config</context><context>virtual
+host</context>
+<context>directory</context></contextlist>
+
+<usage>
+ <p>Dans de nombreuses situations, Apache doit construire une URL
+ <em>auto-identifiante</em> -- c'est à dire une URL qui fait
+ référence au serveur lui-même. Avec <code>UseCanonicalName
+ On</code>, Apache va utiliser le nom d'hôte et le port spécifiés par
+ la directive <directive module="core">ServerName</directive> pour
+ construire le nom canonique du serveur. Ce nom est utilisé dans
+ toutes les URLs auto-identifiantes, et affecté aux variables
+ <code>SERVER_NAME</code> et <code>SERVER_PORT</code> dans les
+ programmes CGI.</p>
+
+ <p>Avec <code>UseCanonicalName Off</code>, Apache va construire ses
+ URLs auto-identifiantes à l'aide du nom d'hôte et du port fournis
+ par le client, si ce dernier en a fourni un (dans la négative,
+ Apache utilisera le nom canonique, de la même manière que
+ ci-dessus). Ces valeurs sont les mêmes que celles qui sont utilisées
+ pour implémenter les <a
+ href="../vhosts/name-based.html">serveurs virtuels à base de
+ nom</a>, et sont disponibles avec les mêmes clients. De même, les
+ variables CGI <code>SERVER_NAME</code> et <code>SERVER_PORT</code>
+ seront affectées des valeurs fournies par le client.</p>
+
+ <p>Cette directive peut s'avérer utile, par exemple, sur un serveur
+ intranet auquel les utilisateurs se connectent en utilisant des noms
+ courts tels que <code>www</code>. Si les utilisateurs tapent un nom
+ court suivi d'une URL qui fait référence à un répertoire, comme
+ <code>http://www/splat</code>, <em>sans le slash terminal</em>, vous
+ remarquerez qu'Apache va les rediriger vers
+ <code>http://www.domain.com/splat/</code>. Si vous avez activé
+ l'authentification, ceci va obliger l'utilisateur à s'authentifier
+ deux fois (une première fois pour <code>www</code> et une seconde
+ fois pour <code>www.domain.com</code> -- voir <a
+ href="http://httpd.apache.org/docs/misc/FAQ.html#prompted-twice">la
+ foire aux questions sur ce sujet pour plus d'informations</a>). Par
+ contre, si <directive>UseCanonicalName</directive> est définie à
+ <code>Off</code>, Apache redirigera l'utilisateur vers
+ <code>http://www/splat/</code>.</p>
+
+ <p>Pour l'hébergement virtuel en masse à base d'adresse IP, on
+ utilise une troisième option, <code>UseCanonicalName
+ DNS</code>, pour supporter les clients anciens qui ne
+ fournissent pas d'en-tête <code>Host:</code>. Apache effectue alors
+ une recherche DNS inverse sur l'adresse IP du serveur auquel le
+ client s'est connecté afin de construire ses URLs
+ auto-identifiantes.</p>
+
+ <note type="warning"><title>Avertissement</title>
+ <p>Les programmes CGI risquent d'être perturbés par cette option
+ s'ils tiennent compte de la variable <code>SERVER_NAME</code>. Le
+ client est pratiquement libre de fournir la valeur qu'il veut comme
+ nom d'hôte. Mais si le programme CGI n'utilise
+ <code>SERVER_NAME</code> que pour construire des URLs
+ auto-identifiantes, il ne devrait pas y avoir de problème.</p>
+ </note>
+</usage>
+<seealso><directive module="core">UseCanonicalPhysicalPort</directive></seealso>
+<seealso><directive module="core">ServerName</directive></seealso>
+<seealso><directive module="mpm_common">Listen</directive></seealso>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>UseCanonicalPhysicalPort</name>
+<description>Définit la manière dont le serveur détermine son propre nom
+et son port</description>
+<syntax>UseCanonicalPhysicalPort On|Off</syntax>
+<default>UseCanonicalPhysicalPort Off</default>
+<contextlist><context>server config</context><context>virtual
+host</context>
+<context>directory</context></contextlist>
+
+<usage>
+ <p>Dans de nombreuses situations, Apache doit construire une URL
+ <em>auto-identifiante</em> -- c'est à dire une URL qui fait
+ référence au serveur lui-même. Avec <code>UseCanonicalPhysicalPort
+ On</code>, Apache va fournir le numéro de port physique réel utilisé
+ par la requête en tant que port potentiel, pour construire le port
+ canonique afin que le serveur puisse alimenter la directive
+ <directive module="core">UseCanonicalName</directive>. Avec
+ <code>UseCanonicalPhysicalPort Off</code>, Apache n'utilisera pas le
+ numéro de port physique réel, mais au contraire se référera aux
+ informations de configuration pour construire un numéro de port
+ valide.</p>
+
+ <note><title>Note</title>
+ <p>L'ordre dans lequel s'effectue la recherche du port est le
+ suivant :<br /><br />
+ <code>UseCanonicalName On</code></p>
+ <ul>
+ <li>Port spécifié par <code>Servername</code></li>
+ <li>Port physique</li>
+ <li>Port par défaut</li>
+ </ul>
+ <code>UseCanonicalName Off | DNS</code>
+ <ul>
+ <li>Port spécifié dans l'en-tête <code>Host:</code></li>
+ <li>Port physique</li>
+ <li>Port spécifié par <code>Servername</code></li>
+ <li>Port par défaut</li>
+ </ul>
+
+ <p>Avec <code>UseCanonicalPhysicalPort Off</code>, on reprend
+ l'ordre ci-dessus en supprimant "Port physique".</p>
+ </note>
+
+</usage>
+<seealso><directive module="core">UseCanonicalName</directive></seealso>
+<seealso><directive module="core">ServerName</directive></seealso>
+<seealso><directive module="mpm_common">Listen</directive></seealso>
+</directivesynopsis>
+
+<directivesynopsis type="section">
+<name>VirtualHost</name>
+<description>Contient des directives qui ne s'appliquent qu'à un nom
+d'hôte spécifique ou à une adresse IP</description>
+<syntax><VirtualHost
+ <var>adresse IP</var>[:<var>port</var>] [<var>adresse
+ IP</var>[:<var>port</var>]] ...> ...
+ </VirtualHost></syntax>
+<contextlist><context>server config</context></contextlist>
+
+<usage>
+ <p>Les balises <directive type="section">VirtualHost</directive> et
+ <code></VirtualHost></code> permettent de rassembler un groupe
+ de directives qui ne s'appliquent qu'à un serveur virtuel
+ particulier. Toute directive autorisée dans un contexte de serveur
+ virtuel peut être utilisée. Lorsque le serveur reçoit un requête
+ pour un document hébergé par un serveur virtuel particulier, il
+ applique les directives de configuration rassemblées dans la section
+ <directive type="section">VirtualHost</directive>. <var>adresse
+ IP</var> peut être :</p>
+
+ <ul>
+ <li>L'adresse IP du serveur virtuel ;</li>
+
+ <li>Un nom de domaine entièrement qualifié correspondant à
+ l'adresse IP du serveur virtuel (non recommandé) ;</li>
+
+ <li>Le caractère <code>*</code>, qui n'est utilisé qu'en
+ combinaison avec <code>NameVirtualHost *</code> pour intercepter
+ toutes les adresses IP ; ou</li>
+
+ <li>La chaîne de caractères <code>_default_</code>, qui n'est
+ utilisée qu'avec l'hébergement virtuel à base d'adresse IP pour
+ intercepter les adresses IP qui ne correspondent à aucun serveur
+ virtuel.</li>
+ </ul>
+
+ <example><title>Exemple</title>
+ <VirtualHost 10.1.2.3><br />
+ <indent>
+ ServerAdmin webmaster@host.exemple.com<br />
+ DocumentRoot /www/docs/host.exemple.com<br />
+ ServerName host.exemple.com<br />
+ ErrorLog logs/host.exemple.com-error_log<br />
+ TransferLog logs/host.exemple.com-access_log<br />
+ </indent>
+ </VirtualHost>
+ </example>
+
+
+ <p>Les adresses IPv6 doivent être entourées de crochets car dans le
+ cas contraire, un éventuel port optionnel ne pourrait pas être
+ déterminé. Voici un exemple de serveur virtuel avec adresse IPv6
+ :</p>
+
+ <example>
+ <VirtualHost [2001:db8::a00:20ff:fea7:ccea]><br />
+ <indent>
+ ServerAdmin webmaster@host.exemple.com<br />
+ DocumentRoot /www/docs/host.exemple.com<br />
+ ServerName host.exemple.com<br />
+ ErrorLog logs/host.exemple.com-error_log<br />
+ TransferLog logs/host.exemple.com-access_log<br />
+ </indent>
+ </VirtualHost>
+ </example>
+
+ <p>Chaque serveur virtuel doit correspondre à une adresse IP, un
+ port ou un nom d'hôte spécifique ; dans le premier cas, le serveur
+ doit être configuré pour recevoir les paquets IP de plusieurs
+ adresses (si le serveur n'a qu'une interface réseau, on peut
+ utiliser à cet effet la commande <code>ifconfig alias</code> -- si
+ votre système d'exploitation le permet).</p>
+
+ <note><title>Note</title>
+ <p>L'utilisation de la directive <directive
+ type="section">VirtualHost</directive> n'affecte en rien les
+ adresses IP sur lesquelles Apache est en écoute. Vous devez vous
+ assurer que les adresses des serveurs virtuels sont bien incluses
+ dans la liste des adresses précisées par la directive <directive
+ module="mpm_common">Listen</directive>.</p>
+ </note>
+
+ <p>Avec l'hébergement virtuel à base d'adresse IP, on peut utiliser
+ le nom spécial <code>_default_</code>, auquel cas le serveur virtuel
+ considéré interceptera toute adresse IP qui n'est pas explicitement
+ associée à un autre serveur virtuel. En l'absence de serveur virtuel
+ associé à <code>_default_</code>, et si l'adresse IP demandée ne
+ correspond à aucun serveur virtuel, c'est la configuration du
+ serveur "principal" qui sera utilisée, c'est à dire l'ensemble des
+ définitions situées en dehors de toute section VirtualHost.</p>
+
+ <p>Vous pouvez spécifier <code>:port</code> pour modifier le port du
+ serveur virtuel. S'il n'est pas spécifié, sa valeur par défaut
+ correspond à celle qui est définie par la dernière directive
+ <directive module="mpm_common">Listen</directive> du serveur
+ principal. Vous pouvez aussi spécifier <code>:*</code> pour accepter
+ tous les ports associés à l'adresse du serveur virtuel (c'est une
+ configuration recommandée lorsqu'on utilise
+ <code>_default_</code>).</p>
+
+ <p>Tout bloc <directive
+ type="section">VirtualHost</directive> doit comporter une directive
+ <directive module="core">ServerName</directive>. Dans le cas
+ contraire, le serveur virtuel héritera de la valeur de la directive
+ <directive module="core">ServerName</directive> issue de la
+ configuration du serveur principal.</p>
+
+ <note type="warning"><title>Sécurité</title>
+ <p>Voir le document sur les <a
+ href="../misc/security_tips.html">conseils à propos de sécurité</a>
+ pour une description détaillée des raisons pour lesquelles la
+ sécurité de votre serveur pourrait être compromise, si le répertoire
+ contenant les fichiers journaux est inscriptible par tout autre
+ utilisateur que celui qui démarre le serveur.</p>
+ </note>
+</usage>
+<seealso><a href="../vhosts/">Documentation des serveurs virtuels
+d'Apache</a></seealso>
+<seealso><a href="../dns-caveats.html">Problèmes concernant DNS et
+Apache</a></seealso>
+<seealso><a href="../bind.html">Définition des adresses et ports
+qu'utilise Apache</a></seealso>
+<seealso><a href="../sections.html">Comment fonctionnent les sections
+<Directory>, <Location> et <Files></a> pour une
+explication de la manière dont ces différentes sections se combinent
+entre elles à la réception d'une requête</seealso>
+</directivesynopsis>
+
+</modulesynopsis>