1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
4 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5 This file is generated from xml source: DO NOT EDIT
6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
8 <title>core - Serveur Apache HTTP Version 2.5</title>
9 <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
10 <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
11 <link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
12 <script src="../style/scripts/prettify.min.js" type="text/javascript">
15 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
17 <div id="page-header">
18 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
19 <p class="apache">Serveur Apache HTTP Version 2.5</p>
20 <img alt="" src="../images/feather.gif" /></div>
21 <div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
23 <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.5</a> > <a href="./">Modules</a></div>
24 <div id="page-content">
25 <div id="preamble"><h1>Fonctionalités de Base Apache</h1>
27 <p><span>Langues Disponibles: </span><a href="../de/mod/core.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
28 <a href="../en/mod/core.html" hreflang="en" rel="alternate" title="English"> en </a> |
29 <a href="../es/mod/core.html" hreflang="es" rel="alternate" title="Español"> es </a> |
30 <a href="../fr/mod/core.html" title="Français"> fr </a> |
31 <a href="../ja/mod/core.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
32 <a href="../tr/mod/core.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
34 <div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
35 anglaise pour les changements récents.</div>
36 <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fonctionnalités de base du serveur HTTP Apache toujours
38 <tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Core</td></tr></table>
40 <div id="quickview"><h3 class="directives">Directives</h3>
42 <li><img alt="" src="../images/down.gif" /> <a href="#acceptfilter">AcceptFilter</a></li>
43 <li><img alt="" src="../images/down.gif" /> <a href="#acceptpathinfo">AcceptPathInfo</a></li>
44 <li><img alt="" src="../images/down.gif" /> <a href="#accessfilename">AccessFileName</a></li>
45 <li><img alt="" src="../images/down.gif" /> <a href="#adddefaultcharset">AddDefaultCharset</a></li>
46 <li><img alt="" src="../images/down.gif" /> <a href="#allowencodedslashes">AllowEncodedSlashes</a></li>
47 <li><img alt="" src="../images/down.gif" /> <a href="#allowoverride">AllowOverride</a></li>
48 <li><img alt="" src="../images/down.gif" /> <a href="#allowoverridelist">AllowOverrideList</a></li>
49 <li><img alt="" src="../images/down.gif" /> <a href="#cgimapextension">CGIMapExtension</a></li>
50 <li><img alt="" src="../images/down.gif" /> <a href="#cgipassauth">CGIPassAuth</a></li>
51 <li><img alt="" src="../images/down.gif" /> <a href="#contentdigest">ContentDigest</a></li>
52 <li><img alt="" src="../images/down.gif" /> <a href="#defaultruntimedir">DefaultRuntimeDir</a></li>
53 <li><img alt="" src="../images/down.gif" /> <a href="#defaulttype">DefaultType</a></li>
54 <li><img alt="" src="../images/down.gif" /> <a href="#define">Define</a></li>
55 <li><img alt="" src="../images/down.gif" /> <a href="#directory"><Directory></a></li>
56 <li><img alt="" src="../images/down.gif" /> <a href="#directorymatch"><DirectoryMatch></a></li>
57 <li><img alt="" src="../images/down.gif" /> <a href="#documentroot">DocumentRoot</a></li>
58 <li><img alt="" src="../images/down.gif" /> <a href="#else"><Else></a></li>
59 <li><img alt="" src="../images/down.gif" /> <a href="#elseif"><ElseIf></a></li>
60 <li><img alt="" src="../images/down.gif" /> <a href="#enablemmap">EnableMMAP</a></li>
61 <li><img alt="" src="../images/down.gif" /> <a href="#enablesendfile">EnableSendfile</a></li>
62 <li><img alt="" src="../images/down.gif" /> <a href="#error">Error</a></li>
63 <li><img alt="" src="../images/down.gif" /> <a href="#errordocument">ErrorDocument</a></li>
64 <li><img alt="" src="../images/down.gif" /> <a href="#errorlog">ErrorLog</a></li>
65 <li><img alt="" src="../images/down.gif" /> <a href="#errorlogformat">ErrorLogFormat</a></li>
66 <li><img alt="" src="../images/down.gif" /> <a href="#extendedstatus">ExtendedStatus</a></li>
67 <li><img alt="" src="../images/down.gif" /> <a href="#fileetag">FileETag</a></li>
68 <li><img alt="" src="../images/down.gif" /> <a href="#files"><Files></a></li>
69 <li><img alt="" src="../images/down.gif" /> <a href="#filesmatch"><FilesMatch></a></li>
70 <li><img alt="" src="../images/down.gif" /> <a href="#forcetype">ForceType</a></li>
71 <li><img alt="" src="../images/down.gif" /> <a href="#gprofdir">GprofDir</a></li>
72 <li><img alt="" src="../images/down.gif" /> <a href="#hostnamelookups">HostnameLookups</a></li>
73 <li><img alt="" src="../images/down.gif" /> <a href="#if"><If></a></li>
74 <li><img alt="" src="../images/down.gif" /> <a href="#ifdefine"><IfDefine></a></li>
75 <li><img alt="" src="../images/down.gif" /> <a href="#ifmodule"><IfModule></a></li>
76 <li><img alt="" src="../images/down.gif" /> <a href="#include">Include</a></li>
77 <li><img alt="" src="../images/down.gif" /> <a href="#includeoptional">IncludeOptional</a></li>
78 <li><img alt="" src="../images/down.gif" /> <a href="#keepalive">KeepAlive</a></li>
79 <li><img alt="" src="../images/down.gif" /> <a href="#keepalivetimeout">KeepAliveTimeout</a></li>
80 <li><img alt="" src="../images/down.gif" /> <a href="#limit"><Limit></a></li>
81 <li><img alt="" src="../images/down.gif" /> <a href="#limitexcept"><LimitExcept></a></li>
82 <li><img alt="" src="../images/down.gif" /> <a href="#limitinternalrecursion">LimitInternalRecursion</a></li>
83 <li><img alt="" src="../images/down.gif" /> <a href="#limitrequestbody">LimitRequestBody</a></li>
84 <li><img alt="" src="../images/down.gif" /> <a href="#limitrequestfields">LimitRequestFields</a></li>
85 <li><img alt="" src="../images/down.gif" /> <a href="#limitrequestfieldsize">LimitRequestFieldSize</a></li>
86 <li><img alt="" src="../images/down.gif" /> <a href="#limitrequestline">LimitRequestLine</a></li>
87 <li><img alt="" src="../images/down.gif" /> <a href="#limitxmlrequestbody">LimitXMLRequestBody</a></li>
88 <li><img alt="" src="../images/down.gif" /> <a href="#location"><Location></a></li>
89 <li><img alt="" src="../images/down.gif" /> <a href="#locationmatch"><LocationMatch></a></li>
90 <li><img alt="" src="../images/down.gif" /> <a href="#loglevel">LogLevel</a></li>
91 <li><img alt="" src="../images/down.gif" /> <a href="#logleveloverride">LogLevelOverride</a></li>
92 <li><img alt="" src="../images/down.gif" /> <a href="#maxkeepaliverequests">MaxKeepAliveRequests</a></li>
93 <li><img alt="" src="../images/down.gif" /> <a href="#maxrangeoverlaps">MaxRangeOverlaps</a></li>
94 <li><img alt="" src="../images/down.gif" /> <a href="#maxrangereversals">MaxRangeReversals</a></li>
95 <li><img alt="" src="../images/down.gif" /> <a href="#maxranges">MaxRanges</a></li>
96 <li><img alt="" src="../images/down.gif" /> <a href="#mergetrailers">MergeTrailers</a></li>
97 <li><img alt="" src="../images/down.gif" /> <a href="#mutex">Mutex</a></li>
98 <li><img alt="" src="../images/down.gif" /> <a href="#namevirtualhost">NameVirtualHost</a></li>
99 <li><img alt="" src="../images/down.gif" /> <a href="#options">Options</a></li>
100 <li><img alt="" src="../images/down.gif" /> <a href="#protocol">Protocol</a></li>
101 <li><img alt="" src="../images/down.gif" /> <a href="#registerhttpmethod">RegisterHttpMethod</a></li>
102 <li><img alt="" src="../images/down.gif" /> <a href="#rlimitcpu">RLimitCPU</a></li>
103 <li><img alt="" src="../images/down.gif" /> <a href="#rlimitmem">RLimitMEM</a></li>
104 <li><img alt="" src="../images/down.gif" /> <a href="#rlimitnproc">RLimitNPROC</a></li>
105 <li><img alt="" src="../images/down.gif" /> <a href="#scriptinterpretersource">ScriptInterpreterSource</a></li>
106 <li><img alt="" src="../images/down.gif" /> <a href="#seerequesttail">SeeRequestTail</a></li>
107 <li><img alt="" src="../images/down.gif" /> <a href="#serveradmin">ServerAdmin</a></li>
108 <li><img alt="" src="../images/down.gif" /> <a href="#serveralias">ServerAlias</a></li>
109 <li><img alt="" src="../images/down.gif" /> <a href="#servername">ServerName</a></li>
110 <li><img alt="" src="../images/down.gif" /> <a href="#serverpath">ServerPath</a></li>
111 <li><img alt="" src="../images/down.gif" /> <a href="#serverroot">ServerRoot</a></li>
112 <li><img alt="" src="../images/down.gif" /> <a href="#serversignature">ServerSignature</a></li>
113 <li><img alt="" src="../images/down.gif" /> <a href="#servertokens">ServerTokens</a></li>
114 <li><img alt="" src="../images/down.gif" /> <a href="#sethandler">SetHandler</a></li>
115 <li><img alt="" src="../images/down.gif" /> <a href="#setinputfilter">SetInputFilter</a></li>
116 <li><img alt="" src="../images/down.gif" /> <a href="#setoutputfilter">SetOutputFilter</a></li>
117 <li><img alt="" src="../images/down.gif" /> <a href="#timeout">TimeOut</a></li>
118 <li><img alt="" src="../images/down.gif" /> <a href="#traceenable">TraceEnable</a></li>
119 <li><img alt="" src="../images/down.gif" /> <a href="#undefine">UnDefine</a></li>
120 <li><img alt="" src="../images/down.gif" /> <a href="#usecanonicalname">UseCanonicalName</a></li>
121 <li><img alt="" src="../images/down.gif" /> <a href="#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></li>
122 <li><img alt="" src="../images/down.gif" /> <a href="#virtualhost"><VirtualHost></a></li>
123 <li><img alt="" src="../images/down.gif" /> <a href="#warning">Warning</a></li>
125 <ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div>
127 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
128 <div class="directive-section"><h2><a name="acceptfilter" id="acceptfilter">Directive</a> <a name="AcceptFilter" id="AcceptFilter">AcceptFilter</a></h2>
129 <table class="directive">
130 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Permet d'optimiser la configuration d'une socket pour
131 l'écoute d'un protocole</td></tr>
132 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AcceptFilter <var>protocole</var> <var>filtre
133 d'acceptation</var></code></td></tr>
134 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
135 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
136 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
138 <p>Cette directive permet d'effectuer une optimisation de la socket
139 d'écoute d'un type de protocole en fonction du système
140 d'exploitation. Le but premier est de faire en sorte que le noyau
141 n'envoie pas de socket au processus du serveur jusqu'à ce que
142 des données soient reçues, ou qu'une requête HTTP complète soit mise
143 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
144 primitif <code>TCP_DEFER_ACCEPT</code> sous Linux, et la version
145 optimisée d'AcceptEx() de Windows sont actuellement supportés.</p>
147 <p>L'utilisation de l'argument <code>none</code> va désactiver tout
148 filtre d'acceptation pour ce protocole. Ceci s'avère utile pour les
149 protocoles qui nécessitent l'envoi de données par le serveur en
150 premier, comme <code>ftp:</code> ou <code>nntp</code>:</p>
151 <pre class="prettyprint lang-config">AcceptFilter nntp none</pre>
154 <p>Les noms de protocoles par défaut sont <code>https</code> pour le
155 port 443 et <code>http</code> pour tous les autres ports. Pour
156 spécifier un autre protocole à utiliser avec un port en écoute,
157 ajoutez l'argument <var>protocol</var> à la directive <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code>.</p>
159 <p>Sous FreeBSD, les valeurs par défaut sont :</p>
160 <pre class="prettyprint lang-config">AcceptFilter http httpready
161 AcceptFilter https dataready</pre>
164 <p>Le filtre d'acceptation <code>httpready</code> met en tampon des
165 requêtes HTTP entières au niveau du noyau. Quand une requête
166 entière a été reçue, le noyau l'envoie au serveur. Voir la page de
167 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
168 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>
170 <p>Sous Linux, les valeurs par défaut sont :</p>
171 <pre class="prettyprint lang-config">AcceptFilter http data
172 AcceptFilter https data</pre>
175 <p>Le filtre <code>TCP_DEFER_ACCEPT</code> de Linux ne supporte pas
176 la mise en tampon des requêtes http. Toute valeur autre que
177 <code>none</code> active le filtre <code>TCP_DEFER_ACCEPT</code>
178 pour ce protocole. Pour plus de détails, voir la page de
179 manuel Linux de <a href="http://homepages.cwi.nl/~aeb/linux/man2html/man7/ tcp.7.html">tcp(7)</a>.</p>
181 <p>Sous Windows, les valeurs par défaut sont :</p>
182 <pre class="prettyprint lang-config">AcceptFilter http data
183 AcceptFilter https data</pre>
186 <p>Le module MPM pour Windows mpm_winnt utilise la directive
187 AcceptFilter comme commutateur de l'API AcceptEx(), et ne supporte
188 pas la mise en tampon du protocole http. Deux valeurs utilisent
189 l'API Windows AcceptEx() et vont recycler les sockets réseau entre
190 les connexions. <code>data</code> attend jusqu'à ce que les données
191 aient été transmises comme décrit plus haut, et le tampon de données
192 initiales ainsi que les adresses réseau finales sont tous extraits
193 grâce à une seule invocation d'AcceptEx(). <code>connect</code>
194 utilise l'API AcceptEx(), extrait aussi les adresses réseau finales,
195 mais à l'instar de <code>none</code>, la valeur <code>connect</code>
196 n'attend pas la transmission des données initiales.</p>
198 <p>Sous Windows, <code>none</code> utilise accept() au lieu
199 d'AcceptEx(), et ne recycle pas les sockets entre les connexions.
200 Ceci s'avère utile pour les interfaces réseau dont le pilote est
201 défectueux, ainsi que pour certains fournisseurs de réseau comme les
202 pilotes vpn, ou les filtres anti-spam, anti-virus ou
208 <li><code class="directive"><a href="#protocol">Protocol</a></code></li>
211 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
212 <div class="directive-section"><h2><a name="acceptpathinfo" id="acceptpathinfo">Directive</a> <a name="AcceptPathInfo" id="AcceptPathInfo">AcceptPathInfo</a></h2>
213 <table class="directive">
214 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Les ressources acceptent des informations sous forme d'un
215 nom de chemin en fin de requête.</td></tr>
216 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AcceptPathInfo On|Off|Default</code></td></tr>
217 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AcceptPathInfo Default</code></td></tr>
218 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
219 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
220 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
221 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
224 <p>Cette directive permet de définir si les requêtes contenant des
225 informations sous forme d'un nom de chemin suivant le nom d'un
226 fichier réel (ou un fichier qui n'existe pas dans un répertoire qui
227 existe) doivent être acceptées ou rejetées. Les scripts peuvent
228 accéder à cette information via la variable d'environnement
229 <code>PATH_INFO</code>.</p>
231 <p>Supposons par exemple que <code>/test/</code> pointe vers un
232 répertoire qui ne contient que le fichier <code>here.html</code>.
233 Les requêtes pour <code>/test/here.html/more</code> et
234 <code>/test/nothere.html/more</code> vont affecter la valeur
235 <code>/more</code> à la variable d'environnement
236 <code>PATH_INFO</code>.</p>
238 <p>L'argument de la directive <code class="directive">AcceptPathInfo</code>
239 possède trois valeurs possibles :</p>
241 <dt><code>Off</code></dt><dd>Une requête ne sera acceptée que si
242 elle correspond à un chemin qui existe. Par conséquent, une requête
243 contenant une information de chemin après le nom de fichier réel
244 comme <code>/test/here.html/more</code> dans l'exemple ci-dessus
245 renverra une erreur "404 NOT FOUND".</dd>
247 <dt><code>On</code></dt><dd>Une requête sera acceptée si la partie
248 principale du chemin correspond à un fichier existant. Dans
249 l'exemple ci-dessus <code>/test/here.html/more</code>, la requête
250 sera acceptée si <code>/test/here.html</code> correspond à un nom de
253 <dt><code>Default</code></dt><dd>Le traitement des requêtes est
254 déterminé par le <a href="../handler.html">gestionnaire</a> responsable de la requête.
255 Le gestionnaire de base pour les fichiers normaux rejette par défaut
256 les requêtes avec <code>PATH_INFO</code>. Les gestionnaires qui
257 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
258 défaut les requêtes avec <code>PATH_INFO</code>.</dd>
261 <p>Le but premier de la directive <code>AcceptPathInfo</code> est de
262 vous permettre de remplacer le choix du gestionnaire d'accepter ou
263 de rejeter <code>PATH_INFO</code>. Ce remplacement est nécessaire
264 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é
265 sur <code>PATH_INFO</code>. Le gestionnaire de base va en général
266 rejeter la requête, et vous pouvez utiliser la configuration
267 suivante pour utiliser un tel script :</p>
268 <pre class="prettyprint lang-config"><Files "mypaths.shtml">
270 SetOutputFilter INCLUDES
278 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
279 <div class="directive-section"><h2><a name="accessfilename" id="accessfilename">Directive</a> <a name="AccessFileName" id="AccessFileName">AccessFileName</a></h2>
280 <table class="directive">
281 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom du fichier de configuration distribué</td></tr>
282 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AccessFileName <var>nom-du-fichier</var>
283 [<var>nom-du-fichier</var>] ...</code></td></tr>
284 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AccessFileName .htaccess</code></td></tr>
285 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
286 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
287 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
289 <p>Au cours du traitement d'une requête, le serveur recherche le
290 premier fichier de configuration existant à partir de la liste
291 de noms dans chaque répertoire composant le chemin du document, à
292 partir du moment où les fichiers de configuration distribués sont <a href="#allowoverride">activés pour ce répertoire</a>. Par exemple
295 <pre class="prettyprint lang-config">AccessFileName .acl</pre>
298 <p>avant de renvoyer le document
299 <code>/usr/local/web/index.html</code>, le serveur va rechercher les
300 fichiers <code>/.acl</code>, <code>/usr/.acl</code>,
301 <code>/usr/local/.acl</code> et <code>/usr/local/web/.acl</code>
302 pour y lire d'éventuelles directives, à moins quelles n'aient été
305 <pre class="prettyprint lang-config"><Directory />
307 </Directory></pre>
312 <li><code class="directive"><a href="#allowoverride">AllowOverride</a></code></li>
313 <li><a href="../configuring.html">Fichiers de configuration</a></li>
314 <li><a href="../howto/htaccess.html">Fichiers .htaccess</a></li>
317 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
318 <div class="directive-section"><h2><a name="adddefaultcharset" id="adddefaultcharset">Directive</a> <a name="AddDefaultCharset" id="AddDefaultCharset">AddDefaultCharset</a></h2>
319 <table class="directive">
320 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Paramètre jeu de caractères par défaut à ajouter quand le
321 type de contenu d'une réponse est <code>text/plain</code> ou
322 <code>text/html</code></td></tr>
323 <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>
324 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AddDefaultCharset Off</code></td></tr>
325 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
326 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
327 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
328 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
330 <p>Cette directive spécifie une valeur par défaut pour le paramètre
331 jeu de caractères du type de média (le nom d'un codage de
332 caractères) à ajouter à une réponse, si et seulement si le type de
333 contenu de la réponse est soit <code>text/plain</code>, soit
334 <code>text/html</code>. Ceci va remplacer
335 tout jeu de caractères spécifié dans le corps de la réponse via un
336 élément <code>META</code>, bien que cet effet dépende en fait
337 souvent de la configuration du client de l'utilisateur. La
338 définition de <code>AddDefaultCharset Off</code> désactive cette
339 fonctionnalité. <code>AddDefaultCharset On</code> ajoute un jeu de
340 caractères par défaut de <code>iso-8859-1</code>. Toute autre valeur
341 peut être définie via le paramètre <var>jeu de caractères</var>, qui
342 doit appartenir à la liste des <a href="http://www.iana.org/assignments/character-sets">valeurs de
343 jeux de caractères enregistrés par l'IANA</a> à utiliser dans les
344 types de média Internet (types MIME).
347 <pre class="prettyprint lang-config">AddDefaultCharset utf-8</pre>
350 <p>La directive <code class="directive">AddDefaultCharset</code> ne doit
351 être utilisée que lorsque toutes les ressources textes auxquelles
352 elle s'applique possèdent le jeu de caractère spécifié, et qu'il est
353 trop contraignant de définir leur jeu de caractères
354 individuellement. Un exemple de ce type est l'ajout du paramètre jeu
355 de caractères aux ressources comportant un contenu généré, comme les
356 scripts CGI hérités qui peuvent être vulnérables à des attaques de
357 type cross-site scripting à cause des données utilisateurs incluses
358 dans leur sortie. Notez cependant qu'une meilleur solution consiste
359 à corriger (ou supprimer) ces scripts, car la définition d'un jeu de
360 caractères par défaut ne protège pas les utilisateurs qui ont activé
361 la fonctionnalité "Détection automatique de l'encodage des
362 caractères" dans leur navigateur.</p>
366 <li><code class="directive"><a href="../mod/mod_mime.html#addcharset">AddCharset</a></code></li>
369 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
370 <div class="directive-section"><h2><a name="allowencodedslashes" id="allowencodedslashes">Directive</a> <a name="AllowEncodedSlashes" id="AllowEncodedSlashes">AllowEncodedSlashes</a></h2>
371 <table class="directive">
372 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si les séparateurs de chemin encodés sont
373 autorisés à transiter dans les URLs tels quels</td></tr>
374 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AllowEncodedSlashes On|Off|NoDecode</code></td></tr>
375 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AllowEncodedSlashes Off</code></td></tr>
376 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
377 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
378 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
379 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>L'option NoDecode est disponible depuis la version
382 <p>La directive <code class="directive">AllowEncodedSlashes</code> permet
383 l'utilisation des URLs contenant des séparateurs de chemin
384 encodés dans la partie chemin
385 (<code>%2F</code> pour <code>/</code> et même <code>%5C</code> pour
386 <code>\</code> sur les systèmes concernés).</p>
388 <p>Avec la valeur par défaut, <code>Off</code>, de telles URLs sont
389 refusées et provoquent le renvoi d'une erreur 404 (Not found).</p>
391 <p>Avec la valeur <code>On</code>, ces URLs sont acceptées, et les
392 slashes encodés sont décodés comme tout autre caractère codé.</p>
394 <p>Avec la valeur <code>NoDecode</code>, ces URLs sont acceptées,
395 mais les slashes codés ne sont pas décodés et laissés dans leur état
398 <p>Définir <code class="directive">AllowEncodedSlashes</code> à
399 <code>On</code> est surtout utile en association avec
400 <code>PATH_INFO</code>.</p>
402 <div class="note"><h3>Note</h3>
403 <p>Si le codage des slashes dans la partie chemin est nécessaire,
404 l'utilisation de l'option <code>NoDecode</code> est fortement
405 recommandée par mesure de sécurité. Permettre le décodage des
406 slashes pourrait éventuellement induire l'autorisation de chemins
412 <li><code class="directive"><a href="#acceptpathinfo">AcceptPathInfo</a></code></li>
415 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
416 <div class="directive-section"><h2><a name="allowoverride" id="allowoverride">Directive</a> <a name="AllowOverride" id="AllowOverride">AllowOverride</a></h2>
417 <table class="directive">
418 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Types de directives autorisées dans les fichiers
419 <code>.htaccess</code></td></tr>
420 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AllowOverride All|None|<var>type directive</var>
421 [<var>type directive</var>] ...</code></td></tr>
422 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AllowOverride None à partir de la version 2.3.9, AllowOverride
423 All pour les versions antérieures</code></td></tr>
424 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
425 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
426 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
428 <p>Lorsque le serveur trouve un fichier <code>.htaccess</code> (dont
429 le nom est défini par la directive <code class="directive"><a href="#accessfilename">AccessFileName</a></code>), il doit savoir lesquelles
430 des directives placées dans ce fichier sont autorisées à modifier la
431 configuration préexistante.</p>
433 <div class="note"><h3>Valable seulement dans les sections
434 <Directory></h3>
435 La directive <code class="directive">AllowOverride</code> ne peut être
436 utilisée que dans les sections <code class="directive"><a href="#directory"><Directory></a></code> définies sans expressions
437 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
438 <code class="directive"><a href="#files"><Files></a></code>.
441 <p>Lorsque cette directive et la directive <code class="directive"><a href="#allowoverridelist">AllowOverrideList</a></code> sont définies à <code>None</code>, les
442 fichiers <a href="#accessfilename">.htaccess</a> sont totalement
443 ignorés. Dans ce cas, le serveur n'essaiera même pas de lire les
444 fichiers <code>.htaccess</code> du système de fichiers.</p>
446 <p>Lorsque cette directive est définie à <code>All</code>, toute
447 directive valable dans le <a href="directive-dict.html#Context">Contexte</a> .htaccess sera
448 autorisée dans les fichiers <code>.htaccess</code>.</p>
450 <p>L'argument <var>type directive</var> peut contenir les
451 groupements de directives suivants :</p>
458 Permet l'utilisation des directives d'autorisation (<code class="directive"><a href="../mod/mod_authz_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a></code>,
459 <code class="directive"><a href="../mod/mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile</a></code>,
460 <code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code>,
461 <code class="directive"><a href="../mod/mod_authn_core.html#authname">AuthName</a></code>,
462 <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>
467 Permet l'utilisation des directives qui contrôlent les types de
468 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>,
469 <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
470 module <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> Add* et Remove*), des metadonnées
471 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
472 module <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> directives (<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>), des directives du
473 module <code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> directives (<code class="directive"><a href="../mod/mod_alias.html#redirect">Redirect</a></code>, <code class="directive"><a href="../mod/mod_alias.html#redirecttemp">RedirectTemp</a></code>, <code class="directive"><a href="../mod/mod_alias.html#redirectpermanent">RedirectPermanent</a></code>, <code class="directive"><a href="../mod/mod_alias.html#redirectmatch">RedirectMatch</a></code>), et de la directive
474 <code class="directive"><a href="../mod/mod_actions.html#action">Action</a></code> du module
475 <code class="module"><a href="../mod/mod_actions.html">mod_actions</a></code>.
481 Permet l'utilisation des directives qui contrôlent l'indexation
482 des répertoires (<code class="directive"><a href="../mod/mod_autoindex.html#adddescription">AddDescription</a></code>,
483 <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>,
484 <code class="directive"><a href="../mod/mod_autoindex.html#addiconbytype">AddIconByType</a></code>,
485 <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_dir.html#fallbackresource">FallbackResource</a></code>, <a href="mod_autoindex.html#indexoptions.fancyindexing"><code>FancyIndexing</code></a>,
486 <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>,
487 <em>etc...</em>).</dd>
492 Permet l'utilisation des directives contrôlant l'accès au serveur
493 (<code class="directive"><a href="../mod/mod_access_compat.html#allow">Allow</a></code>, <code class="directive"><a href="../mod/mod_access_compat.html#deny">Deny</a></code> et <code class="directive"><a href="../mod/mod_access_compat.html#order">Order</a></code>).</dd>
500 <dt>Nonfatal=[Override|Unknown|All]</dt>
503 Permet d'utiliser l'option AllowOverride pour rendre les erreurs
504 de syntaxe non fatales dans les fichiers .htaccess : au lieu de
505 causer une Internal Server Error, les directives non autorisées ou
506 non reconnues seront ignorées et un avertissement enregistré dans
509 <li><strong>Nonfatal=Override</strong> rend les directives
510 interdite par AllowOverride non fatales.</li>
511 <li><strong>Nonfatal=Unknown</strong> rend les directives
512 inconnues non fatales. Sont concernées les erreurs de frappe
513 et les directives implémentées par un module non chargé.</li>
514 <li><strong>Nonfatal=All</strong> rend toutes les directives
515 précédentes non fatales.</li>
517 <p>Notez qu'une erreur de syntaxe dans une directive valide
518 causera toujours une internal server error.</p>
519 <div class="warning"><h3>Sécurité</h3>
520 Les erreurs non fatales peuvent être à l'origine de problèmes
521 de sécurité pour les utilisateurs de fichiers .htaccess. Par
522 exemple, si AllowOverride interdit AuthConfig, toute
523 configuration utilisateur destinée à restreindre l'accès à un
524 site ne sera pas prise en compte.
528 <dt>Options[=<var>Option</var>,...]</dt>
531 Permet l'utilisation des directives contrôlant les fonctionnalités
532 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
533 suivi d'un signe "égal", puis d'une liste d'options séparées par des
534 virgules (pas d'espaces) ; ces options doivent être définies à
535 l'aide de la commande <code class="directive"><a href="#options">Options</a></code>.
537 <div class="note"><h3>Désactivation implicite des options</h3>
538 <p>Bien que la liste des options disponibles dans les fichiers
539 .htaccess puisse être limitée par cette directive, tant qu'un
540 directive <code class="directive"><a href="#options">Options</a></code> est
541 autorisée, toute autre option héritée peut être désactivée en
542 utilisant la syntaxe non-relative. En d'autres termes, ce
543 mécanisme ne peut pas forcer une option spécifique à rester
544 <em>activée</em> tout en permettant à toute autre option d'être
548 <div class="example"><p><code>
549 AllowOverride Options=Indexes,MultiViews
557 <pre class="prettyprint lang-config">AllowOverride AuthConfig Indexes</pre>
560 <p>Dans l'exemple ci-dessus, toutes les directives qui ne font
561 partie ni du groupe <code>AuthConfig</code>, ni du groupe
562 <code>Indexes</code>, provoquent une erreur "internal
565 <div class="note"><p>Pour des raisons de sécurité et de performance, ne
566 définissez pas <code>AllowOverride</code> à autre chose que
567 <code>None</code> dans votre bloc <code><Directory /></code>.
568 Recherchez plutôt (ou créez) le bloc <code><Directory></code>
569 qui se réfère au répertoire où vous allez précisément placer un
570 fichier <code>.htaccess</code>.</p>
575 <li><code class="directive"><a href="#accessfilename">AccessFileName</a></code></li>
576 <li><code class="directive"><a href="#allowoverridelist">AllowOverrideList</a></code></li>
577 <li><a href="../configuring.html">Fichiers de configuration</a></li>
578 <li><a href="../howto/htaccess.html">Fichiers .htaccess</a></li>
581 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
582 <div class="directive-section"><h2><a name="allowoverridelist" id="allowoverridelist">Directive</a> <a name="AllowOverrideList" id="AllowOverrideList">AllowOverrideList</a></h2>
583 <table class="directive">
584 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Directives autorisées dans les fichiers <code>.htaccess</code></td></tr>
585 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AllowOverrideList None|<var>directive</var>
586 [<var>directive-type</var>] ...</code></td></tr>
587 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AllowOverrideList None</code></td></tr>
588 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
589 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
590 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
592 <p>Lorsque le serveur trouve un fichier <code>.htaccess</code>
593 (comme spécifié par la directive <code class="directive"><a href="#accessfilename">AccessFileName</a></code>), il doit savoir lesquelles
594 des directives déclarées dans ce fichier peuvent remplacer des
595 directives des fichiers de configuration du serveur.</p>
597 <div class="note"><h3>Seulement disponible dans les sections <Directory></h3>
598 La directive <code class="directive">AllowOverrideList</code> n'est
599 disponible que dans les sections <code class="directive"><a href="#directory"><Directory></a></code> spécifiées sans expressions
603 <p>Lorsque cette directive et la directive <code class="directive"><a href="#allowoverride">AllowOverride</a></code> sont définies à
604 <code>None</code>, les fichiers <a href="#accessfilename">.htaccess</a> sont totalement ignorés. Dans
605 ce cas, le serveur ne cherchera même pas à lire des fichiers
606 <code>.htaccess</code> dans le système de fichiers.</p>
610 <pre class="prettyprint lang-config">AllowOverride None
611 AllowOverrideList Redirect RedirectMatch</pre>
614 <p>Dans l'exemple ci-dessus, seules les directives
615 <code>Redirect</code> et <code>RedirectMatch</code> sont autorisées.
616 Toutes les autres provoqueront une erreur interne du serveur.</p>
620 <pre class="prettyprint lang-config">AllowOverride AuthConfig
621 AllowOverrideList CookieTracking CookieName</pre>
624 <p>Dans l'exemple ci-dessus, la directive <code class="directive"><a href="#allowoverride">AllowOverride</a></code> autorise les directives du
625 groupement <code>AuthConfig</code>, et
626 <code class="directive">AllowOverrideList</code> n'autorise que deux
627 directives du groupement <code>FileInfo</code>. Toutes les autres
628 provoqueront une erreur interne du serveur.</p>
632 <li><code class="directive"><a href="#accessfilename">AccessFileName</a></code></li>
633 <li><code class="directive"><a href="#allowoverride">AllowOverride</a></code></li>
634 <li><a href="../configuring.html">Fichiers de configuration</a></li>
635 <li><a href="../howto/htaccess.html">Fichiers .htaccess</a></li>
638 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
639 <div class="directive-section"><h2><a name="cgimapextension" id="cgimapextension">Directive</a> <a name="CGIMapExtension" id="CGIMapExtension">CGIMapExtension</a></h2>
640 <table class="directive">
641 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Technique permettant de localiser l'interpréteur des
642 scripts CGI</td></tr>
643 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CGIMapExtension <var>chemin CGI</var> <var>.extension</var></code></td></tr>
644 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
645 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
646 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
647 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
648 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>NetWare uniquement</td></tr>
650 <p>Cette directive permet de contrôler la manière dont Apache httpd trouve
651 l'interpréteur servant à exécuter les scripts CGI. Par exemple, avec
652 la définition <code>CGIMapExtension sys:\foo.nlm .foo</code>, tous
653 les fichiers scripts CGI possédant une extension <code>.foo</code>
654 seront passés à l'interpréteur FOO.</p>
657 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
658 <div class="directive-section"><h2><a name="cgipassauth" id="cgipassauth">Directive</a> <a name="CGIPassAuth" id="CGIPassAuth">CGIPassAuth</a></h2>
659 <table class="directive">
660 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la transmission d'en-têtes d'autorisation HTTP aux scripts en
661 tant que variables CGI</td></tr>
662 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CGIPassAuth On|Off</code></td></tr>
663 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>CGIPassAuth Off</code></td></tr>
664 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
665 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr>
666 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
667 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
668 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
671 <p>La directive <code class="directive">CGIPassAuth</code> permet aux
672 scripts d'accéder aux en-têtes d'autorisation HTTP tels que
673 <code>Authorization</code>, en-tête nécessaire aux scripts qui
674 implémente une authentification HTTP de base. Normalement, ces
675 en-têtes HTTP sont invisibles pour les scripts car ils leurs
676 permettraient de voir les identifiants et mots de passe
677 utilisés pour accéder au serveur lorsque l'authentification HTTP de
678 base est activée au niveau du serveur web. Cette directive doit être
679 définie à "On" lorsque des scripts sont autorisés à implémenter une
680 authentification HTTP de base.</p>
682 <p>Cette directive constitue une alternative à l'option de
683 compilation <code>SECURITY_HOLE_PASS_AUTHORIZATION</code> qui était
684 déjà disponible dans les versions précédentes du serveur HTTP
687 <p>Cette option est prise en compte par tout module qui utilise
688 <code>ap_add_common_vars()</code>, comme <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>,
689 <code class="module"><a href="../mod/mod_cgid.html">mod_cgid</a></code>, <code class="module"><a href="../mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code>,
690 <code class="module"><a href="../mod/mod_proxy_scgi.html">mod_proxy_scgi</a></code>, etc... En particulier, elle affecte
691 les modules qui ne traitent pas à proprement parler les requêtes,
692 mais utilisent quand-même cette API, comme
693 <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> ou <code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code>. Les
694 modules tiers qui n'utilisent pas <code>ap_add_common_vars()</code>
695 peuvent aussi choisir de prendre en compte cette option.</p>
698 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
699 <div class="directive-section"><h2><a name="contentdigest" id="contentdigest">Directive</a> <a name="ContentDigest" id="ContentDigest">ContentDigest</a></h2>
700 <table class="directive">
701 <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>
702 dans la réponse HTTP</td></tr>
703 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ContentDigest On|Off</code></td></tr>
704 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ContentDigest Off</code></td></tr>
705 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
706 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Options</td></tr>
707 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
708 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
710 <p>Cette directive active la génération d'un en-tête
711 <code>Content-MD5</code> selon les définitions des RFC 1864 et
714 <p>MD5 est un algorithme permettant de générer un condensé (parfois
715 appelé "empreinte") à partir de données d'une taille aléatoire ; le
716 degré de précision est tel que la moindre altération des données
717 d'origine entraîne une altération de l'empreinte.</p>
719 <p>L'en-tête <code>Content-MD5</code> permet de vérifier
720 l'intégrité de la réponse HTTP dans son ensemble. Un serveur mandataire
721 ou un client peut utiliser cet en-tête pour rechercher une
722 éventuelle modification accidentelle de la réponse au cours de sa
723 transmission. Exemple d'en-tête :</p>
725 <div class="example"><p><code>
726 Content-MD5: AuLb7Dp1rqtRtxz2m9kRpA==
729 <p>Notez que des problèmes de performances peuvent affecter votre
730 serveur, car l'empreinte est générée pour chaque requête (il n'y a
731 pas de mise en cache).</p>
733 <p>L'en-tête <code>Content-MD5</code> n'est envoyé qu'avec les
734 documents servis par le module <code class="module"><a href="../mod/core.html">core</a></code>, à l'exclusion
735 de tout autre module. Ainsi, les documents SSI, les sorties de
736 scripts CGI, et les réponses à des requêtes partielles (byte range)
737 ne comportent pas cet en-tête.</p>
740 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
741 <div class="directive-section"><h2><a name="defaultruntimedir" id="defaultruntimedir">Directive</a> <a name="DefaultRuntimeDir" id="DefaultRuntimeDir">DefaultRuntimeDir</a></h2>
742 <table class="directive">
743 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Répertoire de base des fichiers créés au cours de l'exécution du serveur</td></tr>
744 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DefaultRuntimeDir <var>chemin-répertoire</var></code></td></tr>
745 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DefaultRuntimeDir DEFAULT_REL_RUNTIMEDIR (logs/)</code></td></tr>
746 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
747 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
748 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
749 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis de la version 2.4.2 du serveur HTTP
752 <p>La directive <code class="directive">DefaultRuntimeDir</code> permet de
753 définir le répertoire dans lequel le serveur va créer les différents
754 fichiers relatifs à son exécution (mémoire partagée, verrous,
755 etc...). Si le chemin spécifié est relatif, le chemin absolu sera
756 généré relativement à la valeur de la directive
757 <code class="directive">ServerRoot</code>.</p>
759 <p><strong>Example</strong></p>
760 <pre class="prettyprint lang-config">DefaultRuntimeDir scratch/</pre>
763 <p>La valeur par défaut de la directive
764 <code class="directive">DefaultRuntimeDir</code> peut être modifiée en
765 changeant la valeur de la macro <code>DEFAULT_REL_RUNTIMEDIR</code>
766 définie à la compilation.</p>
768 <p>Note: si la valeur de <code class="directive">ServerRoot</code> n'a pas
769 été spécifiée avant d'utiliser cette directive, c'est la valeur par
770 défaut de <code class="directive">ServerRoot</code> qui sera utilisée pour
771 définir la base du répertoire.</p>
776 <li>Voir les <a href="../misc/security_tips.html#serverroot">conseils à propos de
777 sésurité</a> pour plus d'informations en vue de définir correctement les
778 permissions sur la racine du serveur <code class="directive">ServerRoot</code></li>
781 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
782 <div class="directive-section"><h2><a name="defaulttype" id="defaulttype">Directive</a> <a name="DefaultType" id="DefaultType">DefaultType</a></h2>
783 <table class="directive">
784 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Les seuls effets de cette directive sont des émissions
785 d'avertissements si sa valeur est différente de <code>none</code>. Dans
786 les versions précédentes, DefaultType permettait de spécifier un type de
787 média à assigner par défaut au contenu d'une réponse pour lequel aucun
788 autre type de média n'avait été trouvé.
790 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DefaultType <var>type média|none</var></code></td></tr>
791 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DefaultType none</code></td></tr>
792 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
793 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
794 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
795 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
796 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Tous les arguments, excepté <code>none</code>, sont
797 DESACTIVÉS à partir de la version 2.3.0.</td></tr>
799 <p>Cette directive a été désactivée. Pour la compatibilité
800 ascendante avec les anciens fichiers de configuration, elle peut
801 être spécifiée avec la valeur <code>none</code>, c'est à dire sans
802 type de médium par défaut. Par exemple :</p>
804 <pre class="prettyprint lang-config">DefaultType None</pre>
807 <p><code>DefaultType None</code> n'est disponible que dans les
808 versions d'Apache 2.2.7 et supérieures.</p>
810 <p>Utilisez le fichier de configuration mime.types et la directive
811 <code class="directive"><a href="../mod/mod_mime.html#addtype">AddType</a></code> pour configurer
812 l'assignement d'un type de médium via les extensions de fichiers, ou
813 la directive <code class="directive"><a href="#forcetype">ForceType</a></code> pour
814 attribuer un type de médium à des ressources spécifiques. Dans le
815 cas contraire, le serveur enverra sa réponse sans champ d'en-tête
816 Content-Type, et le destinataire devra déterminer lui-même le type
820 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
821 <div class="directive-section"><h2><a name="define" id="define">Directive</a> <a name="Define" id="Define">Define</a></h2>
822 <table class="directive">
823 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Permet de définir une variable</td></tr>
824 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Define <var>nom-paramètre</var> [<var>valeur-paramètre</var>]</code></td></tr>
825 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
826 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
827 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
829 <p>Avec un seul paramètre, l'effet de la directive
830 <code class="directive">Define</code> est identique à celui de l'argument
831 <code>-D</code> du programme <code class="program"><a href="../programs/httpd.html">httpd</a></code>. Il permet de
832 modifier le comportement des sections <code class="directive"><a href="#ifdefine"><IfDefine></a></code> sans avoir à ajouter d'argument
833 <code>-D</code> au sein des scripts de démarrage.</p>
835 <p>De plus, le second paramètre permet d'affecter une valeur à la
836 variable définie par le premier. Cette variable peut être référencée
837 dans le fichier de configuration via la syntaxe <code>${VAR}</code>.
838 La portée de la variable est toujours globale, et n'est jamais
839 limitée à la section de configuration courante.</p>
841 <pre class="prettyprint lang-config"><IfDefine TEST>
842 Define servername test.example.com
844 <IfDefine !TEST>
845 Define servername www.example.com
849 DocumentRoot /var/www/${servername}/htdocs</pre>
852 <p>Le caractère ":" est interdit dans les noms de variables afin
853 d'éviter les conflits avec la syntaxe de la directive <code class="directive"><a href="../mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>.</p>
855 <p>Si cette directive est définie au sein d'un bloc VirtualHost, les
856 changements qu'elle induit sont visibles de toute directive
857 ultérieure, au delà de tout bloc VirtualHost.</p>
860 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
861 <div class="directive-section"><h2><a name="directory" id="directory">Directive</a> <a name="Directory" id="Directory"><Directory></a></h2>
862 <table class="directive">
863 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Regroupe un ensemble de directives qui ne s'appliquent
864 qu'au répertoire concerné du système de fichiers, à ses
865 sous-répertoires, et à leur contenu.</td></tr>
866 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><Directory <var>chemin répertoire</var>>
867 ... </Directory></code></td></tr>
868 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
869 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
870 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
872 <p>Les balises <code class="directive"><Directory></code> et
873 <code></Directory></code> permettent de regrouper un ensemble
874 de directives qui ne s'appliquent qu'au répertoire précisé,
875 à ses sous-répertoires, et aux fichiers situés dans ces
876 sous-répertoires. Toute directive
877 autorisée dans un contexte de répertoire peut être utilisée.
878 <var>chemin répertoire</var> est soit le chemin absolu d'un
879 répertoire, soit une chaîne de caractères avec caractères génériques
880 utilisant la comparaison Unix de style shell. Dans une chaîne de
881 caractères avec caractères génériques, <code>?</code> correspond à
882 un caractère quelconque, et <code>*</code> à toute chaîne de
883 caractères. Les intervalles de caractères <code>[]</code> sont aussi
884 autorisés. Aucun caractère générique ne peut remplacer le caractère
885 `/', si bien que l'expression <code><Directory
886 /*/public_html></code> ne conviendra pas pour le chemin
887 * <code>/home/user/public_html</code>, alors que <code><Directory
888 /home/*/public_html></code> conviendra. Exemple :</p>
890 <pre class="prettyprint lang-config"><Directory "/usr/local/httpd/htdocs">
891 Options Indexes FollowSymLinks
892 </Directory></pre>
896 <p>Soyez prudent avec l'argument <var>chemin répertoire</var> : il
897 doit correspondre exactement au chemin du système de fichier
898 qu'Apache httpd utilise pour accéder aux fichiers. Les directives
899 comprises dans une section <code><Directory></code> ne
900 s'appliqueront pas aux fichiers du même répertoire auxquels on
901 aura accédé via un chemin différent, per exemple via un lien
905 <p> Les <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">Expressions rationnelles</a>
906 peuvent aussi être utilisées en ajoutant le caractère
907 <code>~</code>. Par exemple :</p>
909 <pre class="prettyprint lang-config"><Directory ~ "^/www/[0-9]{3}">
911 </Directory></pre>
914 <p>pourra correspondre à tout répertoire situé dans /www/ et dont le
915 nom se compose de trois chiffres.</p>
917 <p>Si plusieurs sections <code class="directive"><Directory></code> (sans expression rationnelle)
918 correspondent au répertoire (ou à un de ses parents) qui contient le
919 document, les directives de la section <code class="directive"><Directory></code> dont le chemin est le plus
920 court sont appliquées en premier, en s'intercalant avec les
921 directives des fichiers <a href="#accessfilename">.htaccess</a>. Par
924 <pre class="prettyprint lang-config"><Directory />
928 <Directory "/home">
929 AllowOverride FileInfo
930 </Directory></pre>
933 <p>l'accès au document <code>/home/web/dir/doc.html</code> emprunte
934 le chemin suivant :</p>
937 <li>Aplication de la directive <code>AllowOverride None</code>
938 (qui désactive les fichiers <code>.htaccess</code>).</li>
940 <li>Application de la directive <code>AllowOverride
941 FileInfo</code> (pour le répertoire <code>/home</code>).</li>
943 <li>Application de toute directive <code>FileInfo</code> qui se
944 trouverait dans d'éventuels fichiers <code>/home/.htaccess</code>,
945 <code>/home/web/.htaccess</code> ou
946 <code>/home/web/dir/.htaccess</code>, dans cet ordre.</li>
949 <p>Les directives associées aux répertoires sous forme d'expressions
950 rationnelles ne sont prises en compte qu'une fois toutes les
951 directives des sections sans expressions rationnelles appliquées.
952 Alors, tous les répertoires avec expressions rationnelles sont
953 testés selon l'ordre dans lequel ils apparaissent dans le fichier de
954 configuration. Par exemple, avec</p>
956 <pre class="prettyprint lang-config"><Directory ~ "abc$">
957 # ... directives ici ...
958 </Directory></pre>
961 <p>la section avec expression rationnelle ne sera prise en compte
962 qu'après les sections <code class="directive"><Directory></code> sans expression rationnelle
963 et les fichiers <code>.htaccess</code>. Alors, l'expression
964 rationnelle conviendra pour <code>/home/abc/public_html/abc</code>
965 et la section <code class="directive"><Directory></code>
966 correspondante s'appliquera.</p>
968 <p><strong>Notez que la politique d'accès par défaut
969 dans les sections <code><Directory /></code> consiste à
970 autoriser tout accès sans restriction. Ceci signifie qu'Apache httpd va servir tout fichier
971 correspondant à une URL. Il est recommandé de modifier cette
972 situation à l'aide d'un bloc du style</strong></p>
974 <pre class="prettyprint lang-config"><Directory />
976 </Directory></pre>
979 <p><strong>puis d'affiner la configuration pour les répertoires que vous
980 voulez rendre accessibles. Voir la page <a href="../misc/security_tips.html">Conseils à propos de sécurité</a>
981 pour plus de détails.</strong></p>
983 <p>Les sections <code class="directive"><Directory></code> se situent
984 dans le fichier <code>httpd.conf</code>. Les directives <code class="directive"><Directory></code> ne peuvent pas être imbriquées
985 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>
989 <li><a href="../sections.html">Comment fonctionnent les sections
990 <Directory>, <Location> et <Files></a> pour des
991 explications à propos de la manière dont ces différentes sections se
992 combinent entre elles à la réception d'une requête</li>
995 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
996 <div class="directive-section"><h2><a name="directorymatch" id="directorymatch">Directive</a> <a name="DirectoryMatch" id="DirectoryMatch"><DirectoryMatch></a></h2>
997 <table class="directive">
998 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Regroupe des directives qui s'appliquent au contenu de répertoires
999 du système de fichiers correspondant à une expression rationnelle</td></tr>
1000 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><DirectoryMatch <var>regex</var>>
1001 ... </DirectoryMatch></code></td></tr>
1002 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
1003 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
1004 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
1006 <p>Les balises <code class="directive"><DirectoryMatch></code>
1007 et <code></DirectoryMatch></code> permettent de regrouper un
1008 ensemble de directives qui ne s'appliqueront qu'au répertoire
1009 précisé (et aux fichiers qu'il contient), comme pour la section <code class="directive"><a href="#directory"><Directory></a></code>. Cependant, le
1010 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>
1012 <pre class="prettyprint lang-config"><DirectoryMatch "^/www/(.+/)?[0-9]{3}">
1014 </DirectoryMatch></pre>
1017 <p>conviendrait pour les sous-répertoires de <code>/www/</code> dont
1018 le nom se compose de trois chiffres.</p>
1020 <div class="note"><h3>Compatibilité</h3>
1021 Avant la version 2.3.9, cette directive s'appliquait aussi aux
1022 sous-répertoires (comme la directive <code class="directive"><a href="#directory"><Directory></a></code>), et ne tenait pas compte du
1023 symbole de fin de ligne ($). Depuis la version 2.3.9, seuls les
1024 répertoires qui correspondent à l'expression sont affectés par les
1025 directives contenues dans la section.
1028 <div class="note"><h3>slash de fin</h3>
1029 Cette directive s'applique aux requêtes pour des répertoires avec
1030 ou sans slash de fin ; les expressions contenant un symbole de fin
1031 de ligne ($) doivent donc faire l'objet d'une attention
1035 <p>A partir de la version 2.4.8, les groupes nommés et les
1036 références arrières sont extraits et enregistrés dans
1037 l'environnement avec leur nom en majuscules et préfixé
1038 par "MATCH_". Ceci permet
1039 de référencer des URLs dans des <a href="../expr.html">expressions</a>
1040 ou au sein de modules comme <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>. Pour
1041 éviter toute confusion, les références arrières numérotées (non
1042 nommées) sont ignorées. Vous devez utiliser à la place des groupes
1045 <pre class="prettyprint lang-config"><DirectoryMatch ^/var/www/combined/(?<sitename>[^/]+)>
1046 require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
1047 </DirectoryMatch></pre>
1052 <li><code class="directive"><a href="#directory"><Directory></a></code>
1053 pour une description de la manière dont les expressions rationnelles
1054 sont traitées en présence d'autres sections <code class="directive"><Directory></code> sans expressions rationnelles</li>
1055 <li><a href="../sections.html">Comment fonctionnent les sections
1056 <Directory>, <Location> et <Files></a> pour une
1057 explication à propos de la manière dont ces différentes sections se
1058 combinent entre elles à la réception d'une requête</li>
1061 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1062 <div class="directive-section"><h2><a name="documentroot" id="documentroot">Directive</a> <a name="DocumentRoot" id="DocumentRoot">DocumentRoot</a></h2>
1063 <table class="directive">
1064 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Racine principale de l'arborescence des documents visible
1065 depuis Internet</td></tr>
1066 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DocumentRoot <var>chemin répertoire</var></code></td></tr>
1067 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DocumentRoot /usr/local/apache/htdocs</code></td></tr>
1068 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
1069 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
1070 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
1072 <p>Cette directive permet de définir le répertoire à partir duquel
1073 <code class="program"><a href="../programs/httpd.html">httpd</a></code> va servir les fichiers. S'il ne correspond
1074 pas à un <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>, le chemin
1075 de l'URL sera ajouté par le serveur à la racine des documents afin
1076 de construire le chemin du document recherché. Exemple :</p>
1078 <pre class="prettyprint lang-config">DocumentRoot "/usr/web"</pre>
1081 <p>un accès à <code>http://my.example.com/index.html</code> se
1082 réfère alors à <code>/usr/web/index.html</code>. Si <var>chemin
1083 répertoire</var> n'est pas un chemin absolu, il est considéré comme
1084 relatif au chemin défini par la directive <code class="directive"><a href="#serverroot">ServerRoot</a></code>.</p>
1086 <p>Le répertoire défini par la directive
1087 <code class="directive">DocumentRoot</code> ne doit pas comporter de slash
1092 <li><a href="../urlmapping.html#documentroot">Mise en
1093 correspondance des URLs avec le système de fichiers</a></li>
1096 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1097 <div class="directive-section"><h2><a name="else" id="else">Directive</a> <a name="Else" id="Else"><Else></a></h2>
1098 <table class="directive">
1099 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des directives qui ne s'appliquent que si la
1100 condition correspondant à la section <code class="directive"><a href="#if"><If></a></code> ou <code class="directive"><a href="#elseif"><ElseIf></a></code> précédente n'est pas satisfaite par la
1101 requête à l'exécution</td></tr>
1102 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><Else> ... </Else></code></td></tr>
1103 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
1104 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
1105 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
1106 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
1108 <p>La section <code class="directive"><Else></code> applique
1109 les directives qu'elle contient si et seulement si les conditions
1110 correspondant à la section <code class="directive"><If></code>
1111 ou <code class="directive"><ElseIf></code> immédiatement
1112 supérieure et dans la même portée n'ont pas été satisfaites. Par
1115 <pre class="prettyprint lang-config"><If "-z req('Host')">
1123 <p>La condition de la section <code class="directive"><If></code> serait satisfaite pour les requêtes
1124 HTTP/1.0 sans en-tête <var>Host:</var>, alors que celle de la section
1125 <code class="directive"><Else></code> le serait pour les
1126 requêtes comportant un en-tête <var>Host:</var>.</p>
1131 <li><code class="directive"><a href="#if"><If></a></code></li>
1132 <li><code class="directive"><a href="#elseif"><ElseIf></a></code></li>
1133 <li><a href="../sections.html">Fonctionnement des sections <Directory>, <Location>,
1134 <Files></a> pour une explication de la manière dont ces
1135 différentes section se combinent entre elles lorsqu'une requête est
1136 reçue. Les directives <code class="directive"><If></code>,
1137 <code class="directive"><ElseIf></code>, et <code class="directive"><Else></code> s'appliquent en dernier.</li>
1140 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1141 <div class="directive-section"><h2><a name="elseif" id="elseif">Directive</a> <a name="ElseIf" id="ElseIf"><ElseIf></a></h2>
1142 <table class="directive">
1143 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des directives qui ne s'appliquent que si la
1144 condition correspondante est satisfaite par une requête à l'exécution,
1145 alors que la condition correspondant à la section <code class="directive"><a href="#if"><If></a></code> ou <code class="directive"><ElseIf></code> précédente ne l'était pas.</td></tr>
1146 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><ElseIf <var>expression</var>> ... </ElseIf></code></td></tr>
1147 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
1148 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
1149 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
1150 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
1152 <p>La section <code class="directive"><ElseIf></code> applique
1153 les directives qu'elle contient si et seulement si d'une part la
1154 condition correspondante est satisfaite, et d'autre part la condition
1155 correspondant à la section <code class="directive"><If></code>
1156 ou <code class="directive"><ElseIf></code> de la même portée ne
1157 l'est pas. Par exemple, dans :</p>
1159 <pre class="prettyprint lang-config"><If "-R '10.1.0.0/16'">
1162 <ElseIf "-R '10.0.0.0/8'">
1170 <p>La condition correspondant à la section <code class="directive"><ElseIf></code> est satisfaite si l'adresse
1171 distante de la requête appartient au sous-réseau 10.0.0.0/8, mais
1172 pas si elle appartient au sous-réseau 10.1.0.0/16.</p>
1177 <li><a href="../expr.html">Les expressions dans le serveur HTTP
1178 Apache</a>, pour une référence complète et d'autres exemples.</li>
1179 <li><code class="directive"><a href="#if"><If></a></code></li>
1180 <li><code class="directive"><a href="#else"><Else></a></code></li>
1181 <li><a href="../sections.html">Fonctionnement des sections <Directory>, <Location>,
1182 <Files></a> pour une explication de la manière dont ces
1183 différentes section se combinent entre elles lorsqu'une requête est
1184 reçue. Les directives <code class="directive"><If></code>,
1185 <code class="directive"><ElseIf></code>, et <code class="directive"><Else></code> s'appliquent en dernier.</li>
1188 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1189 <div class="directive-section"><h2><a name="enablemmap" id="enablemmap">Directive</a> <a name="EnableMMAP" id="EnableMMAP">EnableMMAP</a></h2>
1190 <table class="directive">
1191 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utilise la projection en mémoire (Memory-Mapping) pour
1192 lire les fichiers pendant qu'ils sont servis</td></tr>
1193 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>EnableMMAP On|Off</code></td></tr>
1194 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>EnableMMAP On</code></td></tr>
1195 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
1196 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
1197 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
1198 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
1200 <p>Cette directive définit si <code class="program"><a href="../programs/httpd.html">httpd</a></code> peut utiliser
1201 la projection en mémoire (Memory-Mapping) quand il doit lire le contenu
1202 d'un fichier pendant qu'il est servi. Par défaut, lorsque le
1203 traitement d'une requête requiert l'accès aux données contenues dans
1204 un fichier -- par exemple, pour servir un fichier interprété par le
1205 serveur à l'aide de <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> -- Apache httpd projette
1206 le fichier en mémoire si le système d'exploitation le permet.</p>
1208 <p>Cette projection en mémoire induit parfois une amélioration des
1209 performances. Sur certains systèmes cependant, il est préférable de
1210 désactiver la projection en mémoire afin d'éviter certains problèmes
1214 <li>Sur certains systèmes multi-processeurs, la projection en
1215 mémoire peut dégrader les performances du programme
1216 <code class="program"><a href="../programs/httpd.html">httpd</a></code>.</li>
1217 <li>S'il fait l'objet d'une projection en mémoire par
1218 <code class="program"><a href="../programs/httpd.html">httpd</a></code>, la suppression ou la troncature d'un
1219 fichier peut provoquer un crash de <code class="program"><a href="../programs/httpd.html">httpd</a></code> avec une
1220 erreur de segmentation.</li>
1223 <p>Pour les configurations de serveur sujettes à ce genre de
1224 problème, il est préférable de désactiver la projection en mémoire
1225 des fichiers servis en spécifiant :</p>
1227 <pre class="prettyprint lang-config">EnableMMAP Off</pre>
1230 <p>Pour les montages NFS, cette fonctionnalité peut être
1231 explicitement désactivée pour les fichiers concernés en spécifiant
1234 <pre class="prettyprint lang-config"><Directory "/path-to-nfs-files">
1236 </Directory></pre>
1240 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1241 <div class="directive-section"><h2><a name="enablesendfile" id="enablesendfile">Directive</a> <a name="EnableSendfile" id="EnableSendfile">EnableSendfile</a></h2>
1242 <table class="directive">
1243 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utilise le support sendfile du noyau pour servir les
1244 fichiers aux clients</td></tr>
1245 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>EnableSendfile On|Off</code></td></tr>
1246 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>EnableSendfile Off</code></td></tr>
1247 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
1248 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
1249 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
1250 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
1251 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Par défaut à Off depuis la version 2.3.9.</td></tr>
1253 <p>Cette directive définit si le programme <code class="program"><a href="../programs/httpd.html">httpd</a></code>
1254 peut utiliser le support sendfile du noyau pour transmettre le
1255 contenu des fichiers aux clients. Par défaut, lorsque le traitement
1256 d'une requête ne requiert pas l'accès aux données contenues dans un
1257 fichier -- par exemple, pour la transmission d'un fichier statique
1258 -- Apache httpd utilise sendfile pour transmettre le contenu du fichier
1259 sans même lire ce dernier, si le système d'exploitation le
1262 <p>Ce mécanisme sendfile évite la séparation des opérations de
1263 lecture et d'envoi, ainsi que les réservations de tampons. sur
1264 certains systèmes cependant, ou sous certains systèmes de fichiers,
1265 il est préférable de désactiver cette fonctionnalité afin d'éviter
1266 certains problèmes opérationnels :</p>
1269 <li>Certains systèmes peuvent présenter un support sendfile
1270 défectueux que le système de compilation n'a pas détecté, en
1271 particulier si les exécutables ont été compilés sur une autre
1272 machine, puis copiés sur la première avec un support sendfile
1274 <li>Sous Linux, l'utilisation de sendfile induit des bogues lors de
1275 la récupération des paquets de vérification TCP (TCP-checksum) avec
1276 certaines cartes réseau lorsqu'on utilise IPv6.</li>
1277 <li>Sous Linux sur Itanium, <code>sendfile</code> peut s'avérer incapable de
1278 traiter les fichiers de plus de 2 Go.</li>
1279 <li>Avec un montage réseau de <code class="directive"><a href="#documentroot">DocumentRoot</a></code> (par exemple NFS, SMB, CIFS,
1281 noyau peut s'avérer incapable de servir un fichier de ce montage
1282 réseau en passant par son propre cache.</li>
1285 <p>Pour les configurations de serveur non sujettes à ce genre de
1286 problème, vous pouvez activer cette fonctionnalité en
1289 <pre class="prettyprint lang-config">EnableSendfile On</pre>
1292 <p>Pour les montages réseau, cette fonctionnalité peut être
1293 explicitement désactivée pour les fichiers concernés en spécifiant
1296 <pre class="prettyprint lang-config"><Directory "/path-to-nfs-files">
1298 </Directory></pre>
1300 <p>Veuillez noter que la configuration de la directive
1301 <code class="directive">EnableSendfile</code> dans un contexte de répertoire
1302 ou de fichier .htaccess n'est pas supportée par
1303 <code class="module"><a href="../mod/mod_cache_disk.html">mod_cache_disk</a></code>. Le module ne prend en compte la
1304 définition de <code class="directive">EnableSendfile</code> que dans un
1309 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1310 <div class="directive-section"><h2><a name="error" id="error">Directive</a> <a name="Error" id="Error">Error</a></h2>
1311 <table class="directive">
1312 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Interrompt la lecture de la configuration avec un message
1313 d'erreur personnalisé</td></tr>
1314 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Error <var>message</var></code></td></tr>
1315 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
1316 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
1317 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
1318 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>à partir de la version 2.3.9</td></tr>
1320 <p>Si une erreur peut être détectée dans la configuration, souvent
1321 un module manquant, cette
1322 directive peut être utilisée pour générer un message d'erreur
1323 personnalisé, et interrompre la lecture de la configuration. </p>
1325 <pre class="prettyprint lang-config"># Exemple
1326 # vérification du chargement de mod_include
1327 <IfModule !include_module>
1328 Error "mod_include is required by mod_foo. Load it with LoadModule."
1331 # vérification de la définition de SSL ou (exclusif) NOSSL
1332 <IfDefine SSL>
1333 <IfDefine NOSSL>
1334 Error "Both SSL and NOSSL are defined. Define only one of them."
1337 <IfDefine !SSL>
1338 <IfDefine !NOSSL>
1339 Error "Either SSL or NOSSL must be defined."
1341 </IfDefine></pre>
1346 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1347 <div class="directive-section"><h2><a name="errordocument" id="errordocument">Directive</a> <a name="ErrorDocument" id="ErrorDocument">ErrorDocument</a></h2>
1348 <table class="directive">
1349 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Document que le serveur renvoie au client en cas
1351 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ErrorDocument <var>code erreur</var> <var>document</var></code></td></tr>
1352 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
1353 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
1354 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
1355 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
1357 <p>Apache httpd peut traiter les problèmes et les erreurs de quatre
1361 <li>afficher un simple message d'erreur au contenu fixe</li>
1363 <li>afficher un message personnalisé</li>
1365 <li>rediriger en interne vers un <var>chemin d'URL</var> local pour traiter
1366 le problème ou l'erreur</li>
1368 <li>rediriger vers une <var>URL</var> externe pour traiter
1369 le problème ou l'erreur</li>
1372 <p>La première option constitue le comportement par défaut; pour
1373 choisir une des trois autres options, il faut configurer Apache à
1374 l'aide de la directive <code class="directive">ErrorDocument</code>, suivie
1375 du code de la réponse HTTP et d'une URL ou d'un message. Apache
1376 httpd fournit parfois des informations supplémentaires à propos du
1377 problème ou de l'erreur.</p>
1379 <p>A partir de la version 2.4.13, cette directive peut utiliser la
1380 <a href="../expr.html">syntaxe des expressions</a> pour générer des
1381 chaînes de caractères et des URLs dynamiques.</p>
1383 <p>Les URLs peuvent commencer par un slash (/) pour les chemins web
1384 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
1385 forme d'une URL complète que le client pourra résoudre.
1386 Alternativement, un message à afficher par le navigateur pourra être
1387 fourni. Notez que la décision à propos de la nature du paramètre, à
1388 savoir une URL, un chemin ou un message, est prise avant
1389 l'interprétation de toute expression. Exemples :</p>
1391 <pre class="prettyprint lang-config">ErrorDocument 500 http://foo.example.com/cgi-bin/tester
1392 ErrorDocument 404 /cgi-bin/bad_urls.pl
1393 ErrorDocument 401 /subscription_info.html
1394 ErrorDocument 403 "Désolé, nous ne pouvons pas vous accorder l'accès aujourd'hui"
1395 ErrorDocument 403 Forbidden!
1396 ErrorDocument 403 /cgi-bin/forbidden.pl?referrer=%{escape:%{HTTP_REFERER}}</pre>
1399 <p>De plus, on peut spécifier la valeur spéciale <code>default</code>
1400 pour indiquer l'utilisation d'un simple message d'Apache httpd codé en
1401 dur. Bien que non nécessaire dans des circonstances normales, la
1402 spécification de la valeur <code>default</code> va permettre de
1403 rétablir l'utilisation du simple message d'Apache httpd codé en dur pour
1404 les configurations qui sans cela, hériteraient d'une directive
1405 <code class="directive">ErrorDocument</code> existante.</p>
1407 <pre class="prettyprint lang-config">ErrorDocument 404 /cgi-bin/bad_urls.pl
1409 <Directory /web/docs>
1410 ErrorDocument 404 default
1411 </Directory></pre>
1414 <p>Notez que lorsque vous spécifiez une directive
1415 <code class="directive">ErrorDocument</code> pointant vers une URL distante
1416 (c'est à dire tout ce qui commence par le préfixe http), le serveur
1418 envoyer une redirection au client afin de lui indiquer où trouver le
1419 document, même dans le cas où ce document se trouve sur le serveur
1420 local. Ceci a de nombreuses conséquences dont la plus importante
1421 réside dans le fait que le client ne recevra pas le code d'erreur
1422 original, mais au contraire un code de statut de redirection. Ceci
1423 peut en retour semer la confusion chez les robots web et divers
1424 clients qui tentent de déterminer la validité d'une URL en examinant
1425 le code de statut. De plus, si vous utilisez une URL distante avec
1426 <code>ErrorDocument 401</code>, le client ne saura pas qu'il doit
1427 demander un mot de passe à l'utilisateur car il ne recevra pas le
1428 code de statut 401. C'est pourquoi, <strong>si vous utilisez une
1429 directive <code>ErrorDocument 401</code>, elle devra faire référence
1430 à un document par le biais d'un chemin local.</strong></p>
1432 <p>Microsoft Internet Explorer (MSIE) ignore par défaut les messages
1433 d'erreur générés par le serveur lorsqu'ils sont trop courts et
1434 remplacent ses propres messages d'erreur "amicaux". Le seuil de
1435 taille varie en fonction du type d'erreur, mais en général, si la
1436 taille de votre message d'erreur est supérieure à 512 octets, il y a
1437 peu de chances pour que MSIE l'occulte, et il sera affiché par ce
1438 dernier. Vous trouverez d'avantage d'informations dans l'article de
1439 la base de connaissances Microsoft <a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;Q294807">Q294807</a>.</p>
1441 <p>Bien que la plupart des messages d'erreur internes originaux
1442 puissent être remplacés, ceux-ci sont cependant conservés dans
1443 certaines circonstances sans tenir compte de la définition de la
1444 directive <code class="directive"><a href="#errordocument">ErrorDocument</a></code>. En
1445 particulier, en cas de détection d'une requête mal formée, le
1446 processus de traitement normal des requêtes est immédiatement
1447 interrompu, et un message d'erreur interne est renvoyé, ceci afin de
1448 se prémunir contre les problèmes de sécurité liés aux requêtes mal
1451 <p>Si vous utilisez mod_proxy, il est en général préférable
1452 d'activer <code class="directive"><a href="../mod/mod_proxy.html#proxyerroroverride">ProxyErrorOverride</a></code> afin d'être en
1453 mesure de produire des messages d'erreur personnalisés pour le
1454 compte de votre serveur d'origine. Si vous n'activez pas
1455 ProxyErrorOverride, Apache httpd ne générera pas de messages d'erreur
1456 personnalisés pour le contenu mandaté.</p>
1461 <li><a href="../custom-error.html">documentation sur la
1462 personnalisation des réponses</a></li>
1465 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1466 <div class="directive-section"><h2><a name="errorlog" id="errorlog">Directive</a> <a name="ErrorLog" id="ErrorLog">ErrorLog</a></h2>
1467 <table class="directive">
1468 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définition du chemin du journal des erreurs</td></tr>
1469 <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>
1470 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ErrorLog logs/error_log (Unix) ErrorLog logs/error.log (Windows and OS/2)</code></td></tr>
1471 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
1472 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
1473 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
1475 <p>La directive <code class="directive">ErrorLog</code> permet de définir le
1476 nom du fichier dans lequel le serveur va journaliser toutes les
1477 erreurs qu'il rencontre. Si le <var>chemin fichier</var> n'est pas
1478 absolu, il est considéré comme relatif au chemin défini par la
1479 directive <code class="directive"><a href="#serverroot">ServerRoot</a></code>.</p>
1481 <pre class="prettyprint lang-config">ErrorLog "/var/log/httpd/error_log"</pre>
1484 <p>Si le <var>chemin fichier</var> commence par une barre verticale
1485 "<code>(|)</code>", il est considéré comme une commande à lancer pour traiter la
1486 journalisation de l'erreur.</p>
1488 <pre class="prettyprint lang-config">ErrorLog "|/usr/local/bin/httpd_errors"</pre>
1491 <p>Voir les notes à propos des <a href="../logs.html#piped">journaux
1492 redirigés</a> pour plus d'informations.</p>
1494 <p>L'utilisation de <code>syslog</code> à la place d'un nom de
1495 fichier active la journalisation via syslogd(8) si le système le
1496 supporte et si <code class="module"><a href="../mod/mod_syslog.html">mod_syslog</a></code> a été chargé. Le
1497 dispositif syslog par défaut est <code>local7</code>,
1498 mais vous pouvez le modifier à l'aide de la syntaxe
1499 <code>syslog:<var>facility</var></code>, où <var>facility</var> peut
1500 être remplacé par un des noms habituellement documentés dans la page
1501 de man syslog(1). Le dispositif syslog <code>local7</code> est
1502 global, et si il est modifié dans un serveur virtuel, le dispositif
1503 final spécifié affecte l'ensemble du serveur</p>
1505 <pre class="prettyprint lang-config">ErrorLog syslog:user</pre>
1508 <p>Des modules additionnels peuvent implémenter leur propre
1509 fournisseur ErrorLog. La syntaxe est similaire à l'exemple
1510 <code>syslog</code> ci-dessus.</p>
1512 <p>SECURITE : Voir le document <a href="../misc/security_tips.html#serverroot">conseils à propos de
1513 sécurité</a> pour des détails sur les raisons pour lesquelles votre
1514 sécurité peut être compromise si le répertoire contenant les
1515 fichiers journaux présente des droits en écriture pour tout autre
1516 utilisateur que celui sous lequel le serveur est démarré.</p>
1517 <div class="warning"><h3>Note</h3>
1518 <p>Lors de la spécification d'un chemin de fichier sur les
1519 plates-formes non-Unix, on doit veiller à n'utiliser que des
1520 slashes (/), même si la plate-forme autorise l'utilisation des
1521 anti-slashes (\). Et d'une manière générale, il est recommandé de
1522 n'utiliser que des slashes (/) dans les fichiers de
1528 <li><code class="directive"><a href="#loglevel">LogLevel</a></code></li>
1529 <li><a href="../logs.html">Fichiers journaux du serveur HTTP Apache</a></li>
1532 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1533 <div class="directive-section"><h2><a name="errorlogformat" id="errorlogformat">Directive</a> <a name="ErrorLogFormat" id="ErrorLogFormat">ErrorLogFormat</a></h2>
1534 <table class="directive">
1535 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécification du format des entrées du journal des erreurs</td></tr>
1536 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code> ErrorLogFormat [connection|request] <var>format</var></code></td></tr>
1537 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
1538 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
1539 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
1541 <p>La directive <code class="directive">ErrorLogFormat</code> permet de
1542 spécifier quelles informations supplémentaires vont être enregistrées
1543 dans le journal des erreurs en plus du message habituel.</p>
1545 <pre class="prettyprint lang-config"># Exemple simple
1546 ErrorLogFormat "[%t] [%l] [pid %P] %F: %E: [client %a] %M"</pre>
1549 <p>La spécification de <code>connection</code> ou
1550 <code>request</code> comme premier paramètre permet de définir des
1551 formats supplémentaires, ce qui a pour effet de journaliser des
1552 informations additionnelles lorsque le premier message est
1553 enregistré respectivement pour une connexion ou une requête
1554 spécifique. Ces informations additionnelles ne sont enregistrées
1555 qu'une seule fois par connexion/requête. Si le traitement d'une
1556 connexion ou d'une requête ne génère aucun message dans le journal,
1557 alors aucune information additionnelle n'est enregistrée.</p>
1559 <p>Il peut arriver que certains items de la chaîne de format ne
1560 produisent aucune sortie. Par exemple, l'en-tête Referer n'est
1561 présent que si le message du journal est associé à une requête et s'il
1562 est généré à un moment où l'en-tête Referer a déjà été lu par le
1563 client. Si aucune sortie n'est générée, le comportement par défaut
1564 consiste à supprimer tout ce qui se trouve entre l'espace précédent
1565 et le suivant. Ceci implique que la ligne de journalisation est
1566 divisée en champs ne contenant pas d'espace séparés par des espaces.
1567 Si un item de la chaîne de format ne génère aucune sortie,
1568 l'ensemble du champ est omis. Par exemple, si l'adresse distante
1569 <code>%a</code> du format <code>[%t] [%l] [%a] %M </code> n'est
1570 pas disponible, les crochets qui l'entourent ne seront eux-mêmes pas
1571 enregistrés. Il est possible d'échapper les espaces par un anti-slash
1572 afin qu'ils ne soient pas considérés comme séparateurs de champs.
1573 La combinaison '% ' (pourcentage espace) est un délimiteur de
1574 champ de taille nulle qui ne génère aucune sortie.</p>
1576 <p>Ce comportement peut être changé en ajoutant des modificateurs à
1577 l'item de la chaîne de format. Le modificateur <code>-</code>
1578 (moins) provoque l'enregistrement d'un signe moins si l'item
1579 considéré ne génère aucune sortie. Pour les formats à enregistrement
1580 unique par connexion/requête, il est aussi possible d'utiliser le
1581 modificateur <code>+</code> (plus). Si un item ne générant aucune
1582 sortie possède le modificateur plus, la ligne dans son ensemble est
1585 <p>Un modificateur de type entier permet d'assigner un niveau de
1586 sévérité à un item de format. L'item considéré ne
1587 sera journalisé que si la sévérité du message n'est pas
1588 plus haute que le niveau de sévérité spécifié. Les
1589 valeurs possibles vont de 1 (alert) à 15 (trace8), en passant par 4
1590 (warn) ou 7 (debug).</p>
1592 <p>Par exemple, voici ce qui arriverait si vous ajoutiez des
1593 modificateurs à l'item <code>%{Referer}i</code> qui enregistre le
1594 contenu de l'en-tête <code>Referer</code>.</p>
1596 <table class="bordered"><tr class="header"><th>Item modifié</th><th>Signification</th></tr>
1598 <td><code>%-{Referer}i</code></td>
1599 <td>Enregistre le caractère <code>-</code> si l'en-tête
1600 <code>Referer</code> n'est pas défini.</td>
1603 <td><code>%+{Referer}i</code></td>
1604 <td>N'enregistre rien si l'en-tête
1605 <code>Referer</code> n'est pas défini.</td>
1608 <td><code>%4{Referer}i</code></td>
1609 <td>N'enregistre le contenu de l'en-tête <code>Referer</code> que si
1610 la sévérité du message de journalisation est supérieure à 4.</td>
1614 <p>Certains items de format acceptent des paramètres supplémentaires
1615 entre accolades.</p>
1617 <table class="bordered"><tr class="header"><th>Chaîne de format</th> <th>Description</th></tr>
1618 <tr><td><code>%%</code></td>
1619 <td>Le signe pourcentage</td></tr>
1620 <tr class="odd"><td><code>%a</code></td>
1621 <td>Adresse IP et port clients</td></tr>
1622 <tr><td><code>%{c}a</code></td>
1623 <td>Port et adresse IP sous-jacents du correspondant pour la
1624 connexion (voir le module
1625 <code class="module"><a href="../mod/mod_remoteip.html">mod_remoteip</a></code>)</td></tr>
1626 <tr class="odd"><td><code>%A</code></td>
1627 <td>Adresse IP et port locaux</td></tr>
1628 <tr><td><code>%{<em>name</em>}e</code></td>
1629 <td>Variable d'environnement de requête <em>name</em></td></tr>
1630 <tr class="odd"><td><code>%E</code></td>
1631 <td>Etat d'erreur APR/OS et chaîne</td></tr>
1632 <tr><td><code>%F</code></td>
1633 <td>Nom du fichier source et numéro de ligne de l'appel du
1635 <tr class="odd"><td><code>%{<em>name</em>}i</code></td>
1636 <td>En-tête de requête <em>name</em></td></tr>
1637 <tr><td><code>%k</code></td>
1638 <td>Nombre de requêtes persistantes pour cette connexion</td></tr>
1639 <tr class="odd"><td><code>%l</code></td>
1640 <td>Sévérité du message</td></tr>
1641 <tr><td><code>%L</code></td>
1642 <td>Identifiant journal de la requête</td></tr>
1643 <tr class="odd"><td><code>%{c}L</code></td>
1644 <td>Identifiant journal de la connexion</td></tr>
1645 <tr><td><code>%{C}L</code></td>
1646 <td>Identifiant journal de la connexion si utilisé dans la
1647 portée de la connexion, vide sinon</td></tr>
1648 <tr class="odd"><td><code>%m</code></td>
1649 <td>Nom du module qui effectue la journalisation du message</td></tr>
1650 <tr><td><code>%M</code></td>
1651 <td>Le message effectif</td></tr>
1652 <tr class="odd"><td><code>%{<em>name</em>}n</code></td>
1653 <td>Note de requête <em>name</em></td></tr>
1654 <tr><td><code>%P</code></td>
1655 <td>Identifiant du processus courant</td></tr>
1656 <tr class="odd"><td><code>%T</code></td>
1657 <td>Identifiant du thread courant</td></tr>
1658 <tr><td><code>%{g}T</code></td>
1659 <td>Identifiant unique de thread système du thread courant
1660 (l'identifiant affiché par la commande <code>top</code> par
1661 exemple ; seulement sous Linux pour l'instant)</td></tr>
1662 <tr class="odd"><td><code>%t</code></td>
1663 <td>L'heure courante</td></tr>
1664 <tr><td><code>%{u}t</code></td>
1665 <td>L'heure courante avec les microsecondes</td></tr>
1666 <tr class="odd"><td><code>%{cu}t</code></td>
1667 <td>L'heure courante au format compact ISO 8601, avec les
1668 microsecondes</td></tr>
1669 <tr><td><code>%v</code></td>
1670 <td>Le nom de serveur canonique <code class="directive"><a href="#servername">ServerName</a></code> du serveur courant.</td></tr>
1671 <tr class="odd"><td><code>%V</code></td>
1672 <td>Le nom de serveur du serveur qui sert la requête en accord
1673 avec la définition de la directive <code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code>.</td></tr>
1674 <tr><td><code>\ </code> (anti-slash espace)</td>
1675 <td>Espace non délimiteur</td></tr>
1676 <tr class="odd"><td><code>% </code> (pourcentage espace)</td>
1677 <td>Délimiteur de champ (aucune sortie)</td></tr>
1680 <p>L'item de format identifiant journal <code>%L</code> génère un
1681 identifiant unique pour une connexion ou une requête. Il peut servir
1682 à déterminer quelles lignes correspondent à la même connexion ou
1683 requête ou quelle requête est associée à tel connexion. Un item de
1684 format <code>%L</code> est aussi disponible dans le module
1685 <code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code>, mais il permet dans ce contexte de
1686 corréler les entrées du journal des accès avec celles du journal des
1687 erreurs. Si le module <code class="module"><a href="../mod/mod_unique_id.html">mod_unique_id</a></code> est chargé,
1688 c'est son identifiant unique qui sera utilisé comme identifiant de
1689 journal pour les requêtes.</p>
1691 <pre class="prettyprint lang-config"># Exemple (format par défaut pour les MPMs threadés)
1692 ErrorLogFormat "[%{u}t] [%-m:%l] [pid %P:tid %T] %7F: %E: [client\ %a] %M% ,\ referer\ %{Referer}i"</pre>
1695 <p>Cet exemple renverrait un message d'erreur du style :</p>
1697 <div class="example"><p><code>
1698 [Thu May 12 08:28:57.652118 2011] [core:error] [pid 8777:tid 4326490112] [client ::1:58619] File does not exist: /usr/local/apache2/htdocs/favicon.ico
1701 <p>Notez que, comme indiqué plus haut, certains champs sont
1702 totalement supprimés s'ils n'ont pas été définis.</p>
1704 <pre class="prettyprint lang-config"># Exemple (similaire au format 2.2.x)
1705 ErrorLogFormat "[%t] [%l] %7F: %E: [client\ %a] %M% ,\ referer\ %{Referer}i"</pre>
1708 <pre class="prettyprint lang-config"># Exemple avancé avec identifiants journal de requête/connexion
1709 ErrorLogFormat "[%{uc}t] [%-m:%-l] [R:%L] [C:%{C}L] %7F: %E: %M"
1710 ErrorLogFormat request "[%{uc}t] [R:%L] Request %k on C:%{c}L pid:%P tid:%T"
1711 ErrorLogFormat request "[%{uc}t] [R:%L] UA:'%+{User-Agent}i'"
1712 ErrorLogFormat request "[%{uc}t] [R:%L] Referer:'%+{Referer}i'"
1713 ErrorLogFormat connection "[%{uc}t] [C:%{c}L] local\ %a remote\ %A"</pre>
1719 <li><code class="directive"><a href="#errorlog">ErrorLog</a></code></li>
1720 <li><code class="directive"><a href="#loglevel">LogLevel</a></code></li>
1721 <li><a href="../logs.html">Fichiers journaux du serveur HTTP Apache</a></li>
1724 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1725 <div class="directive-section"><h2><a name="extendedstatus" id="extendedstatus">Directive</a> <a name="ExtendedStatus" id="ExtendedStatus">ExtendedStatus</a></h2>
1726 <table class="directive">
1727 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Extrait des informations d'état étendues pour chaque
1729 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ExtendedStatus On|Off</code></td></tr>
1730 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ExtendedStatus Off</code></td></tr>
1731 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
1732 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
1733 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
1736 <p>Cette option permet d'extraire des données supplémentaires
1737 concernant la requête en cours de traitement pour un processus
1738 donné, ainsi qu'un résumé d'utilisation ; vous pouvez accéder à
1739 ces variables pendant l'exécution en configurant
1740 <code class="module"><a href="../mod/mod_status.html">mod_status</a></code>. Notez que d'autres modules sont
1741 susceptibles de s'appuyer sur ce tableau de bord.</p>
1743 <p>Cette directive s'applique au serveur dans son ensemble, et ne
1744 peut pas être activée/désactivée pour un serveur virtuel
1745 particulier. Notez que l'extraction des informations d'état étendues
1746 peut ralentir le serveur. Notez aussi que cette définition ne peut
1747 pas être modifiée au cours d'un redémarrage graceful.</p>
1750 <p>Notez que le chargement de <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> définit
1751 automatiquement ExtendedStatus à On, et que d'autres modules tiers
1752 sont susceptibles d'en faire de même. De tels modules ont besoin
1753 d'informations détaillées à propos de l'état de tous les processus.
1754 Depuis la version 2.3.6, <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> a définit la
1755 valeur par défaut à On, alors qu'elle était à Off dans les versions
1761 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1762 <div class="directive-section"><h2><a name="fileetag" id="fileetag">Directive</a> <a name="FileETag" id="FileETag">FileETag</a></h2>
1763 <table class="directive">
1764 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Caractéristiques de fichier utilisées lors de la génération
1765 de l'en-tête de réponse HTTP ETag pour les fichiers statiques</td></tr>
1766 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>FileETag <var>composant</var> ...</code></td></tr>
1767 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>FileETag MTime Size</code></td></tr>
1768 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
1769 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
1770 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
1771 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
1772 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>La valeur par défaut était "INode MTime Size"
1773 dans les versions 2.3.14 et antérieures.</td></tr>
1776 La directive <code class="directive">FileETag</code> définit les
1777 caractéristiques de fichier utilisées lors de la génération de
1778 l'en-tête de réponse HTTP <code>ETag</code> (entity tag) quand le
1779 document est contenu dans un fichier statique(la valeur de
1781 est utilisée dans le cadre de la gestion du cache pour préserver la
1782 bande passante réseau). La directive
1783 <code class="directive">FileETag</code> vous permet maintenant de choisir
1784 quelles caractéristiques du fichier vont être utilisées, le cas
1785 échéant. Les mots-clés reconnus sont :
1789 <dt><strong>INode</strong></dt>
1790 <dd>Le numéro d'i-node du fichier sera inclus dans le processus de
1792 <dt><strong>MTime</strong></dt>
1793 <dd>La date et l'heure auxquelles le fichier a été modifié la
1794 dernière fois seront incluses</dd>
1795 <dt><strong>Size</strong></dt>
1796 <dd>La taille du fichier en octets sera incluse</dd>
1797 <dt><strong>All</strong></dt>
1798 <dd>Tous les champs disponibles seront utilisés. Cette définition
1800 <pre class="prettyprint lang-config">FileETag INode MTime Size</pre>
1802 <dt><strong>None</strong></dt>
1803 <dd>Si le document se compose d'un fichier, aucun champ
1804 <code>ETag</code> ne sera inclus dans la réponse</dd>
1807 <p>Les mots-clés <code>INode</code>, <code>MTime</code>, et
1808 <code>Size</code> peuvent être préfixés par <code>+</code> ou
1809 <code>-</code>, ce qui permet de modifier les valeurs par défaut
1810 héritées d'un niveau de configuration plus général. Tout mot-clé
1811 apparaissant sans aucun préfixe annule entièrement et immédiatement
1812 les configurations héritées.</p>
1814 <p>Si la configuration d'un répertoire contient
1815 <code>FileETag INode MTime Size</code>, et si un de
1816 ses sous-répertoires contient <code>FileETag -INode</code>, la
1817 configuration de ce sous-répertoire (qui sera propagée vers tout
1818 sous-répertoire qui ne la supplante pas), sera équivalente à
1819 <code>FileETag MTime Size</code>.</p>
1820 <div class="warning"><h3>Avertissement</h3>
1821 Ne modifiez pas les valeurs par défaut pour les répertoires ou
1822 localisations où WebDAV est activé et qui utilisent
1823 <code class="module"><a href="../mod/mod_dav_fs.html">mod_dav_fs</a></code> comme fournisseur de stockage.
1824 <code class="module"><a href="../mod/mod_dav_fs.html">mod_dav_fs</a></code> utilise
1825 <code>MTime Size</code> comme format fixe pour les
1826 comparaisons de champs <code>ETag</code> dans les requêtes
1827 conditionnelles. Ces requêtes conditionnelles échoueront si le
1828 format <code>ETag</code> est modifié via la directive
1829 <code class="directive">FileETag</code>.
1831 <div class="note"><h3>Inclusions côté serveur</h3>
1832 Aucun champ ETag n'est généré pour les réponses interprétées par
1833 <code class="module"><a href="../mod/mod_include.html">mod_include</a></code>, car l'entité de la réponse peut
1834 changer sans modification de l'INode, du MTime, ou de la taille du
1835 fichier statique contenant les directives SSI.
1841 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1842 <div class="directive-section"><h2><a name="files" id="files">Directive</a> <a name="Files" id="Files"><Files></a></h2>
1843 <table class="directive">
1844 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des directives qui s'appliquent aux fichiers
1846 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><Files <var>nom fichier</var>> ... </Files></code></td></tr>
1847 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
1848 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
1849 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
1850 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
1852 <p>La directive <code class="directive"><Files></code> limite
1853 la portée des directives qu'elle contient aux fichiers précisés.
1854 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
1855 balise <code></Files></code>. Les directives contenues dans
1856 cette section s'appliqueront à tout objet dont le nom de base (la
1857 dernière partie du nom de fichier) correspond au fichier spécifié.
1858 Les sections <code class="directive"><Files></code> sont
1859 traitées selon l'ordre dans lequel elles apparaissent dans le
1860 fichier de configuration, après les sections <code class="directive"><a href="#directory"><Directory></a></code> et la lecture des fichiers
1861 <code>.htaccess</code>, mais avant les sections <code class="directive"><a href="#location"><Location></a></code>. Notez que les
1862 sections <code class="directive"><Files></code> peuvent être
1863 imbriquées dans les sections <code class="directive"><a href="#directory"><Directory></a></code> afin de restreindre la portion
1864 du système de fichiers à laquelle ces dernières vont
1867 <p>L'argument <var>filename</var> peut contenir un nom de fichier
1868 ou une chaîne de caractères avec caractères génériques, où
1869 <code>?</code> remplace un caractère, et <code>*</code> toute chaîne
1871 <pre class="prettyprint lang-config"><Files "cat.html">
1872 # Insérer ici des directives qui s'appliquent au fichier cat.html
1875 <Files "?at.*">
1876 # Les directives insérées ici s'appliqueront aux fichiers
1877 # cat.html, bat.html, hat.php, et ainsi de suite.
1878 </Files></pre>
1881 <p>On peut aussi utiliser les <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">Expressions rationnelles</a> en ajoutant la
1882 caractère <code>~</code>. Par exemple :</p>
1884 <pre class="prettyprint lang-config"><Files ~ "\.(gif|jpe?g|png)$">
1886 </Files></pre>
1889 <p>correspondrait à la plupart des formats graphiques de l'Internet.
1890 Il est cependant préférable d'utiliser la directive <code class="directive"><a href="#filesmatch"><FilesMatch></a></code>.</p>
1892 <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
1893 fichiers <code>.htaccess</code>. Ceci permet aux utilisateurs de
1894 contrôler l'accès à leurs propres ressources, fichier par
1900 <li><a href="../sections.html">Comment fonctionnent les sections
1901 <Directory>, <Location> et <Files></a> pour une
1902 explication de la manière dont ces différentes sections se combinent
1903 entre elles à la réception d'une requête</li>
1906 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1907 <div class="directive-section"><h2><a name="filesmatch" id="filesmatch">Directive</a> <a name="FilesMatch" id="FilesMatch"><FilesMatch></a></h2>
1908 <table class="directive">
1909 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des directives qui s'appliquent à des fichiers
1910 spécifiés sous la forme d'expressions rationnelles</td></tr>
1911 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><FilesMatch <var>expression rationnelle</var>> ...
1912 </FilesMatch></code></td></tr>
1913 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
1914 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
1915 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
1916 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
1918 <p>La section <code class="directive"><FilesMatch></code>
1919 limite la portée des directives qu'elle contient aux fichiers
1920 spécifiés, tout comme le ferait une section <code class="directive"><a href="#files"><Files></a></code>. Mais elle accepte aussi les
1921 <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expressions rationnelles</a>. Par
1924 <pre class="prettyprint lang-config"><FilesMatch "\.(gif|jpe?g|png)$">
1926 </FilesMatch></pre>
1929 <p>correspondrait à la plupart des formats graphiques de
1932 <p>A partir de la version 2.4.8, les groupes nommés et les
1933 références arrières sont extraits et enregistrés dans
1934 l'environnement avec leur nom en majuscules et préfixé
1935 par "MATCH_". Ceci permet
1936 de référencer des URLs dans des <a href="../expr.html">expressions</a>
1937 ou au sein de modules comme <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>. Pour
1938 éviter toute confusion, les références arrières numérotées (non
1939 nommées) sont ignorées. Vous devez utiliser à la place des groupes
1942 <pre class="prettyprint lang-config"><FilesMatch ^(?<sitename>[^/]+)>
1943 require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
1944 </FilesMatch></pre>
1949 <li><a href="../sections.html">Comment fonctionnent les sections
1950 <Directory>, <Location> et <Files></a> pour une
1951 explication de la manière dont ces différentes sections se combinent
1952 entre elles à la réception d'une requête</li>
1955 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1956 <div class="directive-section"><h2><a name="forcetype" id="forcetype">Directive</a> <a name="ForceType" id="ForceType">ForceType</a></h2>
1957 <table class="directive">
1958 <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
1959 HTTP Content-Type pour les fichiers correspondants</td></tr>
1960 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ForceType <var>type médium</var>|None</code></td></tr>
1961 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
1962 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
1963 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
1964 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
1966 <p>Lorsqu'elle est placée dans un fichier <code>.htaccess</code> ou
1967 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
1968 l'identification du type MIME des fichiers spécifiés à la valeur de
1969 l'argument <var>type médium</var>. Par exemple, si vous possédez un
1970 répertoire ne contenant que des fichiers GIF, et si vous ne voulez
1971 pas leur ajouter l'extension <code>.gif</code>, vous pouvez utiliser
1974 <pre class="prettyprint lang-config">ForceType image/gif</pre>
1977 <p>Notez que cette directive l'emporte sur d'autres associations de
1978 type de médium indirectes définies dans mime.types ou via la
1979 directive <code class="directive"><a href="../mod/mod_mime.html#addtype">AddType</a></code>.</p>
1981 <p>Vous pouvez aussi annuler toute définition plus générale de
1982 <code class="directive">ForceType</code> en affectant la valeur
1983 <code>None</code> à l'argument <var>type médium</var> :</p>
1985 <pre class="prettyprint lang-config"># force le type MIME de tous les fichiers à image/gif:
1986 <Location /images>
1990 # mais utilise les méthodes classiques d'attribution du type MIME
1991 # dans le sous-répertoire suivant :
1992 <Location /images/mixed>
1994 </Location></pre>
1997 <p>A la base, cette directive écrase le type de contenu généré pour
1998 les fichiers statiques servis à partir du sytème de fichiers. Pour
1999 les ressources autres que les fichiers statiques pour lesquels le
2000 générateur de réponse spécifie en général un type de contenu, cette
2001 directive est ignorée.</p>
2005 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2006 <div class="directive-section"><h2><a name="gprofdir" id="gprofdir">Directive</a> <a name="GprofDir" id="GprofDir">GprofDir</a></h2>
2007 <table class="directive">
2008 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Répertoire dans lequel écrire les données de profiling
2010 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>GprofDir <var>/tmp/gprof/</var>|<var>/tmp/gprof/</var>%</code></td></tr>
2011 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
2012 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
2013 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
2015 <p>Lorsque le serveur a été compilé avec le support du profiling
2016 gprof, la directive <code class="directive">GprofDir</code> permet de
2017 spécifier dans quel répertoire les fichiers <code>gmon.out</code>
2018 doivent être écrits lorsque le processus s'arrête. Si l'argument se
2019 termine par un caractère pourcentage ('%'), des sous-répertoires
2020 sont créés pour chaque identifiant de processus.</p>
2022 <p>Cette directive ne fonctionne actuellement qu'avec le MPM
2023 <code class="module"><a href="../mod/prefork.html">prefork</a></code>.</p>
2026 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2027 <div class="directive-section"><h2><a name="hostnamelookups" id="hostnamelookups">Directive</a> <a name="HostnameLookups" id="HostnameLookups">HostnameLookups</a></h2>
2028 <table class="directive">
2029 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la recherche DNS sur les adresses IP des
2031 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>HostnameLookups On|Off|Double</code></td></tr>
2032 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>HostnameLookups Off</code></td></tr>
2033 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
2034 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
2035 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
2037 <p>Cette directive active la recherche DNS afin de pouvoir
2038 journaliser les nom d'hôtes (et les passer aux programmes CGI et aux
2039 inclusions SSI via la variable <code>REMOTE_HOST</code>). La valeur
2040 <code>Double</code> déclenche une double recherche DNS inverse. En
2041 d'autres termes, une fois la recherche inverse effectuée, on lance
2042 une recherche directe sur le résultat de cette dernière. Au moins
2043 une des adresses IP fournies par la recherche directe doit
2044 correspondre à l'adresse originale (ce que l'on nomme
2045 <code>PARANOID</code> dans la terminologie "tcpwrappers").</p>
2047 <p>Quelle que soit la configuration, lorsqu'on utilise
2048 <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> pour contrôler l'accès en fonction
2049 du nom d'hôte, une double recherche DNS inverse est effectuée,
2050 sécurité oblige. Notez cependant que le résultat de cette double
2051 recherche n'est en général pas accessible, à moins que vous n'ayez
2052 spécifié <code>HostnameLookups Double</code>. Par exemple, si vous
2053 n'avez spécifié que <code>HostnameLookups On</code>, et si une
2054 requête concerne un objet protégé par des restrictions en fonction
2055 du nom d'hôte, quel que soit le résultat de la double recherche
2056 inverse, les programmes CGI ne recevront que le résultat de la
2057 recherche inverse simple dans la variable
2058 <code>REMOTE_HOST</code>.</p>
2060 <p>La valeur par défaut est <code>Off</code> afin de préserver le
2061 traffic réseau des sites pour lesquels la recherche inverse n'est
2062 pas vraiment nécessaire. Cette valeur par défaut est aussi bénéfique
2063 pour les utilisateurs finaux car il n'ont ainsi pas à subir de temps
2064 d'attente supplémentaires dus aux recherches DNS. Les sites
2065 fortement chargés devraient laisser cette directive à
2066 <code>Off</code>, car les recherches DNS peuvent prendre des temps
2067 très longs. Vous pouvez éventuellement utiliser hors ligne
2068 l'utilitaire <code class="program"><a href="../programs/logresolve.html">logresolve</a></code>, compilé par défaut dans
2069 le sous-répertoire <code>bin</code> de votre répertoire
2070 d'installation, afin de déterminer les noms d'hôtes associés aux
2071 adresses IP journalisées.</p>
2073 <p>Enfin, si vous avez des <a href="mod_authz_host.html#reqhost">directives Require à base de
2074 nom</a>, une recherche de nom d'hôte sera effectuée quelle que soit
2075 la définition de la directive <code>HostnameLookups</code>.</p>
2078 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2079 <div class="directive-section"><h2><a name="if" id="if">Directive</a> <a name="If" id="If"><If></a></h2>
2080 <table class="directive">
2081 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des directives qui ne s'appliquent que si une
2082 condition est satisfaite au cours du traitement d'une
2084 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><If <var>expression</var>> ... </If></code></td></tr>
2085 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
2086 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
2087 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
2088 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
2090 <p>La directive <code class="directive"><If></code> évalue une
2091 expression à la volée, et applique les directives qu'elle contient
2092 si et seulement si l'expression renvoie la valeur "vrai". Par
2095 <pre class="prettyprint lang-config"><If "-z req('Host')"></pre>
2098 <p>serait satisfaite pour les requêtes HTTP/1.0 sans en-tête
2099 <var>Host:</var>. Les expressions peuvent contenir différents
2100 opérateurs de type shell pour la comparaison de chaînes
2101 (<code>==</code>, <code>!=</code>, <code><</code>, ...), la
2102 comparaison d'entiers (<code>-eq</code>, <code>-ne</code>, ...), ou
2103 à usages divers (<code>-n</code>, <code>-z</code>, <code>-f</code>,
2104 ...). Les expressions rationnelles sont aussi supportées,</p>
2106 <pre class="prettyprint lang-config"><If "%{QUERY_STRING} =~ /(delete|commit)=.*?elem/"></pre>
2109 <p>ainsi que les comparaison de modèles de type shell et de
2110 nombreuses autres opérations. Ces opérations peuvent être effectuées
2111 sur les en-têtes de requêtes (<code>req</code>), les variables
2112 d'environnement (<code>env</code>), et un grand nombre d'autres
2113 propriétés. La documentation complète est disponible dans <a href="../expr.html">Les expressions dans le serveur HTTP Apache</a>.</p>
2115 <p>Cette section de configuration ne peut contenir que des
2116 directives qui supportent le <a href="directive-dict.html#Context">contexte de répertoire</a>.</p>
2121 <li><a href="../expr.html">Les expressions dans le serveur HTTP
2122 Apache</a>, pour une référence complète et d'autres exemples.</li>
2123 <li><code class="directive"><a href="#elseif"><ElseIf></a></code></li>
2124 <li><code class="directive"><a href="#else"><Else></a></code></li>
2125 <li><a href="../sections.html">Comment fonctionnent les sections
2126 <Directory>, <Location> et <Files></a> pour une
2127 explication de la manière dont ces différentes sections se combinent
2128 entre elles à la réception d'une requête. Les
2129 directives <code class="directive"><If></code>, <code class="directive"><ElseIf></code>, et <code class="directive"><Else></code> s'appliquent en dernier.</li>
2132 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2133 <div class="directive-section"><h2><a name="ifdefine" id="ifdefine">Directive</a> <a name="IfDefine" id="IfDefine"><IfDefine></a></h2>
2134 <table class="directive">
2135 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des directives qui ne s'appliqueront que si un
2136 test retourne "vrai" au démarrage du serveur</td></tr>
2137 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><IfDefine [!]<var>paramètre</var>> ...
2138 </IfDefine></code></td></tr>
2139 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
2140 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
2141 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
2142 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
2144 <p>La section <code><IfDefine
2145 <var>test</var>>...</IfDefine></code> permet de
2146 conférer un caractère conditionnel à un ensemble de directives. Les
2147 directives situées à l'intérieur d'une section <code class="directive"><IfDefine></code> ne s'appliquent que si
2148 <var>test</var> est vrai. Si <var>test</var> est faux, tout ce qui
2149 se trouve entre les balises de début et de fin est ignoré.</p>
2151 <p><var>test</var> peut se présenter sous deux formes :</p>
2154 <li><var>nom paramètre</var></li>
2156 <li><code>!</code><var>nom paramètre</var></li>
2159 <p>Dans le premier cas, les directives situées entre les balises de
2160 début et de fin ne s'appliqueront que si le paramètre nommé <var>nom
2161 paramètre</var> est défini. Le second format inverse le test, et
2162 dans ce cas, les directives ne s'appliqueront que si <var>nom
2163 paramètre</var> n'est <strong>pas</strong> défini.</p>
2165 <p>L'argument <var>nom paramètre</var> est une définition qui peut
2166 être effectuée par la ligne de commande
2167 <code class="program"><a href="../programs/httpd.html">httpd</a></code> via le paramètre
2168 <code>-D<var>paramètre</var></code> au démarrage du serveur, ou via la
2169 directive <code class="directive"><a href="#define">Define</a></code>.</p>
2171 <p>Les sections <code class="directive"><IfDefine></code>
2172 peuvent être imbriquées, ce qui permet d'implémenter un test
2173 multi-paramètres simple. Exemple :</p>
2175 <div class="example"><p><code>httpd -DReverseProxy -DUseCache -DMemCache ...</code></p></div>
2176 <pre class="prettyprint lang-config"><IfDefine ReverseProxy>
2177 LoadModule proxy_module modules/mod_proxy.so
2178 LoadModule proxy_http_module modules/mod_proxy_http.so
2179 <IfDefine UseCache>
2180 LoadModule cache_module modules/mod_cache.so
2181 <IfDefine MemCache>
2182 LoadModule mem_cache_module modules/mod_mem_cache.so
2184 <IfDefine !MemCache>
2185 LoadModule cache_disk_module modules/mod_cache_disk.so
2188 </IfDefine></pre>
2192 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2193 <div class="directive-section"><h2><a name="ifmodule" id="ifmodule">Directive</a> <a name="IfModule" id="IfModule"><IfModule></a></h2>
2194 <table class="directive">
2195 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des directives qui ne s'appliquent qu'en fonction
2196 de la présence ou de l'absence d'un module spécifique</td></tr>
2197 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><IfModule [!]<var>fichier module</var>|<var>identificateur
2198 module</var>> ... </IfModule></code></td></tr>
2199 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
2200 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
2201 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
2202 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
2204 <p>La section <code><IfModule
2205 <var>test</var>>...</IfModule></code> permet de conférer à
2206 des directives un caractère conditionnel basé sur la présence d'un
2207 module spécifique. Les directives situées dans une section
2208 <code class="directive"><IfModule></code> ne s'appliquent que
2209 si <var>test</var> est vrai. Si <var>test</var> est faux, tout ce
2210 qui se trouve entre les balises de début et de fin est ignoré.</p>
2212 <p><var>test</var> peut se présenter sous deux formes :</p>
2215 <li><var>module</var></li>
2217 <li>!<var>module</var></li>
2220 <p>Dans le premier cas, les directives situées entre les balises de
2221 début et de fin ne s'appliquent que si le module <var>module</var>
2222 est présent -- soit compilé avec le binaire Apache httpd, soit chargé
2223 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
2224 ce cas, les directives ne s'appliquent que si <var>module</var>
2225 n'est <strong>pas</strong> présent.</p>
2227 <p>L'argument <var>module</var> peut contenir soit l'identificateur
2228 du module, soit le nom du fichier source du module. Par exemple,
2229 <code>rewrite_module</code> est un identificateur et
2230 <code>mod_rewrite.c</code> le nom du fichier source
2231 correspondant. Si un module comporte plusieurs fichiers sources,
2232 utilisez le nom du fichier qui contient la chaîne de caractères
2233 <code>STANDARD20_MODULE_STUFF</code>.</p>
2235 <p>Les sections <code class="directive"><IfModule></code>
2236 peuvent être imbriquées, ce qui permet d'implémenter des tests
2237 multi-modules simples.</p>
2239 <div class="note">Cette section ne doit être utilisée que si votre fichier de
2240 configuration ne fonctionne qu'en fonction de la présence ou de
2241 l'absence d'un module spécifique. D'une manière générale, il n'est
2242 pas nécessaire de placer les directives à l'intérieur de sections
2243 <code class="directive"><IfModule></code>.</div>
2246 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2247 <div class="directive-section"><h2><a name="include" id="include">Directive</a> <a name="Include" id="Include">Include</a></h2>
2248 <table class="directive">
2249 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Inclut d'autres fichiers de configuration dans un des
2250 fichiers de configuration du serveur</td></tr>
2251 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Include <var>chemin-fichier</var>|<var>chemin-répertoire</var>|<var>wildcard</var></code></td></tr>
2252 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
2253 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
2254 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
2255 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Utilisation des caractères
2256 génériques dans la partie chemin depuis la version 2.3.6</td></tr>
2258 <p>Cette directive permet l'inclusion d'autres fichiers de
2259 configuration dans un des fichiers de configuration du serveur.</p>
2261 <p>On peut utiliser des caractères génériques de style Shell
2262 (<code>fnmatch()</code>) aussi bien dans la partie nom de fichier du
2263 chemin que dans la partie répertoires pour inclure plusieurs
2265 seule fois, selon leur ordre alphabétique. De plus, si la directive
2266 <code class="directive">Include</code> pointe vers un répertoire, Apache
2267 httpd inclura tous les fichiers de ce répertoire et de tous ces
2268 sous-répertoires. L'inclusion de répertoires entiers est cependant
2269 déconseillée, car il est fréquent d'oublier des fichiers
2270 temporaires dans un répertoire, ce qui causerait une erreur
2271 <code class="program"><a href="../programs/httpd.html">httpd</a></code> en cas d'inclusion. Pour inclure des
2272 fichiers qui correspondent à un certain modèle, comme *.conf par
2273 exemple, nous vous recommandons d'utiliser plutôt la syntaxe avec
2274 caractères génériques comme ci-dessous.</p>
2276 <p>La directive <code class="directive"><a href="#include">Include</a></code>
2277 <strong>échouera avec un code d'erreur</strong> si une expression
2278 contenant des caractères génériques ne correspond à aucun fichier.
2279 Pour ignorer les expressions contenant des caractères génériques ne
2280 correspondant à aucun fichier, utilisez la directive <code class="directive"><a href="#includeoptional">IncludeOptional</a></code>.</p>
2282 <p>Le chemin fichier spécifié peut être soit un chemin absolu, soit
2283 un chemin relatif au répertoire défini par la directive <code class="directive"><a href="#serverroot">ServerRoot</a></code>.</p>
2287 <pre class="prettyprint lang-config">Include /usr/local/apache2/conf/ssl.conf
2288 Include /usr/local/apache2/conf/vhosts/*.conf</pre>
2291 <p>ou encore, avec des chemins relatifs au répertoire défini par la
2292 directive <code class="directive"><a href="#serverroot">ServerRoot</a></code> :</p>
2294 <pre class="prettyprint lang-config">Include conf/ssl.conf
2295 Include conf/vhosts/*.conf</pre>
2298 <p>On peut aussi insérer des caractères génériques dans la partie
2299 répertoires du chemin. Dans l'exemple suivant, la directive
2300 échouera si aucun sous-répertoire de conf/vhosts ne contient au
2301 moins un fichier *.conf :</p>
2303 <pre class="prettyprint lang-config">Include conf/vhosts/*/*.conf</pre>
2306 <p>Par contre, dans l'exemple suivant, la directive sera simplement
2307 ignorée si aucun sous-répertoire de conf/vhosts ne contient au
2308 moins un fichier *.conf :</p>
2310 <pre class="prettyprint lang-config">IncludeOptional conf/vhosts/*/*.conf</pre>
2316 <li><code class="directive"><a href="#includeoptional">IncludeOptional</a></code></li>
2317 <li><code class="program"><a href="../programs/apachectl.html">apachectl</a></code></li>
2320 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2321 <div class="directive-section"><h2><a name="includeoptional" id="includeoptional">Directive</a> <a name="IncludeOptional" id="IncludeOptional">IncludeOptional</a></h2>
2322 <table class="directive">
2323 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Inclusion de fichiers dans le fichier de configuration</td></tr>
2324 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>IncludeOptional
2325 <var>chemin-fichier</var>|<var>chemin-répertoire</var>|<var>wildcard</var></code></td></tr>
2326 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
2327 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
2328 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
2329 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.3.6 du serveur HTTP
2332 <p>Cette directive permet d'inclure des fichiers dans les fichiers
2333 de configuration du serveur. Elle fonctionne de manière identique à
2334 la directive <code class="directive"><a href="#include">Include</a></code>, à
2335 l'exception du fait que si l'expression avec caractères génériques
2336 wilcard ne correspond à aucun fichier ou répertoire, elle sera
2337 ignorée silencieusement au lieu de causer une erreur.</p>
2342 <li><code class="directive"><a href="#include">Include</a></code></li>
2343 <li><code class="program"><a href="../programs/apachectl.html">apachectl</a></code></li>
2346 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2347 <div class="directive-section"><h2><a name="keepalive" id="keepalive">Directive</a> <a name="KeepAlive" id="KeepAlive">KeepAlive</a></h2>
2348 <table class="directive">
2349 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active les connexions HTTP persistantes</td></tr>
2350 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>KeepAlive On|Off</code></td></tr>
2351 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>KeepAlive On</code></td></tr>
2352 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
2353 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
2354 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
2356 <p>L'extension Keep-Alive de HTTP/1.0 et l'implémentation des
2357 connexions persistantes dans HTTP/1.1 ont rendu possibles des
2358 sessions HTTP de longue durée, ce qui permet de transmettre
2359 plusieurs requêtes via la même connexion TCP. Dans certains cas, le
2360 gain en rapidité pour des documents comportant de nombreuses images
2361 peut atteindre 50%. Pour activer les connexions persistantes,
2362 définissez <code>KeepAlive On</code>.</p>
2364 <p>Pour les clients HTTP/1.0, les connexions persistantes ne seront
2365 mises en oeuvre que si elles ont été spécialement demandées par un
2366 client. De plus, une connexion persistante avec un client HTTP/1.0
2367 ne peut être utilisée que si la taille du contenu est connue
2368 d'avance. Ceci implique que les contenus dynamiques comme les
2369 sorties CGI, les pages SSI, et les listings de répertoires générés
2370 par le serveur n'utiliseront en général pas les connexions
2371 persistantes avec les clients HTTP/1.0. Avec les clients HTTP/1.1,
2372 les connexions persistantes sont utilisées par défaut, sauf
2373 instructions contraires. Si le client le demande, le transfert par
2374 tronçons de taille fixe (chunked encoding) sera utilisé afin de
2375 transmettre un contenu de longueur inconnue via une connexion
2378 <p>Lorsqu'un client utilise une connexion persistante, elle comptera
2379 pour une seule requête pour la directive <code class="directive"><a href="../mod/mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></code>, quel
2380 que soit le nombre de requêtes transmises via cette connexion.</p>
2384 <li><code class="directive"><a href="#maxkeepaliverequests">MaxKeepAliveRequests</a></code></li>
2387 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2388 <div class="directive-section"><h2><a name="keepalivetimeout" id="keepalivetimeout">Directive</a> <a name="KeepAliveTimeout" id="KeepAliveTimeout">KeepAliveTimeout</a></h2>
2389 <table class="directive">
2390 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Durée pendant laquelle le serveur va attendre une requête
2391 avant de fermer une connexion persistante</td></tr>
2392 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>KeepAliveTimeout <var>nombre</var>[ms]</code></td></tr>
2393 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>KeepAliveTimeout 5</code></td></tr>
2394 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
2395 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
2396 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
2398 <p>Le nombre de secondes pendant lesquelles Apache httpd va attendre une
2399 requête avant de fermer la connexion. Le délai peut être défini en
2400 millisecondes en suffixant sa valeur par ms. La valeur du délai
2401 spécifiée par la directive <code class="directive"><a href="#timeout">Timeout</a></code> s'applique dès qu'une requête a
2404 <p>Donner une valeur trop élévée à
2405 <code class="directive">KeepAliveTimeout</code> peut induire des problèmes
2406 de performances sur les serveurs fortement chargés. Plus le délai
2407 est élévé, plus nombreux seront les processus serveur en attente de
2408 requêtes de la part de clients inactifs.</p>
2410 <p>Si la directive <code class="directive">KeepAliveTimeout</code>
2411 <strong>n'est pas</strong> définie pour un des serveurs virtuels
2412 à base de nom, c'est le serveur virtuel dont la paire adresse
2413 IP/port correspond le mieux qui sera utilisée.</p>
2416 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2417 <div class="directive-section"><h2><a name="limit" id="limit">Directive</a> <a name="Limit" id="Limit"><Limit></a></h2>
2418 <table class="directive">
2419 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limite les contrôles d'accès que la section contient à
2420 certaines méthodes HTTP</td></tr>
2421 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><Limit <var>méthode</var> [<var>méthode</var>] ... > ...
2422 </Limit></code></td></tr>
2423 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
2424 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig, Limit</td></tr>
2425 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
2426 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
2428 <p>Les contrôles d'accès s'appliquent normalement à
2429 <strong>toutes</strong> les méthodes d'accès, et c'est en général le
2430 comportement souhaité. <strong>Dans le cas général, les directives
2431 de contrôle d'accès n'ont pas à être placées dans une section
2432 <code class="directive"><Limit></code>.</strong></p>
2434 <p>La directive <code class="directive"><Limit></code> a pour
2435 but de limiter les effets des contrôles d'accès aux méthodes HTTP
2436 spécifiées. Pour toutes les autres méthodes, les restrictions
2437 d'accès contenues dans la section <code class="directive"><Limit></code> <strong>n'auront aucun
2438 effet</strong>. L'exemple suivant n'applique les contrôles d'accès
2439 qu'aux méthodes <code>POST</code>, <code>PUT</code>, et
2440 <code>DELETE</code>, en laissant les autres méthodes sans protection
2443 <pre class="prettyprint lang-config"><Limit POST PUT DELETE>
2445 </Limit></pre>
2448 <p>La liste des noms de méthodes peut contenir une ou plusieurs
2449 valeurs parmi les suivantes : <code>GET</code>, <code>POST</code>,
2450 <code>PUT</code>, <code>DELETE</code>, <code>CONNECT</code>,
2451 <code>OPTIONS</code>, <code>PATCH</code>, <code>PROPFIND</code>,
2452 <code>PROPPATCH</code>, <code>MKCOL</code>, <code>COPY</code>,
2453 <code>MOVE</code>, <code>LOCK</code>, et <code>UNLOCK</code>.
2454 <strong>Le nom de méthode est sensible à la casse.</strong> Si la
2455 valeur <code>GET</code> est présente, les requêtes <code>HEAD</code>
2456 seront aussi concernées. La méthode <code>TRACE</code> ne peut pas
2457 être limitée (voir la directive <code class="directive"><a href="#traceenable">TraceEnable</a></code>).</p>
2459 <div class="warning">Une section <code class="directive"><LimitExcept></code> doit toujours être préférée à
2460 une section <code class="directive"><Limit></code> pour la
2461 restriction d'accès, car une section <code class="directive"><a href="#limitexcept"><LimitExcept></a></code> fournit une protection contre
2462 les méthodes arbitraires.</div>
2464 <p>Les directives <code class="directive"><Limit></code> et
2465 <code class="directive"><a href="#limitexcept"><LimitExcept></a></code>
2466 peuvent être imbriquées. Dans ce cas, pour chaque niveau des
2467 directives <code class="directive"><Limit></code> ou <code class="directive"><a href="#limitexcept"><LimitExcept></a></code>, ces dernières
2468 doivent restreindre l'accès pour les méthodes auxquelles les
2469 contrôles d'accès s'appliquent.</p>
2471 <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
2472 <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> dont la
2473 condition est satisfaite autorise la requête, sans tenir compte de
2474 la présence d'autres directives <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code>.</div>
2476 <p>Par exemple, avec la configuration suivante, tous les
2477 utilisateurs seront autorisés à effectuer des requêtes
2478 <code>POST</code>, et la directive <code>Require group
2479 editors</code> sera ignorée dans tous les cas :</p>
2481 <pre class="prettyprint lang-config"><LimitExcept GET>
2483 </LimitExcept>
2485 Require group editors
2486 </Limit></pre>
2490 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2491 <div class="directive-section"><h2><a name="limitexcept" id="limitexcept">Directive</a> <a name="LimitExcept" id="LimitExcept"><LimitExcept></a></h2>
2492 <table class="directive">
2493 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Applique les contrôles d'accès à toutes les méthodes HTTP,
2494 sauf celles qui sont spécifiées</td></tr>
2495 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><LimitExcept <var>méthode</var> [<var>méthode</var>] ... > ...
2496 </LimitExcept></code></td></tr>
2497 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
2498 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig, Limit</td></tr>
2499 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
2500 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
2502 <p><code class="directive"><LimitExcept></code> et
2503 <code></LimitExcept></code> permettent de regrouper des
2504 directives de contrôle d'accès qui s'appliqueront à toutes les
2505 méthodes d'accès HTTP qui ne font <strong>pas</strong> partie de la
2506 liste des arguments ; en d'autres termes, elles ont un comportement
2507 opposé à celui de la section <code class="directive"><a href="#limit"><Limit></a></code>, et on peut les utiliser pour
2508 contrôler aussi bien les méthodes standards que les méthodes non
2509 standards ou non reconnues. Voir la documentation de la section
2510 <code class="directive"><a href="#limit"><Limit></a></code> pour plus
2513 <p>Par exemple :</p>
2515 <pre class="prettyprint lang-config"><LimitExcept POST GET>
2517 </LimitExcept></pre>
2522 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2523 <div class="directive-section"><h2><a name="limitinternalrecursion" id="limitinternalrecursion">Directive</a> <a name="LimitInternalRecursion" id="LimitInternalRecursion">LimitInternalRecursion</a></h2>
2524 <table class="directive">
2525 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine le nombre maximal de redirections internes et de
2526 sous-requêtes imbriquées</td></tr>
2527 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LimitInternalRecursion <var>nombre</var> [<var>nombre</var>]</code></td></tr>
2528 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LimitInternalRecursion 10</code></td></tr>
2529 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
2530 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
2531 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
2533 <p>Une redirection interne survient, par exemple, quand on utilise
2534 la directive <code class="directive"><a href="../mod/mod_actions.html#action">Action</a></code> qui
2535 redirige en interne la requête d'origine vers un script CGI. Une
2536 sous-requête est le mécanisme qu'utilise Apache httpd pour déterminer ce
2537 qui se passerait pour un URI s'il faisait l'objet d'une requête. Par
2538 exemple, <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> utilise les sous-requêtes pour
2539 rechercher les fichiers listés dans la directive <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code>.</p>
2541 <p>La directive <code class="directive">LimitInternalRecursion</code> permet
2542 d'éviter un crash du serveur dû à un bouclage infini de redirections
2543 internes ou de sous-requêtes. De tels bouclages sont dus en général
2544 à des erreurs de configuration.</p>
2546 <p>La directive accepte, comme arguments, deux limites qui sont
2547 évaluées à chaque requête. Le premier <var>nombre</var> est le
2548 nombre maximum de redirections internes qui peuvent se succéder. Le
2549 second <var>nombre</var> détermine la profondeur d'imbrication
2550 maximum des sous-requêtes. Si vous ne spécifiez qu'un seul
2551 <var>nombre</var>, il sera affecté aux deux limites.</p>
2553 <pre class="prettyprint lang-config">LimitInternalRecursion 5</pre>
2557 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2558 <div class="directive-section"><h2><a name="limitrequestbody" id="limitrequestbody">Directive</a> <a name="LimitRequestBody" id="LimitRequestBody">LimitRequestBody</a></h2>
2559 <table class="directive">
2560 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>limite la taille maximale du corps de la requête HTTP
2561 envoyée par le client</td></tr>
2562 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LimitRequestBody <var>octets</var></code></td></tr>
2563 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LimitRequestBody 0</code></td></tr>
2564 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
2565 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
2566 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
2567 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
2569 <p>Cette directive spécifie la taille maximale autorisée pour le
2570 corps d'une requête ; la valeur de l'argument <var>octets</var> va
2571 de 0 (pour une taille illimitée), à 2147483647 (2Go). Voir la note
2572 ci-dessous pour la limite d'applicabilité aux requêtes mandatées.</p>
2574 <p>La directive <code class="directive">LimitRequestBody</code> permet de
2575 définir une limite pour la taille maximale autorisée du corps d'une
2576 requête HTTP en tenant compte du contexte dans lequel la directive
2577 a été placée (c'est à dire au niveau du serveur, d'un répertoire,
2578 d'un fichier ou d'une localisation). Si la requête du client dépasse
2579 cette limite, le serveur répondra par un message d'erreur et ne
2580 traitera pas la requête. La taille du corps d'une requête normale va
2581 varier de manière importante en fonction de la nature de la
2582 ressource et des méthodes autorisées pour cette dernière. Les
2583 scripts CGI utilisent souvent le corps du message pour extraire les
2584 informations d'un formulaire. Les implémentations de la méthode
2585 <code>PUT</code> nécessitent une valeur au moins aussi élevée que la
2586 taille maximale des représentations que le serveur désire accepter
2587 pour cette ressource.</p>
2589 <p>L'administrateur du serveur peut utiliser cette directive pour
2590 contrôler plus efficacement les comportements anormaux des requêtes
2591 des clients, ce qui lui permettra de prévenir certaines formes
2592 d'attaques par déni de service.</p>
2594 <p>Si par exemple, vous autorisez le chargement de fichiers vers une
2595 localisation particulière, et souhaitez limiter la taille des
2596 fichiers chargés à 100Ko, vous pouvez utiliser la directive suivante
2599 <pre class="prettyprint lang-config">LimitRequestBody 102400</pre>
2602 <div class="note"><p>Pour une description détaillée de la manière dont cette
2603 directive est interprétée par les requêtes mandatées, voir la
2604 documentation du module <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>.</p>
2609 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2610 <div class="directive-section"><h2><a name="limitrequestfields" id="limitrequestfields">Directive</a> <a name="LimitRequestFields" id="LimitRequestFields">LimitRequestFields</a></h2>
2611 <table class="directive">
2612 <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
2613 requête HTTP</td></tr>
2614 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LimitRequestFields <var>nombre</var></code></td></tr>
2615 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LimitRequestFields 100</code></td></tr>
2616 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
2617 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
2618 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
2620 <p><var>nombre</var> est un entier de 0 (nombre de champs illimité)
2621 à 32767. La valeur par défaut est définie à la compilation par la
2622 constante <code>DEFAULT_LIMIT_REQUEST_FIELDS</code> (100 selon la
2625 <p>La directive <code class="directive">LimitRequestFields</code> permet à
2626 l'administrateur du serveur de modifier le nombre maximum de champs
2627 d'en-tête autorisés dans une requête HTTP. Pour un serveur, cette
2628 valeur doit être supérieure au nombre de champs qu'une requête
2629 client normale peut contenir. Le nombre de champs d'en-tête d'une
2630 requête qu'un client utilise dépasse rarement 20, mais ce nombre
2631 peut varier selon les implémentations des clients, et souvent en
2632 fonction des extensions que les utilisateurs configurent dans leurs
2633 navigateurs pour supporter la négociation de contenu détaillée. Les
2634 extensions HTTP optionnelles utilisent souvent les
2635 champs d'en-tête des requêtes.</p>
2637 <p>L'administrateur du serveur peut utiliser cette directive pour
2638 contrôler plus efficacement les comportements anormaux des requêtes
2639 des clients, ce qui lui permettra de prévenir certaines formes
2640 d'attaques par déni de service. La valeur spécifiée doit être
2641 augmentée si les clients standards reçoivent une erreur du serveur
2642 indiquant que la requête comportait un nombre d'en-têtes trop
2645 <p>Par exemple :</p>
2647 <pre class="prettyprint lang-config">LimitRequestFields 50</pre>
2650 <div class="warning"><h3>Avertissement</h3>
2651 <p>Dans le cas des serveurs virtuels à base de noms, la valeur de
2652 cette directive est extraite du serveur virtuel par défaut (le
2653 premier de la liste) pour la paire adresse IP/port.</p>
2658 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2659 <div class="directive-section"><h2><a name="limitrequestfieldsize" id="limitrequestfieldsize">Directive</a> <a name="LimitRequestFieldSize" id="LimitRequestFieldSize">LimitRequestFieldSize</a></h2>
2660 <table class="directive">
2661 <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
2662 requête HTTP</td></tr>
2663 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LimitRequestFieldSize <var>octets</var></code></td></tr>
2664 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LimitRequestFieldSize 8190</code></td></tr>
2665 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
2666 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
2667 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
2669 <p>Cette directive permet de définir le nombre maximum
2670 d'<var>octets</var> autorisés dans un en-tête de requête HTTP.</p>
2672 <p>La directive <code class="directive">LimitRequestFieldSize</code> permet
2673 à l'administrateur du serveur de définir la taille
2674 maximale autorisée d'un en-tête de requête HTTP. Pour un serveur,
2675 cette valeur doit être suffisamment grande pour contenir tout
2676 en-tête d'une requête client normale. La taille d'un champ d'en-tête
2677 de requête normal va varier selon les implémentations des clients,
2678 et en fonction des extensions que les utilisateurs
2679 configurent dans leurs navigateurs pour supporter la négociation de
2680 contenu détaillée. Les en-têtes d'authentification SPNEGO peuvent
2681 atteindre une taille de 12392 octets.</p>
2683 <p>>L'administrateur du serveur peut utiliser cette directive pour
2684 contrôler plus efficacement les comportements anormaux des requêtes
2685 des clients, ce qui lui permettra de prévenir certaines formes
2686 d'attaques par déni de service.</p>
2688 <p>Par exemple ::</p>
2690 <pre class="prettyprint lang-config">LimitRequestFieldSize 4094</pre>
2693 <div class="note">Dans des conditions normales, la valeur par défaut de cette
2694 directive ne doit pas être modifiée.</div>
2696 <div class="warning"><h3>Avertissement</h3>
2697 <p>Dans le cas des serveurs virtuels à base de noms, la valeur de
2698 cette directive est extraite du serveur virtuel par défaut (le
2699 premier de la liste) pour lequel la paire adresse IP/port
2700 correspond le mieux.</p>
2704 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2705 <div class="directive-section"><h2><a name="limitrequestline" id="limitrequestline">Directive</a> <a name="LimitRequestLine" id="LimitRequestLine">LimitRequestLine</a></h2>
2706 <table class="directive">
2707 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la taille maximale d'une ligne de requête
2709 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LimitRequestLine <var>octets</var></code></td></tr>
2710 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LimitRequestLine 8190</code></td></tr>
2711 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
2712 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
2713 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
2715 <p>Cette directive permet de définir la taille maximale autorisée
2716 pour une ligne de requête HTTP en <var>octets</var>.</p>
2718 <p>La directive <code class="directive">LimitRequestLine</code> permet à
2719 l'administrateur du serveur de définir la taille
2720 maximale autorisée d'une ligne de requête HTTP client. Comme une
2721 requête comporte une méthode HTTP, un URI, et une version de
2722 protocole, la directive <code class="directive">LimitRequestLine</code>
2723 impose une restriction sur la longueur maximale autorisée pour un
2724 URI dans une requête au niveau du serveur. Pour un serveur, cette
2725 valeur doit être suffisamment grande pour référencer les noms de
2726 toutes ses ressources, y compris toutes informations pouvant être
2727 ajoutées dans la partie requête d'une méthode <code>GET</code>.</p>
2729 <p>L'administrateur du serveur peut utiliser cette directive pour
2730 contrôler plus efficacement les comportements anormaux des requêtes
2731 des clients, ce qui lui permettra de prévenir certaines formes
2732 d'attaques par déni de service.</p>
2734 <p>Par exemple :</p>
2736 <pre class="prettyprint lang-config">LimitRequestLine 4094</pre>
2739 <div class="note">Dans des conditions normales, cette directive doit conserver
2740 sa valeur par défaut.</div>
2742 <div class="warning"><h3>Avertissement</h3>
2743 <p>Dans le cas des serveurs virtuels à base de noms, la valeur de
2744 cette directive est extraite du serveur virtuel par défaut (le
2745 premier de la liste) pour lequel la paire adresse IP/port
2746 correspond le mieux.</p>
2751 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2752 <div class="directive-section"><h2><a name="limitxmlrequestbody" id="limitxmlrequestbody">Directive</a> <a name="LimitXMLRequestBody" id="LimitXMLRequestBody">LimitXMLRequestBody</a></h2>
2753 <table class="directive">
2754 <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
2756 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LimitXMLRequestBody <var>octets</var></code></td></tr>
2757 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LimitXMLRequestBody 1000000</code></td></tr>
2758 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
2759 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
2760 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
2761 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
2763 <p>Taille maximale (en octets) du corps d'une requête au format XML.
2764 Une valeur de <code>0</code> signifie qu'aucune limite n'est
2769 <pre class="prettyprint lang-config">LimitXMLRequestBody 0</pre>
2774 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2775 <div class="directive-section"><h2><a name="location" id="location">Directive</a> <a name="Location" id="Location"><Location></a></h2>
2776 <table class="directive">
2777 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>N'applique les directives contenues qu'aux URLs
2778 spécifiées</td></tr>
2779 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><Location
2780 <var>chemin URL</var>|<var>URL</var>> ... </Location></code></td></tr>
2781 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
2782 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
2783 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
2785 <p>La directive <code class="directive"><Location></code>
2786 limite la portée des directives contenues aux URLs définies par
2787 l'argument URL. Elle est similaire à la directive <code class="directive"><a href="#directory"><Directory></a></code>, et marque le
2788 début d'une section qui se termine par une directive
2789 <code></Location></code>. Les sections <code class="directive"><Location></code> sont traitées selon l'ordre dans
2790 lequel elles apparaissent dans le fichier de configuration, mais
2791 après les sections <code class="directive"><a href="#directory"><Directory></a></code> et la lecture des
2792 fichiers <code>.htaccess</code>, et après les sections <code class="directive"><a href="#files"><Files></a></code>.</p>
2794 <p>Les sections <code class="directive"><Location></code>
2795 agissent complètement en dehors du système de fichiers. Ceci a de
2796 nombreuses conséquences. Parmi les plus importantes, on ne doit pas
2797 utiliser les sections <code class="directive"><Location></code>
2798 pour contrôler l'accès aux répertoires du système de fichiers. Comme
2799 plusieurs URLs peuvent correspondre au même répertoire du système de
2800 fichiers, un tel contrôle d'accès pourrait être contourné.</p>
2802 <p>Les directives que contient cette section seront appliquées aux
2803 requêtes si la partie chemin de l'URL satisfait à l'un au moins de
2807 <li>Le chemin spécifié correspond exactement à la partie chemin de
2810 <li>Le chemin spécifié, qui se termine par un slash, est un
2811 préfixe de la partie chemin de l'URL (traité comme une racine du
2814 <li>Le chemin spécifié, si on lui ajoute un slash de fin, est un
2815 préfixe de la partie chemin de l'URL (aussi traité comme une racine du
2820 Dans l'exemple ci-dessous, où aucun slash de fin n'est utilisé, les
2821 directives contenues dans la section s'appliqueront à /private1,
2822 /private1/ et /private1/file.txt, mais pas à /private1other.
2824 <pre class="prettyprint lang-config"><Location /private1>
2826 </Location></pre>
2829 De même, dans l'exemple ci-dessous, où l'on utilise un slash de fin, les
2830 directives contenues dans la section s'appliqueront à /private2/ et
2831 à /private2/file.txt, mais pas à /private2other.
2833 <pre class="prettyprint lang-config"><Location /private2<em>/</em>>
2835 </Location></pre>
2838 <div class="note"><h3>Quand utiliser la section <code class="directive"><Location></code></h3>
2840 <p>Vous pouvez utiliser une section <code class="directive"><Location></code> pour appliquer des directives à
2841 des contenus situés en dehors du système de fichiers. Pour les
2842 contenus situés à l'intérieur du système de fichiers, utilisez
2843 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
2844 /></code> constitue une exception et permet d'appliquer aisément
2845 une configuration à l'ensemble du serveur.</p>
2848 <p>Pour toutes les requêtes originales (non mandatées), l'argument
2849 URL est un chemin d'URL de la forme
2850 <code>/chemin/</code>. <em>Aucun protocole, nom d'hôte, port, ou chaîne
2851 de requête ne doivent apparaître.</em> Pour les requêtes mandatées, l'URL
2852 spécifiée doit être de la forme
2853 <code>protocole://nom_serveur/chemin</code>, et vous devez inclure
2856 <p>L'URL peut contenir des caractères génériques. Dans une chaîne
2857 avec caractères génériques, <code>?</code> correspond à un caractère
2858 quelconque, et <code>*</code> à toute chaîne de caractères. Les
2859 caractères génériques ne peuvent pas remplacer un / dans le chemin
2862 <p>On peut aussi utiliser les <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">Expressions
2863 rationnelles</a>, moyennant l'addition d'un caractère
2864 <code>~</code>. Par exemple :</p>
2866 <pre class="prettyprint lang-config"><Location ~ "/(extra|special)/data">
2868 </Location></pre>
2871 <p>concernerait les URLs contenant les sous-chaîne
2872 <code>/extra/data</code> ou <code>/special/data</code>. La directive
2873 <code class="directive"><a href="#locationmatch"><LocationMatch></a></code>
2874 présente un comportement identique à la version avec expressions
2875 rationnelles de la directive <code class="directive"><Location></code>, et son utilisation est
2876 préférable à l'utilisation de cette dernière pour la simple raison
2877 qu'il est difficile de distinguer <code>~</code> de <code>-</code>
2878 dans la plupart des fontes.</p>
2880 <p>La directive <code class="directive"><Location></code>
2881 s'utilise principalement avec la directive <code class="directive"><a href="#sethandler">SetHandler</a></code>. Par exemple, pour activer les
2882 requêtes d'état, mais ne les autoriser que depuis des navigateurs
2883 appartenant au domaine <code>example.com</code>, vous pouvez
2886 <pre class="prettyprint lang-config"><Location /status>
2887 SetHandler server-status
2888 Require host example.com
2889 </Location></pre>
2892 <div class="note"><h3>Note à propos du slash (/)</h3>
2893 <p>La signification du caractère slash dépend de l'endroit où il
2894 se trouve dans l'URL. Les utilisateurs peuvent être habitués à
2895 son comportement dans le système de fichiers où plusieurs slashes
2896 successifs sont souvent réduits à un slash unique (en d'autres
2897 termes, <code>/home///foo</code> est identique à
2898 <code>/home/foo</code>). Dans l'espace de nommage des URLs, ce
2899 n'est cependant pas toujours le cas. Pour la directive <code class="directive"><a href="#locationmatch"><LocationMatch></a></code> et la
2900 version avec expressions rationnelles de la directive <code class="directive"><Location></code>, vous devez spécifier
2901 explicitement les slashes multiples si telle est votre
2904 <p>Par exemple, <code><LocationMatch ^/abc></code> va
2905 correspondre à l'URL <code>/abc</code> mais pas à l'URL <code>
2906 //abc</code>. La directive <code class="directive"><Location></code> sans expression rationnelle se comporte de
2907 la même manière lorsqu'elle est utilisée pour des requêtes
2908 mandatées. Par contre, lorsque la directive <code class="directive"><Location></code> sans expression rationnelle
2909 est utilisée pour des requêtes non mandatées, elle fera
2910 correspondre implicitement les slashes multiples à des slashes
2911 uniques. Par exemple, si vous spécifiez <code><Location
2912 /abc/def></code>, une requête de la forme
2913 <code>/abc//def</code> correspondra.</p>
2918 <li><a href="../sections.html">Comment fonctionnent les sections
2919 <Directory>, <Location> et <Files></a> pour une
2920 explication de la manière dont ces différentes sections se combinent
2921 entre elles à la réception d'une requête.</li>
2924 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2925 <div class="directive-section"><h2><a name="locationmatch" id="locationmatch">Directive</a> <a name="LocationMatch" id="LocationMatch"><LocationMatch></a></h2>
2926 <table class="directive">
2927 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>N'applique les directives contenues qu'aux URLs
2928 correspondant à une expression rationnelle</td></tr>
2929 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><LocationMatch
2930 <var>regex</var>> ... </LocationMatch></code></td></tr>
2931 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
2932 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
2933 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
2935 <p>La directive <code class="directive"><LocationMatch></code>
2936 limite la portée des directives contenues à l'URL spécifiée, de
2937 manière identique à la directive <code class="directive"><a href="#location"><Location></a></code>. Mais son argument permettant de
2938 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
2939 chaîne de caractères. Par exemple :</p>
2941 <pre class="prettyprint lang-config"><LocationMatch "/(extra|special)/data">
2943 </LocationMatch></pre>
2946 <p>correspondrait à toute URL contenant les sous-chaînes
2947 <code>/extra/data</code> ou <code>/special/data</code>.</p>
2949 <p>A partir de la version 2.4.8, les groupes nommés et les
2950 références arrières sont extraits et enregistrés dans
2951 l'environnement avec leur nom en majuscules et préfixé
2952 par "MATCH_". Ceci permet
2953 de référencer des URLs dans des <a href="../expr.html">expressions</a>
2954 ou au sein de modules comme <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>. Pour
2955 éviter toute confusion, les références arrières numérotées (non
2956 nommées) sont ignorées. Vous devez utiliser à la place des groupes
2959 <pre class="prettyprint lang-config"><LocationMatch ^/combined/(?<sitename>[^/]+)>
2960 require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
2961 </LocationMatch></pre>
2966 <li><a href="../sections.html">Comment fonctionnent les sections
2967 <Directory>, <Location> et <Files></a> pour une
2968 explication de la manière dont ces différentes sections se combinent
2969 entre elles à la réception d'une requête.</li>
2972 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2973 <div class="directive-section"><h2><a name="loglevel" id="loglevel">Directive</a> <a name="LogLevel" id="LogLevel">LogLevel</a></h2>
2974 <table class="directive">
2975 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contrôle la verbosité du journal des erreurs</td></tr>
2976 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LogLevel [<var>module</var>:]<var>niveau</var>
2977 [<var>module</var>:<var>niveau</var>] ...
2979 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LogLevel warn</code></td></tr>
2980 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
2981 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
2982 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
2983 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>La configuration du niveau de journalisation par module
2984 et par répertoire est disponible depuis la version 2.3.6 du serveur HTTP
2987 <p>La directive <code class="directive">LogLevel</code> permet d'ajuster la
2988 verbosité des messages enregistrés dans les journaux d'erreur (voir
2989 la directive <code class="directive"><a href="#errorlog">ErrorLog</a></code>
2990 directive). Les <var>niveau</var>x disponibles sont présentés
2991 ci-après, par ordre de criticité décroissante :</p>
2993 <table class="bordered">
2996 <th><strong>Niveau</strong> </th>
2998 <th><strong>Description</strong> </th>
3000 <th><strong>Exemple</strong> </th>
3004 <td><code>emerg</code> </td>
3006 <td>Urgences - le système est inutilisable.</td>
3008 <td>"Child cannot open lock file. Exiting"</td>
3012 <td><code>alert</code> </td>
3014 <td>Des mesures doivent être prises immédiatement.</td>
3016 <td>"getpwuid: couldn't determine user name from uid"</td>
3020 <td><code>crit</code> </td>
3022 <td>Conditions critiques.</td>
3024 <td>"socket: Failed to get a socket, exiting child"</td>
3028 <td><code>error</code> </td>
3032 <td>"Premature end of script headers"</td>
3036 <td><code>warn</code> </td>
3038 <td>Avertissements.</td>
3040 <td>"child process 1234 did not exit, sending another
3045 <td><code>notice</code> </td>
3047 <td>Evènement important mais normal.</td>
3049 <td>"httpd: caught SIGBUS, attempting to dump core in
3054 <td><code>info</code> </td>
3056 <td>Informations.</td>
3058 <td>"Server seems busy, (you may need to increase
3059 StartServers, or Min/MaxSpareServers)..."</td>
3063 <td><code>debug</code> </td>
3065 <td>Messages de débogage.</td>
3067 <td>"Opening config file ..."</td>
3070 <td><code>trace1</code> </td>
3072 <td>Messages de traces</td>
3074 <td>"proxy: FTP: control connection complete"</td>
3077 <td><code>trace2</code> </td>
3079 <td>Messages de traces</td>
3081 <td>"proxy: CONNECT: sending the CONNECT request to the remote proxy"</td>
3084 <td><code>trace3</code> </td>
3086 <td>Messages de traces</td>
3088 <td>"openssl: Handshake: start"</td>
3091 <td><code>trace4</code> </td>
3093 <td>Messages de traces</td>
3095 <td>"read from buffered SSL brigade, mode 0, 17 bytes"</td>
3098 <td><code>trace5</code> </td>
3100 <td>Messages de traces</td>
3102 <td>"map lookup FAILED: map=rewritemap key=keyname"</td>
3105 <td><code>trace6</code> </td>
3107 <td>Messages de traces</td>
3109 <td>"cache lookup FAILED, forcing new map lookup"</td>
3112 <td><code>trace7</code> </td>
3114 <td>Messages de traces, enregistrement d'une grande quantité de
3117 <td>"| 0000: 02 23 44 30 13 40 ac 34 df 3d bf 9a 19 49 39 15 |"</td>
3120 <td><code>trace8</code> </td>
3122 <td>Messages de traces, enregistrement d'une grande quantité de
3125 <td>"| 0000: 02 23 44 30 13 40 ac 34 df 3d bf 9a 19 49 39 15 |"</td>
3129 <p>Lorsqu'un niveau particulier est spécifié, les messages de tous
3130 les autres niveaux de criticité supérieure seront aussi enregistrés.
3131 <em>Par exemple</em>, si <code>LogLevel info</code> est spécifié,
3132 les messages de niveaux <code>notice</code> et <code>warn</code>
3133 seront aussi émis.</p>
3135 <p>Il est recommandé d'utiliser un niveau <code>crit</code> ou
3138 <p>Par exemple :</p>
3140 <pre class="prettyprint lang-config">LogLevel notice</pre>
3143 <div class="note"><h3>Note</h3>
3144 <p>Si la journalisation s'effectue directement dans un fichier,
3145 les messages de niveau <code>notice</code> ne peuvent pas être
3146 supprimés et sont donc toujours journalisés. Cependant, ceci ne
3147 s'applique pas lorsque la journalisation s'effectue vers
3148 <code>syslog</code>.</p>
3151 <p>Spécifier un niveau sans nom de module va attribuer ce niveau à
3152 tous les modules. Spécifier un niveau avec nom de module va
3153 attribuer ce niveau à ce module seulement. Il est possible de
3154 spécifier un module par le nom de son fichier source ou par son
3155 identificateur, avec ou sans le suffixe <code>_module</code>. Les
3156 trois spécifications suivantes sont donc équivalentes :</p>
3158 <pre class="prettyprint lang-config">LogLevel info ssl:warn
3159 LogLevel info mod_ssl.c:warn
3160 LogLevel info ssl_module:warn</pre>
3163 <p>Il est aussi possible d'attribuer un niveau de journalisation par
3166 <pre class="prettyprint lang-config">LogLevel info
3167 <Directory "/usr/local/apache/htdocs/app">
3169 </Directory></pre>
3173 La configuration du niveau de journalisation par répertoire
3174 n'affecte que les messages journalisés après l'interprétation de
3175 la requête et qui sont associés à cette dernière. Les messages
3176 de journalisation associés au serveur ou à la connexion ne sont
3177 pas affectés. Il est cependant possible d'agir sur ces
3178 derniers à l'aide de la directive <code class="directive"><a href="#logleveloverride">LogLevelOverride</a></code>.
3183 <li><code class="directive"><a href="#errorlog">ErrorLog</a></code></li>
3184 <li><code class="directive"><a href="#errorlogformat">ErrorLogFormat</a></code></li>
3185 <li><code class="directive"><a href="#logleveloverride">LogLevelOverride</a></code></li>
3186 <li><a href="../logs.html">Journaux du serveur HTTP Apache</a></li>
3189 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
3190 <div class="directive-section"><h2><a name="logleveloverride" id="logleveloverride">Directive</a> <a name="LogLevelOverride" id="LogLevelOverride">LogLevelOverride</a></h2>
3191 <table class="directive">
3192 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Surcharge la verbosité du journal des erreurs pour certains
3194 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LogLevel <var>ipaddress</var>[/<var>prefixlen</var>]
3195 [<var>module</var>:]<var>level</var> [<var>module</var>:<var>level</var>] ...
3197 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>non définie</code></td></tr>
3198 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
3199 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
3200 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
3201 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5.0 du serveur HTTP
3204 <p>La directive <code class="directive">LogLevelOverride</code> permet
3205 d'affiner la définition de la directive <code class="directive"><a href="#loglevel">LogLevel</a></code> pour les requêtes en provenance
3206 de certaines adresses IP. Il est ainsi possible d'activer une
3207 journalisation détaillée seulement pour certains clients à des fins
3208 de test. Les adresses IP sont vérifiées à un stade très précoce du
3209 processus de connexion. Ainsi, la directive
3210 <code class="directive">LogLevelOverride</code> permet de modifier le niveau
3211 de journalisation pour des processus comme la négociation SSL qui
3212 intervient avant l'évaluation d'une éventuelle directive <code class="directive"><a href="#loglevel">LogLevel</a></code> au sein d'un conteneur <code class="directive"><a href="#if"><If></a></code>.</p>
3214 <p>La directive <code class="directive">LogLevelOverride</code> accepte soit
3215 une adresse IP simple, soit une spécification de sous-réseau CIDR de
3216 la forme adresse-IP/masque. Pour la syntaxe de la spécification du
3217 niveau de journalisation, voir la directive <code class="directive"><a href="#loglevel">LogLevel</a></code> directive.</p>
3219 <p>Pour les requêtes concernées par une directive
3220 <code class="directive">LogLevelOverride</code>, les spécifications de
3221 niveau répertoire de la directive <code class="directive"><a href="#loglevel">LogLevel</a></code> sont ignorées.</p>
3225 <pre class="prettyprint lang-config"> LogLevelOverride 192.0.2.0/24 ssl:trace6
3226 LogLevelOverride 192.0.2.7 ssl:trace8</pre>
3230 La directive <code class="directive"><a href="#logleveloverride">LogLevelOverride</a></code> n'affecte que les
3231 messages associés à la requête ou à la connexion. Les messages
3232 associés au serveur ne sont pas affectés.
3238 <li><code class="directive"><a href="#loglevel">LogLevel</a></code></li>
3241 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
3242 <div class="directive-section"><h2><a name="maxkeepaliverequests" id="maxkeepaliverequests">Directive</a> <a name="MaxKeepAliveRequests" id="MaxKeepAliveRequests">MaxKeepAliveRequests</a></h2>
3243 <table class="directive">
3244 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre de requêtes permises pour une connexion
3245 persistante</td></tr>
3246 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MaxKeepAliveRequests <var>nombre</var></code></td></tr>
3247 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MaxKeepAliveRequests 100</code></td></tr>
3248 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
3249 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
3250 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
3252 <p>La directive <code class="directive">MaxKeepAliveRequests</code> permet
3253 de limiter le nombre de requêtes autorisées par connexion lorsque
3254 <code class="directive"><a href="#keepalive">KeepAlive</a></code> est à "on". Si sa
3255 valeur est <code>0</code>, le nombre de requêtes autorisées est
3256 illimité. Il est recommandé de définir une valeur assez haute pour
3257 des performances du serveur maximales.</p>
3259 <p>Par exemple :</p>
3261 <pre class="prettyprint lang-config">MaxKeepAliveRequests 500</pre>
3265 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
3266 <div class="directive-section"><h2><a name="maxrangeoverlaps" id="maxrangeoverlaps">Directive</a> <a name="MaxRangeOverlaps" id="MaxRangeOverlaps">MaxRangeOverlaps</a></h2>
3267 <table class="directive">
3268 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre de chevauchements de segments de données autorisé
3269 (par exemple <code>100-200,150-300</code>) avant le renvoi de la
3270 ressource complète</td></tr>
3271 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MaxRangeOverlaps default | unlimited | none | <var>nombre de
3272 chevauchements</var></code></td></tr>
3273 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MaxRangeOverlaps 20</code></td></tr>
3274 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
3275 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
3276 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
3277 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.15 du serveur HTTP
3280 <p>La directive <code class="directive">MaxRangeOverlaps</code> permet
3281 de limiter le nombre de chevauchements de segments de données HTTP
3282 autorisé par le serveur. Si le nombre de
3283 chevauchements de segments demandé est supérieur au nombre maximal
3284 autorisé, la ressource sera renvoyée dans son intégralité.</p>
3287 <dt><strong>default</strong></dt>
3288 <dd>Limite le nombre de chevauchements de segments à la valeur
3289 par défaut 20 définie à la compilation.</dd>
3291 <dt><strong>none</strong></dt>
3292 <dd>Aucun chevauchement de segment n'est autorisé.</dd>
3294 <dt><strong>unlimited</strong></dt>
3295 <dd>Le nombre de chevauchements de segments est illimité.</dd>
3297 <dt><var>number-of-ranges</var></dt>
3298 <dd>Un nombre positif représente le nombre maximal de
3299 chevauchements de segments autorisé par le serveur.</dd>
3303 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
3304 <div class="directive-section"><h2><a name="maxrangereversals" id="maxrangereversals">Directive</a> <a name="MaxRangeReversals" id="MaxRangeReversals">MaxRangeReversals</a></h2>
3305 <table class="directive">
3306 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre d'inversions d'ordre autorisé dans la spécification des
3307 segments de données (par exemple <code>100-200,50-70</code>) avant le renvoi de la
3308 ressource complète</td></tr>
3309 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MaxRangeReversals default | unlimited | none | <var>nombre
3310 d'inversions</var></code></td></tr>
3311 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MaxRangeReversals 20</code></td></tr>
3312 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
3313 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
3314 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
3315 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.15 du serveur HTTP
3318 <p>La directive <code class="directive">MaxRangeReversals</code> permet
3319 de limiter le nombre d'inversions d'ordre dans la spécification
3320 des segments de données HTTP
3321 autorisé par le serveur. Si le nombre
3322 d'inversions demandé est supérieur au nombre maximal
3323 autorisé, la ressource sera renvoyée dans son intégralité.</p>
3326 <dt><strong>default</strong></dt>
3327 <dd>Limite le nombre d'inversions à la valeur
3328 par défaut 20 définie à la compilation.</dd>
3330 <dt><strong>none</strong></dt>
3331 <dd>Aucune inversion n'est autorisée.</dd>
3333 <dt><strong>unlimited</strong></dt>
3334 <dd>Le nombre d'inversions est illimité.</dd>
3336 <dt><var>number-of-ranges</var></dt>
3337 <dd>Un nombre positif représente le nombre maximal
3338 d'inversions autorisé par le serveur.</dd>
3342 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
3343 <div class="directive-section"><h2><a name="maxranges" id="maxranges">Directive</a> <a name="MaxRanges" id="MaxRanges">MaxRanges</a></h2>
3344 <table class="directive">
3345 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre de segments de données autorisé avant le renvoi de
3346 l'intégralité de la ressource</td></tr>
3347 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MaxRanges default | unlimited | none | <var>nombre de segments</var></code></td></tr>
3348 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MaxRanges 200</code></td></tr>
3349 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
3350 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
3351 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
3352 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.15 du serveur HTTP
3355 <p>La directive <code class="directive">MaxRanges</code> permet de limiter
3356 le nombre de segments de données que le serveur va renvoyer au
3357 client. Si un nombre de segments plus important est demandé, la
3358 ressource sera renvoyée dans son intégralité.</p>
3361 <dt><strong>default</strong></dt>
3362 <dd>Limite le nombre de segments de données à 200 (valeur par
3363 défaut définie à la compilation).</dd>
3365 <dt><strong>none</strong></dt>
3366 <dd>Les en-têtes Range sont ignorés.</dd>
3368 <dt><strong>unlimited</strong></dt>
3369 <dd>Le nombre de segments de données est illimité.</dd>
3371 <dt><var>nombre de segments</var></dt>
3372 <dd>Un nombre positif représentera la nombre de segments de
3373 données maximal que le serveur renverra au client.</dd>
3377 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
3378 <div class="directive-section"><h2><a name="mergetrailers" id="mergetrailers">Directive</a> <a name="MergeTrailers" id="MergeTrailers">MergeTrailers</a></h2>
3379 <table class="directive">
3380 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si les données supplémentaires (trailers) sont
3381 fusionnées avec les en-têtes</td></tr>
3382 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MergeTrailers [on|off]</code></td></tr>
3383 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MergeTrailers off</code></td></tr>
3384 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
3385 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
3386 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
3387 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.10 du serveur HTTP
3390 <p>Cette directive permet de contrôler la fusion des données HTTP
3391 supplémentaires (trailers) avec la représentation interne des
3392 en-têtes. Cette fusion intervient lorsque le corps de la requête a
3393 été entièrement reçu, bien longtemps après que la majeure partie du
3394 traitement des en-têtes ait une chance de pouvoir examiner ou
3395 modifier les en-têtes de la requête.</p>
3396 <p>Cette option a été introduite dans un souci de compatibilité avec
3397 les versions antérieures à 2.4.10, où les données supplémentaires
3398 étaient systématiquement fusionnées avec les en-têtes de la requête.</p>
3401 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
3402 <div class="directive-section"><h2><a name="mutex" id="mutex">Directive</a> <a name="Mutex" id="Mutex">Mutex</a></h2>
3403 <table class="directive">
3404 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit les mécanismes de mutex et le repertoire du fichier
3405 verrou pour tous les mutex ou seulement les mutex spécifiés</td></tr>
3406 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Mutex <var>mécanisme</var> [default|<var>nom-mutex</var>] ... [OmitPID]</code></td></tr>
3407 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Mutex default</code></td></tr>
3408 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
3409 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
3410 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
3411 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.4 du serveur HTTP Apache</td></tr>
3413 <p>La directive <code class="directive">Mutex</code> permet de définir le
3414 mécanisme de mutex, et éventuellement le répertoire du fichier
3415 verrou que les modules et httpd utilisent pour sérialiser l'accès aux
3416 ressources. Spécifiez <code>default</code> comme premier argument
3417 pour modifier la configuration de tous les mutex ; spécifiez un nom
3418 de mutex (voir la table ci-dessous) comme premier argument pour
3419 ne modifier que la configuration de ce mutex.</p>
3421 <p>La directive <code class="directive">Mutex</code> est typiquement
3422 utilisée dans les situations exceptionnelles suivantes :</p>
3425 <li>choix d'un autre mécanisme de mutex lorsque le mécanisme par
3426 défaut sélectionné par <a class="glossarylink" href="../glossary.html#apr" title="voir glossaire">APR</a> présente un
3427 problème de fonctionnement ou de performances.</li>
3429 <li>choix d'un autre répertoire utilisé par les mutex à base de
3430 fichier lorsque le répertoire par défaut ne supporte pas le
3434 <div class="note"><h3>Modules supportés</h3>
3435 <p>Cette directive ne configure que les mutex qui ont été
3436 enregistrés avec le serveur de base via l'API
3437 <code>ap_mutex_register()</code>. Tous les modules fournis avec
3438 httpd supportent la directive <code class="directive">Mutex</code>, mais il
3439 n'en sera pas forcément de même pour les modules tiers.
3440 Reportez-vous à la documentation du module tiers considéré afin de
3441 déterminer le(s) nom(s) de mutex qui pourront être définis si la
3442 directive est supportée.</p>
3447 <p>Les <em>mécanismes</em> de mutex disponibles sont les suivants :</p>
3449 <li><code>default | yes</code>
3450 <p>C'est l'implémentation du verrouillage par défaut, telle
3451 qu'elle est définie par <a class="glossarylink" href="../glossary.html#apr" title="voir glossaire">APR</a>. On peut
3452 afficher l'implémentation du verrouillage par défaut via la
3453 commande <code class="program"><a href="../programs/httpd.html">httpd</a></code> avec l'option <code>-V</code>.</p></li>
3455 <li><code>none | no</code>
3456 <p>Le mutex est désactivé, et cette valeur n'est permise pour un
3457 mutex que si le module indique qu'il s'agit d'un choix valide.
3458 Consultez la documentation du module pour plus d'informations.</p></li>
3460 <li><code>posixsem</code>
3461 <p>Une variante de mutex basée sur un sémaphore Posix.</p>
3463 <div class="warning"><h3>Avertissement</h3>
3464 <p>La propriété du sémaphore n'est pas restituée si un thread du
3465 processus gérant le mutex provoque une erreur de segmentation,
3466 ce qui provoquera un blocage du serveur web.</p>
3470 <li><code>sysvsem</code>
3471 <p>Une variante de mutex basée sur un sémaphore IPC SystemV.</p>
3473 <div class="warning"><h3>Avertissement</h3>
3474 <p>Il peut arriver que les sémaphores SysV soient conservés si le
3475 processus se crashe avant que le sémaphore ne soit supprimé.</p>
3478 <div class="warning"><h3>Sécurité</h3>
3479 <p>L'API des sémaphores permet les attaques par déni de service
3480 par tout programme CGI s'exécutant sous le même uid que le
3481 serveur web (autrement dit tous les programmes CGI, à moins que
3482 vous n'utilisiez un programme du style <code class="program"><a href="../programs/suexec.html">suexec</a></code>
3483 ou <code>cgiwrapper</code>).</p>
3487 <li><code>sem</code>
3488 <p>Sélection de la "meilleure" implémentation des sémaphores
3489 disponible ; le choix s'effectue entre les sémaphores posix et
3490 IPC SystemV, dans cet ordre.</p></li>
3492 <li><code>pthread</code>
3493 <p>Une variante de mutex à base de mutex de thread Posix
3494 inter-processus.</p>
3496 <div class="warning"><h3>Avertissement</h3>
3497 <p>Sur la plupart des systèmes, si un processus enfant se
3498 termine anormalement alors qu'il détenait un mutex qui utilise
3499 cette implémentation, le serveur va se bloquer et cesser de
3500 répondre aux requêtes. Dans ce cas, un redémarrage manuel est
3501 nécessaire pour récupérer le mutex.</p>
3502 <p>Solaris constitue une exception notable, en ceci qu'il fournit
3503 un mécanisme qui permet en général de récupérer le mutex après
3504 l'arrêt anormal d'un processus enfant qui détenait le mutex.</p>
3505 <p>Si votre système implémente la fonction
3506 <code>pthread_mutexattr_setrobust_np()</code>, vous devriez
3507 pouvoir utiliser l'option <code>pthread</code> sans problème.</p>
3511 <li><code>fcntl:/chemin/vers/mutex</code>
3512 <p>Une variante de mutex utilisant un fichier verrou physique et
3513 la fonction <code>fcntl()</code>.</p>
3515 <div class="warning"><h3>Avertissement</h3>
3516 <p>Lorsqu'on utilise plusieurs mutex basés sur ce mécanisme dans
3517 un environnement multi-processus, multi-thread, des erreurs de
3518 blocage (EDEADLK) peuvent être rapportées pour des opérations de
3519 mutex valides si la fonction <code>fcntl()</code> ne gère pas
3520 les threads, comme sous Solaris.</p>
3524 <li><code>flock:/chemin/vers/mutex</code>
3525 <p>Méthode similaire à <code>fcntl:/chemin/vers/mutex</code>,
3526 mais c'est la fonction <code>flock()</code> qui est utilisée
3527 pour gérer le verrouillage par fichier.</p></li>
3529 <li><code>file:/chemin/vers/mutex</code>
3530 <p>Sélection de la "meilleure" implémentation de verrouillage
3531 par fichier disponible ; le choix s'effectue entre
3532 <code>fcntl</code> et <code>flock</code>, dans cet ordre.</p></li>
3535 <p>La plupart des mécanismes ne sont disponibles que sur les
3536 plate-formes où ces dernières et <a class="glossarylink" href="../glossary.html#apr" title="voir glossaire">APR</a> les
3537 supportent. Les mécanismes qui ne sont pas disponibles sur toutes
3538 les plate-formes sont <em>posixsem</em>,
3539 <em>sysvsem</em>, <em>sem</em>, <em>pthread</em>, <em>fcntl</em>,
3540 <em>flock</em>, et <em>file</em>.</p>
3542 <p>Avec les mécanismes à base de fichier <em>fcntl</em> et
3543 <em>flock</em>, le chemin, s'il est fourni, est un répertoire dans
3544 lequel le fichier verrou sera créé. Le répertoire par défaut est le
3545 répertoire d'exécution httpd défini par la directive <code class="directive"><a href="#defaultruntimedir">DefaultRuntimeDir</a></code>. Si le répertoire
3546 spécifié est un chemin relatif, il est relatif au chemin défini par
3547 la directive <code class="directive"><a href="#defaultruntimedir">DefaultRuntimeDir</a></code>.
3548 Utilisez toujours un système
3549 de fichiers local sur disque pour <code>/chemin/vers/mutex</code> et
3550 jamais un répertoire se trouvant dans un système de fichiers NFS ou
3551 AFS. Le nom de base du fichier se composera du type de mutex, d'une
3552 chaîne optionnelle correspondant à l'instance et fournie par le
3553 module ; et, sauf si le mot-clé <code>OmitPID</code> a été spécifié,
3554 l'identificateur du processus parent httpd sera ajouté afin de
3555 rendre le nom du fichier unique, évitant ainsi tout conflit lorsque
3556 plusieurs instances d'httpd partagent le même répertoire de
3557 verrouillage. Par exemple, si le nom de mutex est
3558 <code>mpm-accept</code>, et si le répertoire de verrouillage est
3559 <code>/var/httpd/locks</code>, le nom du fichier verrou pour
3560 l'instance httpd dont le processus parent a pour identifiant 12345
3561 sera <code>/var/httpd/locks/mpm-accept.12345</code>.</p>
3563 <div class="warning"><h3>Sécurité</h3>
3564 <p>Il est conseillé d'<em>éviter</em> de placer les fichiers mutex
3565 dans un répertoire où tout le monde peut écrire comme
3566 <code>/var/tmp</code>, car quelqu'un pourrait initier une attaque
3567 par déni de service et empêcher le serveur de démarrer en créant un
3568 fichier verrou possédant un nom identique à celui que le serveur va
3569 tenter de créer.</p>
3572 <p>La table suivante décrit les noms de mutex utilisés par httpd et
3573 ses modules associés.</p>
3575 <table class="bordered"><tr class="header">
3578 <th>Ressource protégée</th>
3581 <td><code>mpm-accept</code></td>
3582 <td>modules MPM <code class="module"><a href="../mod/prefork.html">prefork</a></code> et <code class="module"><a href="../mod/worker.html">worker</a></code></td>
3583 <td>connexions entrantes, afin d'éviter le problème de
3584 l'afflux de requêtes ; pour plus d'informations, voir la
3585 documentation <a href="../misc/perf-tuning.html">Amélioration des
3586 performances</a></td>
3589 <td><code>authdigest-client</code></td>
3590 <td><code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code></td>
3591 <td>liste de clients en mémoire partagée</td>
3594 <td><code>authdigest-opaque</code></td>
3595 <td><code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code></td>
3596 <td>compteur en mémoire partagée</td>
3599 <td><code>ldap-cache</code></td>
3600 <td><code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code></td>
3601 <td>cache de résultat de recherche LDAP</td>
3604 <td><code>rewrite-map</code></td>
3605 <td><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code></td>
3606 <td>communication avec des programmes externes
3607 d'associations de valeurs, afin d'éviter les interférences
3608 d'entrées/sorties entre plusieurs requêtes</td>
3611 <td><code>ssl-cache</code></td>
3612 <td><code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code></td>
3613 <td>cache de session SSL</td>
3616 <td><code>ssl-stapling</code></td>
3617 <td><code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code></td>
3618 <td>cache de l'étiquetage OCSP ("OCSP stapling")</td>
3621 <td><code>watchdog-callback</code></td>
3622 <td><code class="module"><a href="../mod/mod_watchdog.html">mod_watchdog</a></code></td>
3623 <td>fonction de rappel d'un module client particulier</td>
3627 <p>Le mot-clé <code>OmitPID</code> permet d'empêcher l'addition de
3628 l'identifiant du processus httpd parent au nom du fichier verrou.</p>
3631 <p>Dans l'exemple suivant, le mécanisme de mutex pour le mutex
3632 mpm-accept est modifié pour passer du mécanisme par défaut au
3633 mécanisme <code>fcntl</code>, avec le fichier verrou associé créé
3634 dans le répertoire <code>/var/httpd/locks</code>. Le mécanisme de
3635 mutex par défaut pour tous les autres mutex deviendra
3636 <code>sysvsem</code>.</p>
3638 <pre class="prettyprint lang-config">Mutex sysvsem default
3639 Mutex fcntl:/var/httpd/locks mpm-accept</pre>
3643 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
3644 <div class="directive-section"><h2><a name="namevirtualhost" id="namevirtualhost">Directive</a> <a name="NameVirtualHost" id="NameVirtualHost">NameVirtualHost</a></h2>
3645 <table class="directive">
3646 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>OBSOLETE : Définit une adresse IP pour les serveurs virtuels à base de
3648 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>NameVirtualHost <var>adresse</var>[:<var>port</var>]</code></td></tr>
3649 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
3650 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
3651 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
3654 <p>Avant la version 2.3.11, il était nécessaire de définir une
3655 directive <code class="directive">NameVirtualHost</code> pour indiquer au
3656 serveur qu'une paire adresse IP/port particulière pouvait être
3657 utilisée comme serveur virtuel à base de nom. Depuis la version
3658 2.3.11, chaque fois qu'une paire adresse IP/port est utilisée dans
3659 plusieurs serveurs virtuels, l'hébergement virtuel à base de nom est
3660 automatiquement activé pour cette adresse.</p>
3662 <p>Cette directive n'a actuellement plus aucun effet.</p>
3666 <li><a href="../vhosts/">Documentation sur les serveurs
3670 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
3671 <div class="directive-section"><h2><a name="options" id="options">Directive</a> <a name="Options" id="Options">Options</a></h2>
3672 <table class="directive">
3673 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit les fonctionnalités disponibles pour un répertoire
3674 particulier</td></tr>
3675 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Options
3676 [+|-]<var>option</var> [[+|-]<var>option</var>] ...</code></td></tr>
3677 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Options FollowSymlinks</code></td></tr>
3678 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
3679 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Options</td></tr>
3680 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
3681 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
3682 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Avec la version 2.3.11, la valeur par défaut passe de All
3683 à FollowSymlinks</td></tr>
3685 <p>La directive <code class="directive">Options</code> permet de définir
3686 les fonctionnalités de serveur disponibles pour un répertoire
3689 <p><var>option</var> peut être défini à <code>None</code>, auquel
3690 cas aucune fonctionnalité spécifique n'est activée, ou comprendre
3691 une ou plusieurs des options suivantes :</p>
3694 <dt><code>All</code></dt>
3696 <dd>Toutes les options excepté <code>MultiViews</code>.</dd>
3698 <dt><code>ExecCGI</code></dt>
3700 <dd>L'exécution de scripts CGI à l'aide du module
3701 <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> est permise.</dd>
3703 <dt><code>FollowSymLinks</code></dt>
3707 Le serveur va suivre les liens symboliques dans le répertoire
3708 concerné. Il s'agit de la valeur par défaut.
3710 <p>Bien que le serveur suive les liens symboliques, il ne modifie
3711 <em>pas</em> le nom de chemin concerné défini par la section
3712 <code class="directive"><a href="#directory"><Directory></a></code>.</p>
3714 <p>Les options <code>FollowSymLinks</code> et
3715 <code>SymLinksIfOwnerMatch</code> ne fonctionnent que dans les
3716 sections <code class="directive"><a href="#directory"><Directory></a></code> ou les fichiers
3717 <code>.htaccess</code>.</p>
3719 <p>Le fait d'omettre cette option ne doit pas être considéré comme
3720 une mesure de sécurité efficace, car il existe toujours une
3721 situation de compétition (race condition) entre l'instant où l'on
3722 vérifie qu'un chemin n'est pas un lien symbolique, et l'instant où
3723 l'on utilise effectivement ce chemin.</p>
3726 <dt><code>Includes</code></dt>
3729 Les inclusions côté serveur (SSI) à l'aide du module
3730 <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> sont autorisées.</dd>
3732 <dt><code>IncludesNOEXEC</code></dt>
3736 Les inclusions côté serveur (SSI) sont permises, mais <code>#exec
3737 cmd</code> et <code>#exec cgi</code> sont désactivés.
3738 L'utilisation de <code>#include virtual</code> pour les scripts
3739 CGI est cependant toujours possible depuis des répertoires
3740 définis par <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code>.</dd>
3742 <dt><code>Indexes</code></dt>
3745 Si une URL requise correspond au répertoire concerné, et si aucun
3746 <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code> (<em>par
3747 exemple</em> <code>index.html</code>) n'est défini pour ce
3748 répertoire, le module <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> va renvoyer
3749 un listing formaté du répertoire.</dd>
3751 <dt><code>MultiViews</code></dt>
3754 Les vues multiples ("multiviews") à <a href="../content-negotiation.html">contenu négocié</a> à l'aide du
3755 module <code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code> sont autorisées.
3756 <div class="note"><h3>Note</h3> <p>Cette option est ignorée si elle est
3757 définie en tout autre endroit qu'une section <code class="directive"><a href="#directory"><Directory></a></code>, car
3758 <code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code> a besoin de ressources réelles
3759 pour effectuer ses comparaisons et ses évaluations.</p></div>
3763 <dt><code>SymLinksIfOwnerMatch</code></dt>
3765 <dd>Le serveur ne suivra que les liens symboliques qui renvoient
3766 vers un fichier ou un répertoire dont le propriétaire est le même
3769 <div class="note"><h3>Note</h3>
3770 <p>Les options <code>FollowSymLinks</code> et
3771 <code>SymLinksIfOwnerMatch</code> ne fonctionnent que dans les
3772 sections <code class="directive"><a href="#directory"><Directory></a></code> ou les fichiers
3773 <code>.htaccess</code>.</p>
3775 <p>Le fait d'omettre cette option ne doit pas être considéré comme
3776 une mesure de sécurité efficace, car il existe toujours une
3777 situation de compétition (race condition) entre l'instant où l'on
3778 vérifie qu'un chemin n'est pas un lien symbolique, et l'instant où
3779 l'on utilise effectivement ce chemin.</p>
3783 <p>Normalement, si plusieurs directives
3784 <code class="directive">Options</code> peuvent s'appliquer à un répertoire,
3785 c'est la plus spécifique qui est utilisée et les autres sont
3786 ignorées ; les options ne sont pas fusionnées (voir <a href="../sections.html#mergin">comment les sections sont
3787 fusionnées</a>). Elles le sont cependant si <em>toutes</em> les
3788 options de la directive <code class="directive">Options</code> sont
3789 précédées d'un symbole <code>+</code> ou <code>-</code>. Toute
3790 option précédée d'un <code>+</code> est ajoutée à la liste des
3791 options courantes de manière forcée et toute option précédée d'un
3792 <code>-</code> est supprimée de la liste des options courantes de la
3795 <div class="note"><h3>Note</h3>
3796 <p>Mélanger des <code class="directive">Options</code> avec <code>+</code>
3797 ou <code>-</code> avec des <code class="directive">Options</code> sans
3798 <code>+</code> ou <code>-</code> constitue une erreur de syntaxe, et
3799 la vérification de la syntaxe au cours du démarrage du serveur fera
3800 échouer ce dernier.</p>
3803 <p>Par exemple, sans aucun symbole <code>+</code> et <code>-</code>
3806 <pre class="prettyprint lang-config"><Directory "/web/docs">
3807 Options Indexes FollowSymLinks
3810 <Directory "/web/docs/spec">
3812 </Directory></pre>
3815 <p>ici, seule l'option <code>Includes</code> sera prise en compte
3816 pour le répertoire <code>/web/docs/spec</code>. Par contre, si la
3817 seconde directive <code class="directive">Options</code> utilise les
3818 symboles <code>+</code> et <code>-</code> :</p>
3820 <pre class="prettyprint lang-config"><Directory "/web/docs">
3821 Options Indexes FollowSymLinks
3824 <Directory "/web/docs/spec">
3825 Options +Includes -Indexes
3826 </Directory></pre>
3829 <p>alors, les options <code>FollowSymLinks</code> et
3830 <code>Includes</code> seront prises en compte pour le répertoire
3831 <code>/web/docs/spec</code>.</p>
3833 <div class="note"><h3>Note</h3>
3834 <p>L'utilisation de <code>-IncludesNOEXEC</code> ou
3835 <code>-Includes</code> désactive complètement les inclusions côté
3836 serveur sans tenir compte des définitions précédentes.</p>
3839 <p>En l'absence de toute définition d'options, la valeur par défaut
3840 est <code>FollowSymlinks</code>.</p>
3843 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
3844 <div class="directive-section"><h2><a name="protocol" id="protocol">Directive</a> <a name="Protocol" id="Protocol">Protocol</a></h2>
3845 <table class="directive">
3846 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Protocole pour une socket d'écoute</td></tr>
3847 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Protocol <var>protocole</var></code></td></tr>
3848 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
3849 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
3850 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
3851 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Sous Windows, disponible à partir de la version 2.3.3 du
3852 serveur HTTP Apache.</td></tr>
3854 <p>Cette directive permet de spécifier le protocole utilisé pour une
3855 socket d'écoute particulière. Le protocole sert à déterminer quel
3856 module doit traiter une requête, et d'appliquer les optimisations
3857 spécifiques au protocole via la directive
3858 <code class="directive">AcceptFilter</code>.</p>
3860 <p>Vous ne devez définir le protocole que si vous travaillez avec
3861 des ports non standards ; dans le cas général, le protocole
3862 <code>http</code> est associé au port 80 et le protocole
3863 <code>https</code> au port 443.</p>
3865 <p>Par exemple, si vous travaillez avec le protocole
3866 <code>https</code> sur un port non standard, spécifiez le protocole
3867 de manière explicite :</p>
3869 <pre class="prettyprint lang-config">Protocol https</pre>
3872 <p>Vous pouvez aussi spécifier le protocole via la directive
3873 <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code>.</p>
3877 <li><code class="directive"><a href="#acceptfilter">AcceptFilter</a></code></li>
3878 <li><code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code></li>
3881 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
3882 <div class="directive-section"><h2><a name="registerhttpmethod" id="registerhttpmethod">Directive</a> <a name="RegisterHttpMethod" id="RegisterHttpMethod">RegisterHttpMethod</a></h2>
3883 <table class="directive">
3884 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Enregistrement de méthodes HTTP non standards</td></tr>
3885 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RegisterHttpMethod <var>méthode</var> [<var>méthode</var> [...]]</code></td></tr>
3886 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
3887 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
3888 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
3890 <p>Normalement, les méthodes HTTP non conformes aux RFCs correspondantes
3891 sont rejetées au cours du traitement de la requête par HTTPD. Pour
3892 éviter ceci, les modules peuvent enregistrer les méthodes HTTP non
3893 standards qu'ils supportent. La directive
3894 <code class="directive">RegisterHttpMethod</code> permet d'enregistrer de telles
3895 méthodes manuellement. Ceci peut s'avérer utile si de telle méthodes
3896 doivent être utilisées dans un traitement externe, comme un script CGI.</p>
3899 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
3900 <div class="directive-section"><h2><a name="rlimitcpu" id="rlimitcpu">Directive</a> <a name="RLimitCPU" id="RLimitCPU">RLimitCPU</a></h2>
3901 <table class="directive">
3902 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limite le temps CPU alloué aux processus initiés par les
3903 processus enfants d'Apache httpd</td></tr>
3904 <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>
3905 <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
3906 d'exploitation</code></td></tr>
3907 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
3908 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
3909 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
3910 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
3912 <p>Prend 1 ou 2 paramètres. Le premier definit la limite de
3913 consommation de ressources pour tous les processus, et le second la
3914 consommation de ressources maximale. Les deux paramètres peuvent
3915 contenir soit un nombre, soit <code>max</code> pour indiquer au
3916 serveur que la limite de consommation correspond à la valeur
3917 maximale autorisée par la configuration du système d'exploitation.
3918 Pour augmenter la consommation maximale de ressources, le serveur
3919 doit s'exécuter en tant que <code>root</code>, ou se trouver dans sa
3920 phase de démarrage.</p>
3922 <p>Cette directive s'applique aux processus initiés par les
3923 processus enfants d'Apache httpd qui traitent les requêtes, et non aux
3924 processus enfants eux-mêmes. Sont concernés les scripts CGI et les
3925 commandes exec des SSI, mais en aucun cas les processus initiés par
3926 le processus parent d'Apache httpd comme les journalisations redirigées
3927 vers un programme.</p>
3929 <p>Les limites de ressources CPU sont exprimées en secondes par
3934 <li><code class="directive"><a href="#rlimitmem">RLimitMEM</a></code></li>
3935 <li><code class="directive"><a href="#rlimitnproc">RLimitNPROC</a></code></li>
3938 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
3939 <div class="directive-section"><h2><a name="rlimitmem" id="rlimitmem">Directive</a> <a name="RLimitMEM" id="RLimitMEM">RLimitMEM</a></h2>
3940 <table class="directive">
3941 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limite la mémoire allouée aux processus initiés par les
3942 processus enfants d'Apache httpd</td></tr>
3943 <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>
3944 <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
3945 d'exploitation</code></td></tr>
3946 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
3947 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
3948 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
3949 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
3951 <p>Prend 1 ou 2 paramètres. Le premier definit la limite de
3952 consommation de ressources pour tous les processus, et le second la
3953 consommation de ressources maximale. Les deux paramètres peuvent
3954 contenir soit un nombre, soit <code>max</code> pour indiquer au
3955 serveur que la limite de consommation correspond à la valeur
3956 maximale autorisée par la configuration du système d'exploitation.
3957 Pour augmenter la consommation maximale de ressources, le serveur
3958 doit s'exécuter en tant que <code>root</code>, ou se trouver dans sa
3959 phase de démarrage.</p>
3961 <p>Cette directive s'applique aux processus initiés par les
3962 processus enfants d'Apache httpd qui traitent les requêtes, et non aux
3963 processus enfants eux-mêmes. Sont concernés les scripts CGI et les
3964 commandes exec des SSI, mais en aucun cas les processus initiés par
3965 le processus parent d'Apache httpd comme les journalisations redirigées
3966 vers un programme.</p>
3968 <p>Les limites de ressources mémoire sont exprimées en octets par
3973 <li><code class="directive"><a href="#rlimitcpu">RLimitCPU</a></code></li>
3974 <li><code class="directive"><a href="#rlimitnproc">RLimitNPROC</a></code></li>
3977 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
3978 <div class="directive-section"><h2><a name="rlimitnproc" id="rlimitnproc">Directive</a> <a name="RLimitNPROC" id="RLimitNPROC">RLimitNPROC</a></h2>
3979 <table class="directive">
3980 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limite le nombre de processus qui peuvent être initiés par
3981 les processus initiés par les processus enfants d'Apache httpd</td></tr>
3982 <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>
3983 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Unset; uses operating system defaults</code></td></tr>
3984 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
3985 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
3986 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
3987 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
3989 <p>Prend 1 ou 2 paramètres. Le premier definit la limite de
3990 consommation de ressources pour tous les processus, et le second la
3991 consommation de ressources maximale. Les deux paramètres peuvent
3992 contenir soit un nombre, soit <code>max</code> pour indiquer au
3993 serveur que la limite de consommation correspond à la valeur
3994 maximale autorisée par la configuration du système d'exploitation.
3995 Pour augmenter la consommation maximale de ressources, le serveur
3996 doit s'exécuter en tant que <code>root</code>, ou se trouver dans sa
3997 phase de démarrage.</p>
3999 <p>Cette directive s'applique aux processus initiés par les
4000 processus enfants d'Apache httpd qui traitent les requêtes, et non aux
4001 processus enfants eux-mêmes. Sont concernés les scripts CGI et les
4002 commandes exec des SSI, mais en aucun cas les processus initiés par
4003 le processus parent d'Apache httpd comme les journalisations redirigées
4004 vers un programme.</p>
4006 <p>Les limites des processus contrôlent le nombre de processus par
4009 <div class="note"><h3>Note</h3>
4010 <p>Si les processus CGI s'exécutent sous le même
4011 utilisateur que celui du serveur web, cette
4012 directive va limiter le nombre de processus que le serveur
4013 pourra lui-même créer. La présence de messages
4014 <strong><code>cannot fork</code></strong> dans le journal des
4015 erreurs indiquera que la limite est atteinte.</p>
4020 <li><code class="directive"><a href="#rlimitmem">RLimitMEM</a></code></li>
4021 <li><code class="directive"><a href="#rlimitcpu">RLimitCPU</a></code></li>
4024 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
4025 <div class="directive-section"><h2><a name="scriptinterpretersource" id="scriptinterpretersource">Directive</a> <a name="ScriptInterpreterSource" id="ScriptInterpreterSource">ScriptInterpreterSource</a></h2>
4026 <table class="directive">
4027 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Permet de localiser l'interpréteur des scripts
4029 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ScriptInterpreterSource Registry|Registry-Strict|Script</code></td></tr>
4030 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ScriptInterpreterSource Script</code></td></tr>
4031 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
4032 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
4033 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
4034 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
4035 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Win32 seulement</td></tr>
4037 <p>Cette directive permet de contrôler la méthode qu'utilise Apache
4038 httpd pour trouver l'interpréteur destiné à exécuter les scripts CGI. La
4039 définition par défaut est <code>Script</code> : ceci indique à
4040 Apache httpd qu'il doit utiliser l'interpréteur précisé dans la ligne
4041 shebang du script (la première ligne, commençant par
4042 <code>#!</code>). Sur les systèmes Win32, cette ligne ressemble
4043 souvent à ceci :</p>
4045 <pre class="prettyprint lang-perl">#!C:/Perl/bin/perl.exe</pre>
4048 <p>ou simplement, dans le cas où <code>perl</code> est dans le
4049 <code>PATH</code> :</p>
4051 <pre class="prettyprint lang-perl">#!perl</pre>
4054 <p>Avec <code>ScriptInterpreterSource Registry</code>, Windows va
4055 effectuer une recherche dans l'arborescence
4056 <code>HKEY_CLASSES_ROOT</code> de la base de registre avec comme
4057 mot-clé l'extension du fichier contenant le script (par exemple
4058 <code>.pl</code>). C'est la commande définie par la sous-clé de
4059 registre <code>Shell\ExecCGI\Command</code> ou, si elle n'existe
4060 pas, la sous-clé <code>Shell\Open\Command</code> qui est utilisée
4061 pour ouvrir le fichier du script. Si ces clés de registre ne sont
4062 pas trouvées, Apache httpd utilise la méthode de l'option
4063 <code>Script</code>.</p>
4065 <div class="warning"><h3>Sécurité</h3>
4066 <p>Soyez prudent si vous utilisez <code>ScriptInterpreterSource
4067 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 httpd va essayer
4068 d'exécuter <strong>tous</strong> les fichiers contenus dans
4069 celui-ci. L'option <code>Registry</code> peut causer des appels de
4070 programmes non voulus sur des fichiers non destinés à être exécutés.
4071 Par exemple, la commande par défaut open sur les fichiers
4072 <code>.htm</code> sur la plupart des systèmes Windows va lancer
4073 Microsoft Internet Explorer ; ainsi, toute requête HTTP pour un
4074 fichier <code>.htm</code> situé dans le répertoire des scripts
4075 va lancer le navigateur en arrière-plan sur le serveur, ce qui a
4076 toutes les chances de crasher votre système dans les minutes qui
4080 <p>L'option <code>Registry-Strict</code>, apparue avec la version
4081 2.0 du serveur HTTP Apache,
4082 agit de manière identique à <code>Registry</code>, mais n'utilise
4083 que la sous-clé <code>Shell\ExecCGI\Command</code>. La présence de
4084 la clé <code>ExecCGI</code> n'étant pas systématique, Elle doit être
4085 définie manuellement dans le registre Windows et évite ainsi tout
4086 appel de programme accidentel sur votre système.</p>
4089 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
4090 <div class="directive-section"><h2><a name="seerequesttail" id="seerequesttail">Directive</a> <a name="SeeRequestTail" id="SeeRequestTail">SeeRequestTail</a></h2>
4091 <table class="directive">
4092 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si mod_status affiche les 63 premiers caractères
4093 d'une requête ou les 63 derniers, en supposant que la requête
4094 elle-même possède plus de 63 caractères.</td></tr>
4095 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SeeRequestTail On|Off</code></td></tr>
4096 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SeeRequestTail Off</code></td></tr>
4097 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
4098 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
4099 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
4101 <p>Avec <code>ExtendedStatus On</code>, mod_status affiche la
4102 véritable requête en cours de traitement. Pour des raisons
4103 historiques, seuls 63 caractères de la requête sont réellement
4104 stockés à des fins d'affichage. Cette directive permet de déterminer
4105 si ce sont les 63 premiers caractères qui seront stockés (c'est le
4106 comportement par défaut),
4107 ou si ce sont les 63 derniers. Ceci ne s'applique bien entendu que
4108 si la taille de la requête est de 64 caractères ou plus.</p>
4110 <p>Si Apache httpd traite la requête <code>GET /disque1/stockage/apache/htdocs/images/rep-images1/nourriture/pommes.jpg HTTP/1.1</code>
4111 , l'affichage de la requête par mod_status se présentera comme suit :
4114 <table class="bordered">
4116 <th>Off (défaut)</th>
4117 <td>GET /disque1/stockage/apache/htdocs/images/rep-images1/nourritu</td>
4121 <td>apache/htdocs/images/rep-images1/nourriture/pommes.jpg HTTP/1.1</td>
4127 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
4128 <div class="directive-section"><h2><a name="serveradmin" id="serveradmin">Directive</a> <a name="ServerAdmin" id="ServerAdmin">ServerAdmin</a></h2>
4129 <table class="directive">
4130 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'adresse électronique que le serveur inclut dans les
4131 messages d'erreur envoyés au client</td></tr>
4132 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerAdmin <var>adresse électronique</var>|<var>URL</var></code></td></tr>
4133 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
4134 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
4135 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
4137 <p>La directive <code class="directive">ServerAdmin</code> permet de définir
4138 l'adresse de contact que le serveur va inclure dans tout message
4139 d'erreur qu'il envoie au client. Si le programme <code>httpd</code>
4140 ne reconnait pas l'argument fourni comme une URL, il suppose que
4141 c'est une <var>adresse électronique</var>, et lui ajoute le préfixe
4142 <code>mailto:</code> dans les cibles des hyperliens. Il est
4143 cependant recommandé d'utiliser exclusivement une adresse
4144 électronique, car de nombreux scripts CGI considèrent ceci comme
4145 implicite. Si vous utilisez une URL, elle doit pointer vers un autre
4146 serveur que vous contrôlez. Dans le cas contraire, les utilisateurs
4147 seraient dans l'impossibilité de vous contacter en cas de problème.</p>
4149 <p>Il peut s'avérer utile de définir une adresse dédiée à
4150 l'administration du serveur, par exemple :</p>
4152 <pre class="prettyprint lang-config">ServerAdmin www-admin@foo.example.com</pre>
4154 <p>car les utilisateurs ne mentionnent pas systématiquement le
4155 serveur dont ils parlent !</p>
4158 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
4159 <div class="directive-section"><h2><a name="serveralias" id="serveralias">Directive</a> <a name="ServerAlias" id="ServerAlias">ServerAlias</a></h2>
4160 <table class="directive">
4161 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Autres noms d'un serveur utilisables pour atteindre des
4162 serveurs virtuels à base de nom</td></tr>
4163 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerAlias <var>nom serveur</var> [<var>nom serveur</var>]
4164 ...</code></td></tr>
4165 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel</td></tr>
4166 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
4167 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
4169 <p>La directive <code class="directive">ServerAlias</code> permet de définir
4170 les noms alternatifs d'un serveur utilisables pour atteindre des <a href="../vhosts/name-based.html">serveurs virtuels à base de
4171 nom</a>. La directive <code class="directive">ServerAlias</code> peut
4172 contenir des caractères génériques, si nécessaire.</p>
4174 <pre class="prettyprint lang-config"><VirtualHost *:80>
4175 ServerName server.example.com
4176 ServerAlias server server2.example.com server2
4177 ServerAlias *.example.com
4178 UseCanonicalName Off
4180 </VirtualHost></pre>
4182 <p>La recherche du serveur virtuel à base de nom correspondant au
4183 plus près à la requête s'effectue selon l'ordre d'apparition des
4184 directives <code class="directive"><a href="#virtualhost"><virtualhost></a></code> dans le fichier de
4185 configuration. Le premier serveur virtuel dont le <code class="directive"><a href="#servername">ServerName</a></code> ou le <code class="directive"><a href="#serveralias">ServerAlias</a></code> correspond est choisi, sans
4186 priorité particulière si le nom contient des caractères génériques
4187 (que ce soit pour ServerName ou ServerAlias).</p>
4189 <p>Tous les noms spécifiés au sein d'une section
4190 <code class="directive">VirtualHost</code> sont traités comme un
4191 <code class="directive">ServerAlias</code> (sans caractères génériques).</p>
4196 <li><code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code></li>
4197 <li><a href="../vhosts/">Documentation sur les serveurs virtuels
4198 du serveur HTTP Apache</a></li>
4201 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
4202 <div class="directive-section"><h2><a name="servername" id="servername">Directive</a> <a name="ServerName" id="ServerName">ServerName</a></h2>
4203 <table class="directive">
4204 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom d'hôte et port que le serveur utilise pour
4205 s'authentifier lui-même</td></tr>
4206 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerName [<var>protocole</var>://]<var>nom de domaine
4207 entièrement qualifié</var>[:<var>port</var>]</code></td></tr>
4208 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
4209 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
4210 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
4212 <p>La directive <code class="directive">ServerName</code> permet de définir
4213 les protocole, nom d'hôte et port d'une requête que le serveur
4214 utilise pour s'authentifier lui-même. Ceci est utile lors de la
4215 création de redirections d'URLs.</p>
4217 <p>La directive <code class="directive">ServerName</code> permet aussi
4218 (éventuellement en conjonction avec la directive
4219 <code class="directive">ServerAlias</code>) d'identifier de manière unique
4220 un serveur virtuel, lorsqu'elle est utilisée dans un contexte de <a href="../vhosts/name-based.html">serveurs virtuels à base de
4223 <p>Par exemple, si le nom de la
4224 machine hébergeant le serveur web est
4225 <code>simple.example.com</code>, la machine possède l'alias
4226 DNS <code>www.example.com</code>, et si vous voulez que le serveur
4227 web s'identifie avec cet alias, vous devez utilisez la définition
4230 <pre class="prettyprint lang-config">ServerName www.example.com</pre>
4233 <p>La directive <code class="directive">ServerName</code> peut apparaître à
4234 toutes les étapes de la définition du serveur. Toute occurrence
4235 annule cependant la précédente (pour ce serveur).</p>
4237 <p>Si la directive <code class="directive">ServerName</code> n'est pas
4238 définie, le serveur tente de déterminer le nom
4239 d'hôte visible du point de vue du client en effectuant
4240 une recherche DNS inverse sur une adresse IP du serveur.</p>
4243 <code class="directive">ServerName</code> ne précise pas de port, le serveur
4244 utilisera celui de la requête entrante. Il est recommandé de
4245 spécifier un nom d'hôte et un port spécifiques à l'aide de la
4246 directive <code class="directive">ServerName</code> pour une fiabilité
4247 optimale et à titre préventif.</p>
4249 <p>Si vous définissez des <a href="../vhosts/name-based.html">serveurs virtuels à base de
4250 nom</a>, une directive <code class="directive">ServerName</code> située à
4251 l'intérieur d'une section <code class="directive"><a href="#virtualhost"><VirtualHost></a></code> spécifiera quel nom d'hôte
4252 doit apparaître dans l'en-tête de requête <code>Host:</code> pour
4253 pouvoir atteindre ce serveur virtuel.</p>
4256 <p>Parfois, le serveur s'exécute en amont d'un dispositif qui
4257 implémente SSL, comme un mandataire inverse, un répartiteur de
4258 charge ou un boîtier dédié SSL. Dans ce cas, spécifiez le protocole
4259 <code>https://</code> et le port auquel les clients se connectent
4260 dans la directive <code class="directive">ServerName</code>, afin de
4261 s'assurer que le serveur génère correctement ses URLs
4262 d'auto-identification.
4265 <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
4266 définitions qui permettent de déterminer si les URLs
4267 auto-identifiantes (par exemple via le module
4268 <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code>) vont faire référence au port spécifié, ou
4269 au port indiqué dans la requête du client.
4272 <div class="warning">
4273 <p>Si la valeur de la directive <code class="directive">ServerName</code> ne
4274 peut pas être résolue en adresse IP, le démarrage du serveur
4275 provoquera un avertissement. <code>httpd</code> va alors utiliser le
4276 résultat de la commande système <code>hostname</code> pour
4277 déterminer le nom du serveur, ce qui ne correspondra pratiquement
4278 jamais au nom de serveur que vous souhaitez réellement.</p>
4279 <div class="example"><p><code>
4280 httpd: Could not reliably determine the server's fully qualified domain name, using rocinante.local for ServerName
4287 <li><a href="../dns-caveats.html">Problèmes concernant le DNS et
4288 le serveur HTTP Apache</a></li>
4289 <li><a href="../vhosts/">Documentation sur les serveurs virtuels
4290 du serveur HTTP Apache</a></li>
4291 <li><code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code></li>
4292 <li><code class="directive"><a href="#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></code></li>
4293 <li><code class="directive"><a href="#serveralias">ServerAlias</a></code></li>
4296 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
4297 <div class="directive-section"><h2><a name="serverpath" id="serverpath">Directive</a> <a name="ServerPath" id="ServerPath">ServerPath</a></h2>
4298 <table class="directive">
4299 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom de chemin d'URL hérité pour un serveur virtuel à base
4300 de nom accédé par un navigateur incompatible</td></tr>
4301 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerPath <var>chemin d'URL</var></code></td></tr>
4302 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel</td></tr>
4303 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
4304 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
4306 <p>La directive <code class="directive">ServerPath</code> permet de définir
4307 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>
4311 <li><a href="../vhosts/">Documentation sur les serveurs virtuels
4312 du serveur HTTP Apache</a></li>
4315 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
4316 <div class="directive-section"><h2><a name="serverroot" id="serverroot">Directive</a> <a name="ServerRoot" id="ServerRoot">ServerRoot</a></h2>
4317 <table class="directive">
4318 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Racine du répertoire d'installation du
4320 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerRoot <var>chemin de répertoire</var></code></td></tr>
4321 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ServerRoot /usr/local/apache</code></td></tr>
4322 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
4323 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
4324 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
4326 <p>La directive <code class="directive">ServerRoot</code> permet de définir
4327 le répertoire dans lequel le serveur est installé. En particulier,
4328 il contiendra les sous-répertoires <code>conf/</code> et
4329 <code>logs/</code>. Les chemins relatifs indiqués dans les autres
4330 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
4331 rapport à ce répertoire.</p>
4333 <pre class="prettyprint lang-config">ServerRoot "/home/httpd"</pre>
4336 <p>La valeur par défaut de <code class="directive">ServerRoot</code> peut
4337 être modifiée via l'argument <code>--prefix</code> de la commande <a href="../programs/configure.html"><code>configure</code></a>, et de
4338 nombreuses distributions tierces du serveur proposent une valeur
4339 différente de celles listées ci-dessus.</p>
4344 <li><a href="../invoking.html">the <code>-d</code>
4345 options de <code>httpd</code></a></li>
4346 <li><a href="../misc/security_tips.html#serverroot">les conseils à
4347 propos de sécurité</a> pour des informations sur la manière de définir
4348 correctement les permissions sur le répertoire indiqué par la directive
4349 <code class="directive">ServerRoot</code></li>
4352 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
4353 <div class="directive-section"><h2><a name="serversignature" id="serversignature">Directive</a> <a name="ServerSignature" id="ServerSignature">ServerSignature</a></h2>
4354 <table class="directive">
4355 <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
4357 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerSignature On|Off|EMail</code></td></tr>
4358 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ServerSignature Off</code></td></tr>
4359 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
4360 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr>
4361 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
4362 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
4364 <p>La directive <code class="directive">ServerSignature</code> permet de
4365 définir une ligne de pied de page fixe pour les documents générés
4366 par le serveur (messages d'erreur, listings de répertoires ftp de
4367 <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>,
4368 etc...). Dans le cas d'une chaîne de mandataires, l'utilisateur n'a
4369 souvent aucun moyen de déterminer lequel des mandataires chaînés a
4370 généré un message d'erreur, et c'est une des raisons pour lesquelles
4371 on peut être amené à ajouter un tel pied de page.</p>
4373 <p>La valeur par défaut <code>Off</code> supprime la ligne de pied
4374 de page (et est ainsi compatible avec le comportement des
4375 versions 1.2 et antérieures d'Apache). la valeur <code>On</code>
4376 ajoute simplement une ligne contenant le numéro de version du
4377 serveur ainsi que le nom du serveur virtuel issu de la directive
4378 <code class="directive"><a href="#servername">ServerName</a></code>, alors que la valeur
4379 <code>EMail</code> ajoute en plus une référence "mailto:" à
4380 l'administrateur du document référencé issu la directive
4381 <code class="directive"><a href="#serveradmin">ServerAdmin</a></code>.</p>
4383 <p>Après la version 2.0.44, les détails à propos du numéro de
4384 version du serveur sont contrôlés à l'aide de la directive
4385 <code class="directive"><a href="#servertokens">ServerTokens</a></code>.</p>
4389 <li><code class="directive"><a href="#servertokens">ServerTokens</a></code></li>
4392 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
4393 <div class="directive-section"><h2><a name="servertokens" id="servertokens">Directive</a> <a name="ServerTokens" id="ServerTokens">ServerTokens</a></h2>
4394 <table class="directive">
4395 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure l'en-tête <code>Server</code> de la réponse
4397 <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>
4398 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ServerTokens Full</code></td></tr>
4399 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
4400 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
4401 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
4403 <p>Cette directive permet de contrôler le contenu de l'en-tête
4404 <code>Server</code> inclus dans la réponse envoyée au client : cet
4405 en-tête peut contenir le type de système d'exploitation du serveur,
4406 ainsi que des informations à propos des modules compilés avec le
4410 <dt><code>ServerTokens Full</code> (ou non spécifié)</dt>
4412 <dd>Le serveur envoie par exemple : <code>Server: Apache/2.4.2
4413 (Unix) PHP/4.2.2 MyMod/1.2</code></dd>
4415 <dt><code>ServerTokens Prod[uctOnly]</code></dt>
4417 <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server:
4420 <dt><code>ServerTokens Major</code></dt>
4422 <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server:
4423 Apache/2</code></dd>
4425 <dt><code>ServerTokens Minor</code></dt>
4427 <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server:
4428 Apache/2.4</code></dd>
4430 <dt><code>ServerTokens Min[imal]</code></dt>
4432 <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server:
4433 Apache/2.4.2</code></dd>
4435 <dt><code>ServerTokens OS</code></dt>
4437 <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server:
4438 Apache/2.4.2 (Unix)</code></dd>
4444 <p>Cette définition s'applique à l'ensemble du serveur et ne peut
4445 être activée ou désactivée pour tel ou tel serveur virtuel.</p>
4447 <p>Dans les versions postérieures à 2.0.44, cette directive contrôle
4448 aussi les informations fournies par la directive <code class="directive"><a href="#serversignature">ServerSignature</a></code>.</p>
4450 <div class="note">Définir <code class="directive">ServerTokens</code> à une
4451 valeur inférieure à <code>minimal</code> n'est pas
4452 recommandé car le débogage des problèmes
4453 interopérationnels n'en sera alors que plus difficile. Notez
4454 aussi que la désactivation de l'en-tête Server:
4455 n'améliore en rien la sécurité de votre
4456 serveur ; le concept de "sécurité par
4457 l'obscurité" est un mythe et conduit à
4458 une mauvaise perception de ce qu'est la sécurité.</div>
4464 <li><code class="directive"><a href="#serversignature">ServerSignature</a></code></li>
4467 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
4468 <div class="directive-section"><h2><a name="sethandler" id="sethandler">Directive</a> <a name="SetHandler" id="SetHandler">SetHandler</a></h2>
4469 <table class="directive">
4470 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Force le traitement des fichiers spécifiés par un
4471 gestionnaire particulier</td></tr>
4472 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SetHandler <var>nom gestionnaire</var>|None</code></td></tr>
4473 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
4474 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
4475 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
4476 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
4478 <p>Lorsqu'elle se situe à l'intérieur d'un fichier
4479 <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
4480 traitement de tous les fichiers spécifiés par le <a href="../handler.html">gestionnaire</a> défini par l'argument
4481 <var>nom gestionnaire</var>. Par exemple, dans le cas d'un
4482 répertoire dont vous voulez interpréter le contenu comme des
4483 fichiers de règles d'images cliquables, sans tenir compte des
4484 extensions, vous pouvez ajouter la ligne suivante dans un fichier
4485 <code>.htaccess</code> de ce répertoire :</p>
4487 <pre class="prettyprint lang-config">SetHandler imap-file</pre>
4490 <p>Autre exemple : si vous voulez que le serveur affiche un
4491 compte-rendu d'état chaque fois qu'une URL du type <code>http://nom
4492 serveur/status</code> est appelée, vous pouvez ajouter ceci dans
4493 <code>httpd.conf</code> :</p>
4495 <pre class="prettyprint lang-config"><Location "/status">
4496 SetHandler server-status
4497 </Location></pre>
4500 <p>Vous pouvez aussi utiliser cette directive pour associer un
4501 gestionnaire à des fichiers possèdant une extension de nom de
4502 fichier particulière. Par exemple :</p>
4504 <pre class="prettyprint lang-config"><FilesMatch \.php$>
4505 SetHandler application/x-httpd-php
4506 </FilesMatch></pre>
4509 <p>Vous pouvez écraser la définition antérieure d'une directive
4510 <code class="directive">SetHandler</code> en utilisant la valeur
4511 <code>None</code>.</p>
4513 <div class="note"><h3>Note</h3>
4514 <p>Comme <code class="directive">SetHandler</code> l'emporte sur la
4515 définition des gestionnaires par défaut, le comportement habituel
4516 consistant à traiter les URLs se terminant par un slash (/) comme
4517 des répertoires ou des fichiers index est désactivé.</p></div>
4521 <li><code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code></li>
4524 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
4525 <div class="directive-section"><h2><a name="setinputfilter" id="setinputfilter">Directive</a> <a name="SetInputFilter" id="SetInputFilter">SetInputFilter</a></h2>
4526 <table class="directive">
4527 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit les filtres par lesquels vont passer les requêtes
4528 client et les données POST</td></tr>
4529 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SetInputFilter <var>filtre</var>[;<var>filtre</var>...]</code></td></tr>
4530 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
4531 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
4532 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
4533 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
4535 <p>La directive <code class="directive">SetInputFilter</code> permet de
4536 définir le ou les filtres par lesquels vont passer les requêtes
4537 client et les données POST au moment où le serveur les reçoit. Cette
4538 définition vient en ajout à tout autre filtre défini en
4539 quelqu'endroit que ce soit, y compris via la directive <code class="directive"><a href="../mod/mod_mime.html#addinputfilter">AddInputFilter</a></code>.</p>
4541 <p>Si la directive comporte plusieurs filtres, ils doivent être
4542 séparés par des points-virgules, et spécifiés selon l'ordre dans
4543 lequel vous souhaitez les voir agir sur les contenus.</p>
4547 <li>documentation des <a href="../filter.html">Filtres</a></li>
4550 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
4551 <div class="directive-section"><h2><a name="setoutputfilter" id="setoutputfilter">Directive</a> <a name="SetOutputFilter" id="SetOutputFilter">SetOutputFilter</a></h2>
4552 <table class="directive">
4553 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit les filtres par lesquels vont passer les réponses
4554 du serveur</td></tr>
4555 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SetOutputFilter <var>filtre</var>[;<var>filtre</var>...]</code></td></tr>
4556 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
4557 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
4558 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
4559 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
4561 <p>La directive <code class="directive">SetOutputFilter</code> permet de
4562 définir les filtres par lesquels vont passer les réponses du serveur
4563 avant d'être envoyées au client. Cette définition vient en ajout à
4564 tout autre filtre défini en quelqu'endroit que ce soit, y compris
4565 via la directive <code class="directive"><a href="../mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code>.</p>
4567 <p>Par exemple, la configuration suivante va traiter tous les
4568 fichiers du répertoire <code>/www/data/</code> comme des inclusions
4569 côté serveur (SSI) :</p>
4571 <pre class="prettyprint lang-config"><Directory "/www/data/">
4572 SetOutputFilter INCLUDES
4573 </Directory></pre>
4576 <p>Si la directive comporte plusieurs filtres, ils doivent être
4577 séparés par des points-virgules, et spécifiés selon l'ordre dans
4578 lequel vous souhaitez les voir agir sur les contenus.</p>
4582 <li><a href="../filter.html">Filters</a> documentation</li>
4585 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
4586 <div class="directive-section"><h2><a name="timeout" id="timeout">Directive</a> <a name="TimeOut" id="TimeOut">TimeOut</a></h2>
4587 <table class="directive">
4588 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Temps pendant lequel le serveur va attendre certains
4589 évènements avant de considérer qu'une requête a échoué</td></tr>
4590 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>TimeOut <var>secondes</var></code></td></tr>
4591 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>TimeOut 60</code></td></tr>
4592 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
4593 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
4594 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
4596 <p>La directive <code class="directive">TimeOut</code> permet de définir le
4597 temps maximum pendant lequel Apache httpd va attendre des entrées/sorties
4598 selon les circonstances :</p>
4601 <li>Lors de la lecture de données en provenance du client, le
4602 temps maximum jusqu'à l'arrivée d'un paquet TCP si le tampon est
4605 <li>Lors de l'écriture de données destinées au client, le temps
4606 maximum jusqu'à l'arrivée de l'accusé-réception d'un paquet si le
4607 tampon d'envoi est plein.</li>
4609 <li>Avec <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> et <code class="module"><a href="../mod/mod_cgid.html">mod_cgid</a></code>, le temps d'attente maximum des
4610 sorties d'un script CGI.</li>
4612 <li>Avec <code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code>, le temps d'attente
4613 maximum des sorties d'un processus de filtrage.</li>
4615 <li>Avec <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, la valeur du délai par défaut
4616 si <code class="directive"><a href="../mod/mod_proxy.html#proxytimeout">ProxyTimeout</a></code> n'est
4622 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
4623 <div class="directive-section"><h2><a name="traceenable" id="traceenable">Directive</a> <a name="TraceEnable" id="TraceEnable">TraceEnable</a></h2>
4624 <table class="directive">
4625 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine le comportement des requêtes
4626 <code>TRACE</code></td></tr>
4627 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>TraceEnable <var>[on|off|extended]</var></code></td></tr>
4628 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>TraceEnable on</code></td></tr>
4629 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
4630 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
4631 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
4633 <p>Cette directive l'emporte sur le comportement de
4634 <code>TRACE</code> pour le noyau du serveur et
4635 <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. La définition par défaut
4636 <code>TraceEnable on</code> permet des requêtes <code>TRACE</code>
4637 selon la RFC 2616, qui interdit d'ajouter tout corps à la requête.
4638 La définition <code>TraceEnable off</code> indique au noyau du
4639 serveur et à <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> de retourner un code
4640 d'erreur <code>405</code> (Méthode non autorisée) au client.</p>
4642 <p>En fait, et à des fins de test et de diagnostic seulement, on
4643 peut autoriser l'ajout d'un corps de requête à l'aide de la
4644 définition non standard <code>TraceEnable extended</code>. Le noyau
4645 du serveur (dans le cas d'un serveur d'origine) va limiter la taille
4646 du corps de requête à 64k (plus 8k pour les en-têtes de
4647 fractionnement si <code>Transfer-Encoding: chunked</code> est
4648 utilisé). Le noyau du serveur va reproduire l'ensemble des en-têtes,
4649 y compris les en-têtes de fractionnement avec le corps de la
4650 réponse. Dans le cas d'un serveur mandataire, la taille du corps de
4651 requête n'est pas limitée à 64k.</p>
4653 <div class="note"><h3>Note</h3>
4654 <p>Bien que certains prétendent le contraire, <code>TRACE</code> ne
4655 constitue pas une vulnérabilité en matière de sécurité, et il n'y a
4656 aucune raison suffisante pour le désactiver, ce qui rendrait
4657 votre serveur non conforme.</p>
4661 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
4662 <div class="directive-section"><h2><a name="undefine" id="undefine">Directive</a> <a name="UnDefine" id="UnDefine">UnDefine</a></h2>
4663 <table class="directive">
4664 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Invalide la définition d'une variable</td></tr>
4665 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>UnDefine <var>nom-variable</var></code></td></tr>
4666 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
4667 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
4668 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
4670 <p>Annule l'effet d'une directive <code class="directive"><a href="#define">Define</a></code> ou d'un argument <code>-D</code> de
4671 <code class="program"><a href="../programs/httpd.html">httpd</a></code> en invalidant l'existence de la variable
4673 <p>On peut utiliser cette directive pour inverser l'effet d'une
4674 section <code class="directive"><a href="#ifdefine"><IfDefine></a></code>
4675 sans avoir à modifier les arguments <code>-D</code> dans les scripts
4677 <p>Si cette directive est définie au sein d'un bloc VirtualHost, les
4678 changements qu'elle induit sont visibles de toute directive
4679 ultérieure, au delà de tout bloc VirtualHost.</p>
4682 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
4683 <div class="directive-section"><h2><a name="usecanonicalname" id="usecanonicalname">Directive</a> <a name="UseCanonicalName" id="UseCanonicalName">UseCanonicalName</a></h2>
4684 <table class="directive">
4685 <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
4686 et son port</td></tr>
4687 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>UseCanonicalName On|Off|DNS</code></td></tr>
4688 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>UseCanonicalName Off</code></td></tr>
4689 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
4690 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
4691 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
4693 <p>Dans de nombreuses situations, Apache httpd doit construire une URL
4694 <em>auto-identifiante</em> -- c'est à dire une URL qui fait
4695 référence au serveur lui-même. Avec <code>UseCanonicalName
4696 On</code>, Apache httpd va utiliser le nom d'hôte et le port spécifiés par
4697 la directive <code class="directive"><a href="#servername">ServerName</a></code> pour
4698 construire le nom canonique du serveur. Ce nom est utilisé dans
4699 toutes les URLs auto-identifiantes, et affecté aux variables
4700 <code>SERVER_NAME</code> et <code>SERVER_PORT</code> dans les
4703 <p>Avec <code>UseCanonicalName Off</code>, Apache httpd va construire ses
4704 URLs auto-identifiantes à l'aide du nom d'hôte et du port fournis
4705 par le client, si ce dernier en a fourni un (dans la négative,
4706 Apache utilisera le nom canonique, de la même manière que
4707 ci-dessus). Ces valeurs sont les mêmes que celles qui sont utilisées
4708 pour implémenter les <a href="../vhosts/name-based.html">serveurs virtuels à base de
4709 nom</a>, et sont disponibles avec les mêmes clients. De même, les
4710 variables CGI <code>SERVER_NAME</code> et <code>SERVER_PORT</code>
4711 seront affectées des valeurs fournies par le client.</p>
4713 <p>Cette directive peut s'avérer utile, par exemple, sur un serveur
4714 intranet auquel les utilisateurs se connectent en utilisant des noms
4715 courts tels que <code>www</code>. Si les utilisateurs tapent un nom
4716 court suivi d'une URL qui fait référence à un répertoire, comme
4717 <code>http://www/splat</code>, <em>sans le slash terminal</em>, vous
4718 remarquerez qu'Apache httpd va les rediriger vers
4719 <code>http://www.example.com/splat/</code>. Si vous avez activé
4720 l'authentification, ceci va obliger l'utilisateur à s'authentifier
4721 deux fois (une première fois pour <code>www</code> et une seconde
4722 fois pour <code>www.example.com</code> -- voir <a href="http://wiki.apache.org/httpd/FAQ#Why_does_Apache_ask_for_my_password_twice_before_serving_a_file.3F">la
4723 foire aux questions sur ce sujet pour plus d'informations</a>).
4724 Par contre, si <code class="directive">UseCanonicalName</code> est définie à
4725 <code>Off</code>, Apache httpd redirigera l'utilisateur vers
4726 <code>http://www/splat/</code>.</p>
4728 <p>Pour l'hébergement virtuel en masse à base d'adresse IP, on
4729 utilise une troisième option, <code>UseCanonicalName
4730 DNS</code>, pour supporter les clients anciens qui ne
4731 fournissent pas d'en-tête <code>Host:</code>. Apache httpd effectue alors
4732 une recherche DNS inverse sur l'adresse IP du serveur auquel le
4733 client s'est connecté afin de construire ses URLs
4734 auto-identifiantes.</p>
4736 <div class="warning"><h3>Avertissement</h3>
4737 <p>Les programmes CGI risquent d'être perturbés par cette option
4738 s'ils tiennent compte de la variable <code>SERVER_NAME</code>. Le
4739 client est pratiquement libre de fournir la valeur qu'il veut comme
4740 nom d'hôte. Mais si le programme CGI n'utilise
4741 <code>SERVER_NAME</code> que pour construire des URLs
4742 auto-identifiantes, il ne devrait pas y avoir de problème.</p>
4747 <li><code class="directive"><a href="#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></code></li>
4748 <li><code class="directive"><a href="#servername">ServerName</a></code></li>
4749 <li><code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code></li>
4752 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
4753 <div class="directive-section"><h2><a name="usecanonicalphysicalport" id="usecanonicalphysicalport">Directive</a> <a name="UseCanonicalPhysicalPort" id="UseCanonicalPhysicalPort">UseCanonicalPhysicalPort</a></h2>
4754 <table class="directive">
4755 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la manière dont le serveur
4756 détermine son propre port</td></tr>
4757 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>UseCanonicalPhysicalPort On|Off</code></td></tr>
4758 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>UseCanonicalPhysicalPort Off</code></td></tr>
4759 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
4760 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
4761 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
4763 <p>Dans de nombreuses situations, Apache httpd doit construire une URL
4764 <em>auto-identifiante</em> -- c'est à dire une URL qui fait
4765 référence au serveur lui-même. Avec <code>UseCanonicalPhysicalPort
4766 On</code>, Apache httpd va fournir le numéro de port physique réel utilisé
4767 par la requête en tant que port potentiel, pour construire le port
4768 canonique afin que le serveur puisse alimenter la directive
4769 <code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code>. Avec
4770 <code>UseCanonicalPhysicalPort Off</code>, Apache httpd n'utilisera pas le
4771 numéro de port physique réel, mais au contraire se référera aux
4772 informations de configuration pour construire un numéro de port
4775 <div class="note"><h3>Note</h3>
4776 <p>L'ordre dans lequel s'effectue la recherche quand on utilise le
4777 port physique est le suivant :</p>
4779 <dt><code>UseCanonicalName On</code></dt>
4782 <li>Port indiqué dans <code class="directive"><a href="#servername">Servername</a></code></li>
4783 <li>Port physique</li>
4784 <li>Port par défaut</li>
4787 <dt><code>UseCanonicalName Off | DNS</code></dt>
4790 <li>Port spécifié dans l'en-tête <code>Host:</code></li>
4791 <li>Port physique</li>
4792 <li>Port spécifié par <code class="directive"><a href="#servername">Servername</a></code></li>
4793 <li>Port par défaut</li>
4798 <p>Avec <code>UseCanonicalPhysicalPort Off</code>, on reprend
4799 l'ordre ci-dessus en supprimant "Port physique".</p>
4805 <li><code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code></li>
4806 <li><code class="directive"><a href="#servername">ServerName</a></code></li>
4807 <li><code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code></li>
4810 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
4811 <div class="directive-section"><h2><a name="virtualhost" id="virtualhost">Directive</a> <a name="VirtualHost" id="VirtualHost"><VirtualHost></a></h2>
4812 <table class="directive">
4813 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des directives qui ne s'appliquent qu'à un nom
4814 d'hôte spécifique ou à une adresse IP</td></tr>
4815 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><VirtualHost
4816 <var>adresse IP</var>[:<var>port</var>] [<var>adresse
4817 IP</var>[:<var>port</var>]] ...> ...
4818 </VirtualHost></code></td></tr>
4819 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
4820 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
4821 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
4823 <p>Les balises <code class="directive"><VirtualHost></code> et
4824 <code></VirtualHost></code> permettent de rassembler un groupe
4825 de directives qui ne s'appliquent qu'à un serveur virtuel
4826 particulier. Toute directive autorisée dans un contexte de serveur
4827 virtuel peut être utilisée. Lorsque le serveur reçoit un requête
4828 pour un document hébergé par un serveur virtuel particulier, il
4829 applique les directives de configuration rassemblées dans la section
4830 <code class="directive"><VirtualHost></code>. <var>adresse
4831 IP</var> peut être une des entités suivantes, éventuellement suivies
4832 d'un caractère ':' et d'un numéro de port (ou *) :</p>
4835 <li>L'adresse IP du serveur virtuel ;</li>
4837 <li>Un nom de domaine entièrement qualifié correspondant à
4838 l'adresse IP du serveur virtuel (non recommandé) ;</li>
4840 <li>Le caractère <code>*</code>, qui agit comme un
4841 caractère générique, et correspond à toute adresse IP.</li>
4843 <li>La chaîne <code>_default_</code>, dont la signification est
4844 identique à celle du caractère <code>*</code></li>
4848 <pre class="prettyprint lang-config"><VirtualHost 10.1.2.3:80>
4849 ServerAdmin webmaster@host.example.com
4850 DocumentRoot /www/docs/host.example.com
4851 ServerName host.example.com
4852 ErrorLog logs/host.example.com-error_log
4853 TransferLog logs/host.example.com-access_log
4854 </VirtualHost></pre>
4858 <p>Les adresses IPv6 doivent être entourées de crochets car dans le
4859 cas contraire, un éventuel port optionnel ne pourrait pas être
4860 déterminé. Voici un exemple de serveur virtuel avec adresse IPv6
4863 <pre class="prettyprint lang-config"><VirtualHost [2001:db8::a00:20ff:fea7:ccea]:80>
4864 ServerAdmin webmaster@host.example.com
4865 DocumentRoot /www/docs/host.example.com
4866 ServerName host.example.com
4867 ErrorLog logs/host.example.com-error_log
4868 TransferLog logs/host.example.com-access_log
4869 </VirtualHost></pre>
4872 <p>Chaque serveur virtuel doit correspondre à une adresse IP, un
4873 port ou un nom d'hôte spécifique ; dans le premier cas, le serveur
4874 doit être configuré pour recevoir les paquets IP de plusieurs
4875 adresses (si le serveur n'a qu'une interface réseau, on peut
4876 utiliser à cet effet la commande <code>ifconfig alias</code> -- si
4877 votre système d'exploitation le permet).</p>
4879 <div class="note"><h3>Note</h3>
4880 <p>L'utilisation de la directive <code class="directive"><VirtualHost></code> n'affecte en rien les
4881 adresses IP sur lesquelles Apache httpd est en écoute. Vous devez vous
4882 assurer que les adresses des serveurs virtuels sont bien incluses
4883 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>
4886 <p>Tout bloc <code class="directive"><VirtualHost></code> doit comporter une directive
4887 <code class="directive"><a href="#servername">ServerName</a></code>. Dans le cas
4888 contraire, le serveur virtuel héritera de la valeur de la directive
4889 <code class="directive"><a href="#servername">ServerName</a></code> issue de la
4890 configuration du serveur principal.</p>
4892 <p>A l'arrivée d'une requête, le serveur tente de la
4893 faire prendre en compte par la section <code class="directive"><VirtualHost></code> qui correspond le mieux en ne
4894 se basant que sur la paire adresse IP/port. Les chaînes sans
4895 caractères génériques l'emportent sur celles qui en contiennent. Si
4896 aucune correspondance du point de vue de l'adresse IP/port n'est
4897 trouvée, c'est la configuration du serveur "principal" qui sera
4900 <p>Si plusieurs serveurs virtuels correspondent du point de vue de
4901 l'adresse IP/port, le serveur sélectionne celui qui correspond le
4902 mieux du point de vue du nom d'hôte de la requête. Si aucune
4903 correspondance du point de vue du nom d'hôte n'est trouvée, c'est le
4904 premier serveur virtuel dont l'adresse IP/port correspond qui sera
4905 utilisé. Par voie de conséquence, le premier serveur virtuel
4906 comportant une certaine paire adresse IP/port est le serveur virtuel
4907 par défaut pour cette paire adresse IP/port.</p>
4909 <div class="warning"><h3>Sécurité</h3>
4910 <p>Voir le document sur les <a href="../misc/security_tips.html">conseils à propos de sécurité</a>
4911 pour une description détaillée des raisons pour lesquelles la
4912 sécurité de votre serveur pourrait être compromise, si le répertoire
4913 contenant les fichiers journaux est inscriptible par tout autre
4914 utilisateur que celui qui démarre le serveur.</p>
4919 <li><a href="../vhosts/">Documentation des serveurs virtuels
4920 du serveur HTTP Apache</a></li>
4921 <li><a href="../dns-caveats.html">Problèmes concernant le DNS et
4922 le serveur HTTP Apache</a></li>
4923 <li><a href="../bind.html">Définition des adresses et ports
4924 qu'utilise le serveur HTTP Apache</a></li>
4925 <li><a href="../sections.html">Comment fonctionnent les sections
4926 <Directory>, <Location> et <Files></a> pour une
4927 explication de la manière dont ces différentes sections se combinent
4928 entre elles à la réception d'une requête</li>
4931 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
4932 <div class="directive-section"><h2><a name="warning" id="warning">Directive</a> <a name="Warning" id="Warning">Warning</a></h2>
4933 <table class="directive">
4934 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Message d'avertissement personnalisable en provenance de
4935 l'interprétation du fichier de configuration</td></tr>
4936 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Warning <var>message</var></code></td></tr>
4937 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
4938 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
4939 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
4940 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.5 du serveur HTTP
4943 <p>Cette directive permet de signaler la détection d'un problème de
4944 configuration en générant un message d'avertissement
4945 personnalisable. L'interprétation du fichier de configuration n'est
4946 pas interrompue. Un exemple typique d'utilisation est la
4947 vérification de la définition de certaines options définies par
4948 l'utilisateur, et l'envoi d'un avertissement éventuel.</p>
4950 <pre class="prettyprint lang-config"># Exemple
4951 # signale que ReverseProxy n'est pas défini
4952 <IfDefine !ReverseProxy>
4953 Warning "le mandataire inverse n'a pas été spécifié, veuillez corriger
4957 <IfDefine ReverseProxy>
4958 # définition de la configuration personnalisée du mandataire
4959 </IfDefine></pre>
4965 <div class="bottomlang">
4966 <p><span>Langues Disponibles: </span><a href="../de/mod/core.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
4967 <a href="../en/mod/core.html" hreflang="en" rel="alternate" title="English"> en </a> |
4968 <a href="../es/mod/core.html" hreflang="es" rel="alternate" title="Español"> es </a> |
4969 <a href="../fr/mod/core.html" title="Français"> fr </a> |
4970 <a href="../ja/mod/core.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
4971 <a href="../tr/mod/core.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
4972 </div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
4973 <script type="text/javascript"><!--//--><![CDATA[//><!--
4974 var comments_shortname = 'httpd';
4975 var comments_identifier = 'http://httpd.apache.org/docs/trunk/mod/core.html';
4977 if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
4978 d.write('<div id="comments_thread"><\/div>');
4979 var s = d.createElement('script');
4980 s.type = 'text/javascript';
4982 s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
4983 (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
4986 d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
4988 })(window, document);
4989 //--><!]]></script></div><div id="footer">
4990 <p class="apache">Copyright 2015 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
4991 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
4992 if (typeof(prettyPrint) !== 'undefined') {