]> granicus.if.org Git - apache/blob - docs/manual/mod/core.xml.fr
Rebuild
[apache] / docs / manual / mod / core.xml.fr
1 <?xml version="1.0"?>
2 <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
3 <?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
4 <!-- English Revision: 1610814:1620075 (outdated) -->
5 <!-- French translation : Lucien GENTIS -->
6 <!-- Reviewed by : Vincent Deffontaines -->
7
8 <!--
9  Licensed to the Apache Software Foundation (ASF) under one or more
10  contributor license agreements.  See the NOTICE file distributed with
11  this work for additional information regarding copyright ownership.
12  The ASF licenses this file to You under the Apache License, Version 2.0
13  (the "License"); you may not use this file except in compliance with
14  the License.  You may obtain a copy of the License at
15
16      http://www.apache.org/licenses/LICENSE-2.0
17
18  Unless required by applicable law or agreed to in writing, software
19  distributed under the License is distributed on an "AS IS" BASIS,
20  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21  See the License for the specific language governing permissions and
22  limitations under the License.
23 -->
24
25 <modulesynopsis metafile="core.xml.meta">
26
27 <name>core</name>
28 <description>Fonctionnalit&eacute;s de base du serveur HTTP Apache toujours
29 disponibles</description>
30 <status>Core</status>
31
32 <directivesynopsis>
33 <name>AcceptFilter</name>
34 <description>Permet d'optimiser la configuration d'une socket pour
35 l'&eacute;coute d'un protocole</description>
36 <syntax>AcceptFilter <var>protocole</var> <var>filtre
37 d'acceptation</var></syntax>
38 <contextlist><context>server config</context></contextlist>
39
40 <usage>
41     <p>Cette directive permet d'effectuer une optimisation de la socket
42     d'&eacute;coute d'un type de protocole en fonction du syst&egrave;me
43     d'exploitation. Le but premier est de faire en sorte que le noyau
44     n'envoie pas de socket au processus du serveur jusqu'&agrave; ce que
45     des donn&eacute;es soient re&ccedil;ues, ou qu'une requ&ecirc;te HTTP compl&egrave;te soit mise
46     en tampon. Seuls les <a
47     href="http://www.freebsd.org/cgi/man.cgi?query=accept_filter&amp;
48     sektion=9">Filtres d'acceptation de FreeBSD</a>, le filtre plus
49     primitif <code>TCP_DEFER_ACCEPT</code> sous Linux, et la version
50     optimis&eacute;e d'AcceptEx() de Windows sont actuellement support&eacute;s.</p>
51
52     <p>L'utilisation de l'argument <code>none</code> va d&eacute;sactiver tout
53     filtre d'acceptation pour ce protocole. Ceci s'av&egrave;re utile pour les
54     protocoles qui n&eacute;cessitent l'envoi de donn&eacute;es par le serveur en
55     premier, comme <code>ftp:</code> ou <code>nntp</code>:</p>
56     <highlight language="config">
57     AcceptFilter nntp none
58     </highlight>
59
60     <p>Les noms de protocoles par d&eacute;faut sont <code>https</code> pour le
61     port 443 et <code>http</code> pour tous les autres ports. Pour
62     sp&eacute;cifier un autre protocole &agrave; utiliser avec un port en &eacute;coute,
63     ajoutez l'argument <var>protocol</var> &agrave; la directive <directive
64     module="mpm_common">Listen</directive>.</p>
65
66     <p>Sous FreeBSD, les valeurs par d&eacute;faut sont :</p>
67     <highlight language="config">
68 AcceptFilter http httpready
69 AcceptFilter https dataready
70     </highlight>
71
72     <p>Le filtre d'acceptation <code>httpready</code> met en tampon des
73     requ&ecirc;tes HTTP enti&egrave;res au niveau du noyau. Quand une requ&ecirc;te
74     enti&egrave;re a &eacute;t&eacute; re&ccedil;ue, le noyau l'envoie au serveur. Voir la page de
75     manuel de <a
76     href="http://www.freebsd.org/cgi/man.cgi?query=accf_http&amp;
77     sektion=9">accf_http(9)</a> pour plus de d&eacute;tails. Comme les requ&ecirc;tes
78     HTTPS sont chiffr&eacute;es, celles-ci n'autorisent que le filtre <a
79     href="http://www.freebsd.org/cgi/man.cgi?query=accf_data&amp;
80     sektion=9">accf_data(9)</a>.</p>
81
82     <p>Sous Linux, les valeurs par d&eacute;faut sont :</p>
83     <highlight language="config">
84 AcceptFilter http data
85 AcceptFilter https data
86     </highlight>
87
88     <p>Le filtre <code>TCP_DEFER_ACCEPT</code> de Linux ne supporte pas
89     la mise en tampon des requ&ecirc;tes http. Toute valeur autre que
90     <code>none</code> active le filtre <code>TCP_DEFER_ACCEPT</code>
91     pour ce protocole. Pour plus de d&eacute;tails, voir la page de
92     manuel Linux de <a
93     href="http://homepages.cwi.nl/~aeb/linux/man2html/man7/
94     tcp.7.html">tcp(7)</a>.</p>
95
96     <p>Sous Windows, les valeurs par d&eacute;faut sont :</p>
97     <highlight language="config">
98 AcceptFilter http data
99 AcceptFilter https data
100     </highlight>
101
102     <p>Le module MPM pour Windows mpm_winnt utilise la directive
103     AcceptFilter comme commutateur de l'API AcceptEx(), et ne supporte
104     pas la mise en tampon du protocole http. Deux valeurs utilisent
105     l'API Windows AcceptEx() et vont recycler les sockets r&eacute;seau entre
106     les connexions. <code>data</code> attend jusqu'&agrave; ce que les donn&eacute;es
107     aient &eacute;t&eacute; transmises comme d&eacute;crit plus haut, et le tampon de donn&eacute;es
108     initiales ainsi que les adresses r&eacute;seau finales sont tous extraits
109     gr&acirc;ce &agrave; une seule invocation d'AcceptEx(). <code>connect</code>
110     utilise l'API AcceptEx(), extrait aussi les adresses r&eacute;seau finales,
111     mais &agrave; l'instar de <code>none</code>, la valeur <code>connect</code>
112     n'attend pas la transmission des donn&eacute;es initiales.</p>
113
114     <p>Sous Windows, <code>none</code> utilise accept() au lieu
115     d'AcceptEx(), et ne recycle pas les sockets entre les connexions.
116     Ceci s'av&egrave;re utile pour les interfaces r&eacute;seau dont le pilote est
117     d&eacute;fectueux, ainsi que pour certains fournisseurs de r&eacute;seau comme les
118     pilotes vpn, ou les filtres anti-spam, anti-virus ou
119     anti-spyware.</p>
120
121 </usage>
122 <seealso><directive module="core">Protocol</directive></seealso>
123 </directivesynopsis>
124
125 <directivesynopsis>
126 <name>AcceptPathInfo</name>
127 <description>Les ressources acceptent des informations sous forme d'un
128 nom de chemin en fin de requ&ecirc;te.</description>
129 <syntax>AcceptPathInfo On|Off|Default</syntax>
130 <default>AcceptPathInfo Default</default>
131 <contextlist><context>server config</context>
132 <context>virtual host</context><context>directory</context>
133 <context>.htaccess</context></contextlist>
134 <override>FileInfo</override>
135
136 <usage>
137
138     <p>Cette directive permet de d&eacute;finir si les requ&ecirc;tes contenant des
139     informations sous forme d'un nom de chemin suivant le nom d'un
140     fichier r&eacute;el (ou un fichier qui n'existe pas dans un r&eacute;pertoire qui
141     existe) doivent &ecirc;tre accept&eacute;es ou rejet&eacute;es. Les scripts peuvent
142     acc&eacute;der &agrave; cette information via la variable d'environnement
143     <code>PATH_INFO</code>.</p>
144
145     <p>Supposons par exemple que <code>/test/</code> pointe vers un
146     r&eacute;pertoire qui ne contient que le fichier <code>here.html</code>.
147     Les requ&ecirc;tes pour <code>/test/here.html/more</code> et
148     <code>/test/nothere.html/more</code> vont affecter la valeur
149     <code>/more</code> &agrave; la variable d'environnement
150     <code>PATH_INFO</code>.</p>
151
152     <p>L'argument de la directive <directive>AcceptPathInfo</directive>
153     poss&egrave;de trois valeurs possibles :</p>
154     <dl>
155     <dt><code>Off</code></dt><dd>Une requ&ecirc;te ne sera accept&eacute;e que si
156     elle correspond &agrave; un chemin qui existe. Par cons&eacute;quent, une requ&ecirc;te
157     contenant une information de chemin apr&egrave;s le nom de fichier r&eacute;el
158     comme <code>/test/here.html/more</code> dans l'exemple ci-dessus
159     renverra une erreur "404 NOT FOUND".</dd>
160
161     <dt><code>On</code></dt><dd>Une requ&ecirc;te sera accept&eacute;e si la partie
162     principale du chemin correspond &agrave; un fichier existant. Dans
163     l'exemple ci-dessus <code>/test/here.html/more</code>, la requ&ecirc;te
164     sera accept&eacute;e si <code>/test/here.html</code> correspond &agrave; un nom de
165     fichier valide.</dd>
166
167     <dt><code>Default</code></dt><dd>Le traitement des requ&ecirc;tes est
168     d&eacute;termin&eacute; par le <a
169     href="../handler.html">gestionnaire</a> responsable de la requ&ecirc;te.
170     Le gestionnaire de base pour les fichiers normaux rejette par d&eacute;faut
171     les requ&ecirc;tes avec <code>PATH_INFO</code>. Les gestionnaires qui
172     servent des scripts, comme<a
173     href="mod_cgi.html">cgi-script</a> et <a
174     href="mod_isapi.html">isapi-handler</a>, acceptent en g&eacute;n&eacute;ral par
175     d&eacute;faut les requ&ecirc;tes avec <code>PATH_INFO</code>.</dd>
176     </dl>
177
178     <p>Le but premier de la directive <code>AcceptPathInfo</code> est de
179     vous permettre de remplacer le choix du gestionnaire d'accepter ou
180     de rejeter <code>PATH_INFO</code>. Ce remplacement est n&eacute;cessaire
181     par exemple, lorsque vous utilisez un <a
182     href="../filter.html">filtre</a>, comme <a
183     href="mod_include.html">INCLUDES</a>, pour g&eacute;n&eacute;rer un contenu bas&eacute;
184     sur <code>PATH_INFO</code>. Le gestionnaire de base va en g&eacute;n&eacute;ral
185     rejeter la requ&ecirc;te, et vous pouvez utiliser la configuration
186     suivante pour utiliser un tel script :</p>
187 <highlight language="config">
188 &lt;Files "mypaths.shtml"&gt;
189   Options +Includes
190   SetOutputFilter INCLUDES
191   AcceptPathInfo On
192 &lt;/Files&gt;
193     </highlight>
194     
195
196 </usage>
197 </directivesynopsis>
198
199 <directivesynopsis>
200 <name>AccessFileName</name>
201 <description>Nom du fichier de configuration distribu&eacute;</description>
202 <syntax>AccessFileName <var>nom-du-fichier</var>
203 [<var>nom-du-fichier</var>] ...</syntax>
204 <default>AccessFileName .htaccess</default>
205 <contextlist><context>server config</context><context>virtual
206 host</context>
207 </contextlist>
208
209 <usage>
210     <p>Au cours du traitement d'une requ&ecirc;te, le serveur recherche le
211     premier fichier de configuration existant &agrave; partir de la liste
212     de noms dans chaque r&eacute;pertoire composant le chemin du document, &agrave;
213     partir du moment o&ugrave; les fichiers de configuration distribu&eacute;s sont <a
214     href="#allowoverride">activ&eacute;s pour ce r&eacute;pertoire</a>. Par exemple
215     :</p>
216
217     <highlight language="config">AccessFileName .acl</highlight>
218
219     <p>avant de renvoyer le document
220     <code>/usr/local/web/index.html</code>, le serveur va rechercher les
221     fichiers <code>/.acl</code>, <code>/usr/.acl</code>,
222     <code>/usr/local/.acl</code> et <code>/usr/local/web/.acl</code>
223     pour y lire d'&eacute;ventuelles directives, &agrave; moins quelles n'aient &eacute;t&eacute;
224     d&eacute;sactiv&eacute;es avec</p>
225
226     <highlight language="config">
227 &lt;Directory /&gt;
228     AllowOverride None
229 &lt;/Directory&gt;
230     </highlight>
231 </usage>
232 <seealso><directive module="core">AllowOverride</directive></seealso>
233 <seealso><a href="../configuring.html">Fichiers de configuration</a></seealso>
234 <seealso><a href="../howto/htaccess.html">Fichiers .htaccess</a></seealso>
235 </directivesynopsis>
236
237 <directivesynopsis>
238 <name>AddDefaultCharset</name>
239 <description>Param&egrave;tre jeu de caract&egrave;res par d&eacute;faut &agrave; ajouter quand le
240 type de contenu d'une r&eacute;ponse est <code>text/plain</code> ou
241 <code>text/html</code></description>
242 <syntax>AddDefaultCharset On|Off|<var>jeu de caract&egrave;res</var></syntax>
243 <default>AddDefaultCharset Off</default>
244 <contextlist><context>server config</context>
245 <context>virtual host</context><context>directory</context>
246 <context>.htaccess</context></contextlist>
247 <override>FileInfo</override>
248
249 <usage>
250     <p>Cette directive sp&eacute;cifie une valeur par d&eacute;faut pour le param&egrave;tre
251     jeu de caract&egrave;res du type de m&eacute;dia (le nom d'un codage de
252     caract&egrave;res) &agrave; ajouter &agrave; une r&eacute;ponse, si et seulement si le type de
253     contenu de la r&eacute;ponse est soit <code>text/plain</code>, soit
254     <code>text/html</code>. Ceci va remplacer
255     tout jeu de caract&egrave;res sp&eacute;cifi&eacute; dans le corps de la r&eacute;ponse via un
256     &eacute;l&eacute;ment <code>META</code>, bien que cet effet d&eacute;pende en fait
257     souvent de la configuration du client de l'utilisateur. La
258     d&eacute;finition de <code>AddDefaultCharset Off</code> d&eacute;sactive cette
259     fonctionnalit&eacute;. <code>AddDefaultCharset On</code> ajoute un jeu de
260     caract&egrave;res par d&eacute;faut de <code>iso-8859-1</code>. Toute autre valeur
261     peut &ecirc;tre d&eacute;finie via le param&egrave;tre <var>jeu de caract&egrave;res</var>, qui
262     doit appartenir &agrave; la liste des <a
263     href="http://www.iana.org/assignments/character-sets">valeurs de
264     jeux de caract&egrave;res enregistr&eacute;s par l'IANA</a> &agrave; utiliser dans les
265     types de m&eacute;dia Internet (types MIME).
266     Par exemple :</p>
267
268     <highlight language="config">AddDefaultCharset utf-8</highlight>
269
270     <p>La directive <directive>AddDefaultCharset</directive> ne doit
271     &ecirc;tre utilis&eacute;e que lorsque toutes les ressources textes auxquelles
272     elle s'applique poss&egrave;dent le jeu de caract&egrave;re sp&eacute;cifi&eacute;, et qu'il est
273     trop contraignant de d&eacute;finir leur jeu de caract&egrave;res
274     individuellement. Un exemple de ce type est l'ajout du param&egrave;tre jeu
275     de caract&egrave;res aux ressources comportant un contenu g&eacute;n&eacute;r&eacute;, comme les
276     scripts CGI h&eacute;rit&eacute;s qui peuvent &ecirc;tre vuln&eacute;rables &agrave; des attaques de
277     type cross-site scripting &agrave; cause des donn&eacute;es utilisateurs incluses
278     dans leur sortie. Notez cependant qu'une meilleur solution consiste
279     &agrave; corriger (ou supprimer) ces scripts, car la d&eacute;finition d'un jeu de
280     caract&egrave;res par d&eacute;faut ne prot&egrave;ge pas les utilisateurs qui ont activ&eacute;
281     la fonctionnalit&eacute; "D&eacute;tection automatique de l'encodage des
282     caract&egrave;res" dans leur navigateur.</p>
283 </usage>
284 <seealso><directive module="mod_mime">AddCharset</directive></seealso>
285 </directivesynopsis>
286
287 <directivesynopsis>
288 <name>AllowEncodedSlashes</name>
289 <description>D&eacute;termine si les s&eacute;parateurs de chemin encod&eacute;s sont
290 autoris&eacute;s &agrave; transiter dans les URLs tels quels</description>
291 <syntax>AllowEncodedSlashes On|Off|NoDecode</syntax>
292 <default>AllowEncodedSlashes Off</default>
293 <contextlist><context>server config</context><context>virtual
294 host</context>
295 </contextlist>
296 <compatibility>L'option NoDecode est disponible depuis la version
297 2.3.12.</compatibility>
298
299 <usage>
300     <p>La directive <directive>AllowEncodedSlashes</directive> permet
301     l'utilisation des URLs contenant des s&eacute;parateurs de chemin
302     encod&eacute;s dans la partie chemin
303     (<code>%2F</code> pour <code>/</code> et m&ecirc;me <code>%5C</code> pour
304     <code>\</code> sur les syst&egrave;mes concern&eacute;s).</p>
305
306     <p>Avec la valeur par d&eacute;faut, <code>Off</code>, de telles URLs sont
307     refus&eacute;es et provoquent le renvoi d'une erreur 404 (Not found).</p>
308
309     <p>Avec la valeur <code>On</code>, ces URLs sont accept&eacute;es, et les
310     slashes encod&eacute;s sont d&eacute;cod&eacute;s comme tout autre caract&egrave;re cod&eacute;.</p>
311
312     <p>Avec la valeur <code>NoDecode</code>, ces URLs sont accept&eacute;es,
313     mais les slashes cod&eacute;s ne sont pas d&eacute;cod&eacute;s et laiss&eacute;s dans leur &eacute;tat
314     cod&eacute;.</p>
315
316     <p>D&eacute;finir <directive>AllowEncodedSlashes</directive> &agrave;
317     <code>On</code> est surtout utile en association avec
318     <code>PATH_INFO</code>.</p>
319
320     <note><title>Note</title>
321       <p>Si le codage des slashes dans la partie chemin est n&eacute;cessaire,
322       l'utilisation de l'option <code>NoDecode</code> est fortement
323       recommand&eacute;e par mesure de s&eacute;curit&eacute;. Permettre le d&eacute;codage des
324       slashes pourrait &eacute;ventuellement induire l'autorisation de chemins
325       non s&ucirc;rs.</p>
326     </note>
327 </usage>
328 <seealso><directive module="core">AcceptPathInfo</directive></seealso>
329 </directivesynopsis>
330
331 <directivesynopsis>
332 <name>AllowOverride</name>
333 <description>Types de directives autoris&eacute;es dans les fichiers
334 <code>.htaccess</code></description>
335 <syntax>AllowOverride All|None|<var>type directive</var>
336 [<var>type directive</var>] ...</syntax>
337 <default>AllowOverride None &agrave; partir de la version 2.3.9, AllowOverride
338 All pour les versions ant&eacute;rieures</default>
339 <contextlist><context>directory</context></contextlist>
340
341 <usage>
342     <p>Lorsque le serveur trouve un fichier <code>.htaccess</code> (dont
343     le nom est d&eacute;fini par la directive <directive
344     module="core">AccessFileName</directive>), il doit savoir lesquelles
345     des directives plac&eacute;es dans ce fichier sont autoris&eacute;es &agrave; modifier la
346     configuration pr&eacute;existante.</p>
347
348     <note><title>Valable seulement dans les sections
349     &lt;Directory&gt;</title>
350     La directive <directive>AllowOverride</directive> ne peut &ecirc;tre
351     utilis&eacute;e que dans les sections <directive type="section"
352     module="core">Directory</directive> d&eacute;finies sans expressions
353     rationnelles, et non dans les sections <directive
354     type="section" module="core">Location</directive>, <directive
355     module="core" type="section">DirectoryMatch</directive> ou
356     <directive type="section" module="core">Files</directive>.
357     </note>
358
359     <p>Lorsque cette directive et la directive <directive
360     module="core">AllowOverrideList</directive> sont d&eacute;finies &agrave; <code>None</code>, les
361     fichiers <a href="#accessfilename">.htaccess</a> sont totalement
362     ignor&eacute;s. Dans ce cas, le serveur n'essaiera m&ecirc;me pas de lire les
363     fichiers <code>.htaccess</code> du syst&egrave;me de fichiers.</p>
364
365     <p>Lorsque cette directive est d&eacute;finie &agrave; <code>All</code>, toute
366     directive valable dans le <a
367     href="directive-dict.html#Context">Contexte</a> .htaccess sera
368     autoris&eacute;e dans les fichiers <code>.htaccess</code>.</p>
369
370     <p>L'argument <var>type directive</var> peut contenir les
371     groupements de directives suivants :</p>
372
373     <dl>
374       <dt>AuthConfig</dt>
375
376       <dd>
377
378       Permet l'utilisation des directives d'autorisation (<directive
379       module="mod_authz_dbm">AuthDBMGroupFile</directive>,
380       <directive module="mod_authn_dbm">AuthDBMUserFile</directive>,
381       <directive module="mod_authz_groupfile">AuthGroupFile</directive>,
382       <directive module="mod_authn_core">AuthName</directive>,
383       <directive module="mod_authn_core">AuthType</directive>, <directive
384       module="mod_authn_file">AuthUserFile</directive>, <directive
385       module="mod_authz_core">Require</directive>, <em>etc...</em>).</dd>
386
387       <dt>FileInfo</dt>
388
389       <dd>
390       Permet l'utilisation des directives qui contr&ocirc;lent les types de
391       documents (directives  <directive
392       module="core">ErrorDocument</directive>, <directive
393       module="core">ForceType</directive>, <directive
394       module="mod_negotiation">LanguagePriority</directive>,
395       <directive module="core">SetHandler</directive>, <directive
396       module="core">SetInputFilter</directive>, <directive
397       module="core">SetOutputFilter</directive>, et directives du
398       module <module>mod_mime</module> Add* et Remove*), des metadonn&eacute;es
399       des documents (<directive
400       module="mod_headers">Header</directive>, <directive
401       module="mod_headers">RequestHeader</directive>, <directive
402       module="mod_setenvif">SetEnvIf</directive>, <directive
403       module="mod_setenvif">SetEnvIfNoCase</directive>, <directive
404       module="mod_setenvif">BrowserMatch</directive>, <directive
405       module="mod_usertrack">CookieExpires</directive>, <directive
406       module="mod_usertrack">CookieDomain</directive>, <directive
407       module="mod_usertrack">CookieStyle</directive>, <directive
408       module="mod_usertrack">CookieTracking</directive>, <directive
409       module="mod_usertrack">CookieName</directive>), des directives du
410       module <module>mod_rewrite</module> directives (<directive
411       module="mod_rewrite">RewriteEngine</directive>, <directive
412       module="mod_rewrite">RewriteOptions</directive>, <directive
413       module="mod_rewrite">RewriteBase</directive>, <directive
414       module="mod_rewrite">RewriteCond</directive>, <directive
415       module="mod_rewrite">RewriteRule</directive>), des directives du
416       module <module>mod_alias</module> directives (<directive
417       module="mod_alias">Redirect</directive>, <directive
418       module="mod_alias">RedirectTemp</directive>, <directive
419       module="mod_alias">RedirectPermanent</directive>, <directive
420       module="mod_alias">RedirectMatch</directive>), et de la directive
421       <directive module="mod_actions">Action</directive> du module
422       <module>mod_actions</module>.
423       </dd>
424
425       <dt>Indexes</dt>
426
427       <dd>
428       Permet l'utilisation des directives qui contr&ocirc;lent l'indexation
429       des r&eacute;pertoires (<directive
430       module="mod_autoindex">AddDescription</directive>,
431       <directive module="mod_autoindex">AddIcon</directive>, <directive
432       module="mod_autoindex">AddIconByEncoding</directive>,
433       <directive module="mod_autoindex">AddIconByType</directive>,
434       <directive module="mod_autoindex">DefaultIcon</directive>, <directive
435       module="mod_dir">DirectoryIndex</directive>, <directive
436       module="mod_dir">FallbackResource</directive>, <a
437       href="mod_autoindex.html#indexoptions.fancyindexing"><code>FancyIndexing</code></a>,
438       <directive
439       module="mod_autoindex">HeaderName</directive>, <directive
440       module="mod_autoindex">IndexIgnore</directive>, <directive
441       module="mod_autoindex">IndexOptions</directive>, <directive
442       module="mod_autoindex">ReadmeName</directive>,
443       <em>etc...</em>).</dd>
444
445       <dt>Limit</dt>
446
447       <dd>
448       Permet l'utilisation des directives contr&ocirc;lant l'acc&egrave;s au serveur
449       (<directive
450       module="mod_access_compat">Allow</directive>, <directive
451       module="mod_access_compat">Deny</directive> et <directive
452       module="mod_access_compat">Order</directive>).</dd>
453
454 <!-- TODO - Update this for 2.4 syntax -->
455
456
457
458
459       <dt>Nonfatal=[Override|Unknown|All]</dt>
460
461       <dd>
462       Permet d'utiliser l'option AllowOverride pour rendre les erreurs
463       de syntaxe non fatales dans les fichiers .htaccess : au lieu de
464       causer une Internal Server Error, les directives non autoris&eacute;es ou
465       non reconnues seront ignor&eacute;es et un avertissement enregistr&eacute; dans
466       le journal :
467       <ul>
468           <li><strong>Nonfatal=Override</strong> rend les directives
469           interdite par AllowOverride non fatales.</li>
470           <li><strong>Nonfatal=Unknown</strong> rend les directives
471           inconnues non fatales. Sont concern&eacute;es les erreurs de frappe
472           et les directives impl&eacute;ment&eacute;es par un module non charg&eacute;.</li>
473           <li><strong>Nonfatal=All</strong> rend toutes les directives
474           pr&eacute;c&eacute;dentes non fatales.</li>
475       </ul>
476       <p>Notez qu'une erreur de syntaxe dans une directive valide
477       causera toujours une internal server error.</p>
478       <note type="warning"><title>S&eacute;curit&eacute;</title>
479           Les erreurs non fatales peuvent &ecirc;tre &agrave; l'origine de probl&egrave;mes
480           de s&eacute;curit&eacute; pour les utilisateurs de fichiers .htaccess. Par
481           exemple, si AllowOverride interdit AuthConfig, toute
482           configuration utilisateur destin&eacute;e &agrave; restreindre l'acc&egrave;s &agrave; un
483           site ne sera pas prise en compte.
484       </note>
485       </dd>
486
487       <dt>Options[=<var>Option</var>,...]</dt>
488
489       <dd>
490       Permet l'utilisation des directives contr&ocirc;lant les fonctionnalit&eacute;s
491       sp&eacute;cifiques d'un r&eacute;pertoire (<directive
492       module="core">Options</directive> et <directive
493       module="mod_include">XBitHack</directive>). "Options" doit &ecirc;tre
494       suivi d'un signe "&eacute;gal", puis d'une liste d'options s&eacute;par&eacute;es par des
495       virgules (pas d'espaces) ; ces options doivent &ecirc;tre d&eacute;finies &agrave;
496       l'aide de la commande <directive
497       module="core">Options</directive>.
498
499       <note><title>D&eacute;sactivation implicite des options</title>
500       <p>Bien que la liste des options disponibles dans les fichiers
501       .htaccess puisse &ecirc;tre limit&eacute;e par cette directive, tant qu'un
502       directive <directive module="core">Options</directive> est
503       autoris&eacute;e, toute autre option h&eacute;rit&eacute;e peut &ecirc;tre d&eacute;sactiv&eacute;e en
504       utilisant la syntaxe non-relative. En d'autres termes, ce
505       m&eacute;canisme ne peut pas forcer une option sp&eacute;cifique &agrave; rester
506       <em>activ&eacute;e</em> tout en permettant &agrave; toute autre option d'&ecirc;tre
507       activ&eacute;e.
508       </p></note>
509
510       <example>
511       AllowOverride Options=Indexes,MultiViews
512       </example>
513       
514       </dd>
515     </dl>
516
517     <p>Exemple :</p>
518
519     <highlight language="config">AllowOverride AuthConfig Indexes</highlight>
520
521     <p>Dans l'exemple ci-dessus, toutes les directives qui ne font
522     partie ni du groupe <code>AuthConfig</code>, ni du groupe
523     <code>Indexes</code>, provoquent une erreur "internal
524     server error".</p>
525
526     <note><p>Pour des raisons de s&eacute;curit&eacute; et de performance, ne
527     d&eacute;finissez pas <code>AllowOverride</code> &agrave; autre chose que
528     <code>None</code> dans votre bloc <code>&lt;Directory /&gt;</code>.
529     Recherchez plut&ocirc;t (ou cr&eacute;ez) le bloc <code>&lt;Directory&gt;</code>
530     qui se r&eacute;f&egrave;re au r&eacute;pertoire o&ugrave; vous allez pr&eacute;cis&eacute;ment placer un
531     fichier <code>.htaccess</code>.</p>
532     </note>
533 </usage>
534 <seealso><directive module="core">AccessFileName</directive></seealso>
535 <seealso><directive module="core">AllowOverrideList</directive></seealso>
536 <seealso><a href="../configuring.html">Fichiers de configuration</a></seealso>
537 <seealso><a href="../howto/htaccess.html">Fichiers .htaccess</a></seealso>
538 </directivesynopsis>
539
540 <directivesynopsis>
541 <name>AllowOverrideList</name>
542 <description>Directives autoris&eacute;es dans les fichiers <code>.htaccess</code></description>
543 <syntax>AllowOverrideList None|<var>directive</var>
544 [<var>directive-type</var>] ...</syntax>
545 <default>AllowOverrideList None</default>
546 <contextlist><context>directory</context></contextlist>
547
548 <usage>
549     <p>Lorsque le serveur trouve un fichier <code>.htaccess</code>
550     (comme sp&eacute;cifi&eacute; par la directive <directive
551     module="core">AccessFileName</directive>), il doit savoir lesquelles
552     des directives d&eacute;clar&eacute;es dans ce fichier peuvent remplacer des
553     directives des fichiers de configuration du serveur.</p>
554
555     <note><title>Seulement disponible dans les sections &lt;Directory&gt;</title>
556     La directive <directive>AllowOverrideList</directive> n'est
557     disponible que dans les sections <directive type="section"
558     module="core">Directory</directive> sp&eacute;cifi&eacute;es sans expressions
559     rationnelles.
560     </note>
561
562     <p>Lorsque cette directive et la directive <directive
563     module="core">AllowOverride</directive> sont d&eacute;finies &agrave;
564     <code>None</code>, les fichiers <a
565     href="#accessfilename">.htaccess</a> sont totalement ignor&eacute;s. Dans
566     ce cas, le serveur ne cherchera m&ecirc;me pas &agrave; lire des fichiers
567     <code>.htaccess</code> dans le syst&egrave;me de fichiers.</p>
568
569     <p>Example:</p>
570
571     <highlight language="config">
572 AllowOverride None
573 AllowOverrideList Redirect RedirectMatch
574     </highlight>
575
576     <p>Dans l'exemple ci-dessus, seules les directives
577     <code>Redirect</code> et <code>RedirectMatch</code> sont autoris&eacute;es.
578     Toutes les autres provoqueront une erreur interne du serveur.</p>
579
580     <p>Example:</p>
581
582     <highlight language="config">
583 AllowOverride AuthConfig
584 AllowOverrideList CookieTracking CookieName
585     </highlight>
586
587     <p>Dans l'exemple ci-dessus, la directive <directive
588     module="core">AllowOverride</directive> autorise les directives du
589     groupement <code>AuthConfig</code>, et
590     <directive>AllowOverrideList</directive> n'autorise que deux
591     directives du groupement <code>FileInfo</code>. Toutes les autres
592     provoqueront une erreur interne du serveur.</p>
593 </usage>
594
595 <seealso><directive module="core">AccessFileName</directive></seealso>
596 <seealso><directive module="core">AllowOverride</directive></seealso>
597 <seealso><a href="../configuring.html">Fichiers de configuration</a></seealso>
598 <seealso><a href="../howto/htaccess.html">Fichiers .htaccess</a></seealso>
599 </directivesynopsis>
600
601 <directivesynopsis>
602 <name>CGIMapExtension</name>
603 <description>Technique permettant de localiser l'interpr&eacute;teur des
604 scripts CGI</description>
605 <syntax>CGIMapExtension <var>chemin CGI</var> <var>.extension</var></syntax>
606 <contextlist><context>directory</context><context>.htaccess</context>
607 </contextlist>
608 <override>FileInfo</override>
609 <compatibility>NetWare uniquement</compatibility>
610
611 <usage>
612     <p>Cette directive permet de contr&ocirc;ler la mani&egrave;re dont Apache httpd trouve
613     l'interpr&eacute;teur servant &agrave; ex&eacute;cuter les scripts CGI. Par exemple, avec
614     la d&eacute;finition <code>CGIMapExtension sys:\foo.nlm .foo</code>, tous
615     les fichiers scripts CGI poss&eacute;dant une extension <code>.foo</code>
616     seront pass&eacute;s &agrave; l'interpr&eacute;teur FOO.</p>
617 </usage>
618 </directivesynopsis>
619
620 <directivesynopsis>
621 <name>ContentDigest</name>
622 <description>Active la g&eacute;n&eacute;ration d'un en-t&ecirc;te <code>Content-MD5</code>
623 dans la r&eacute;ponse HTTP</description>
624 <syntax>ContentDigest On|Off</syntax>
625 <default>ContentDigest Off</default>
626 <contextlist><context>server config</context><context>virtual
627 host</context>
628 <context>directory</context><context>.htaccess</context>
629 </contextlist>
630 <override>Options</override>
631 <status>Exp&eacute;rimental</status>
632
633 <usage>
634     <p>Cette directive active la g&eacute;n&eacute;ration d'un en-t&ecirc;te
635     <code>Content-MD5</code> selon les d&eacute;finitions des RFC 1864 et
636     2616.</p>
637
638     <p>MD5 est un algorithme permettant de g&eacute;n&eacute;rer un condens&eacute; (parfois
639     appel&eacute; "empreinte") &agrave; partir de donn&eacute;es d'une taille al&eacute;atoire ; le
640     degr&eacute; de pr&eacute;cision est tel que la moindre alt&eacute;ration des donn&eacute;es
641     d'origine entra&icirc;ne une alt&eacute;ration de l'empreinte.</p>
642
643     <p>L'en-t&ecirc;te <code>Content-MD5</code> permet de v&eacute;rifier
644     l'int&eacute;grit&eacute; de la r&eacute;ponse HTTP dans son ensemble. Un serveur mandataire
645     ou un client peut utiliser cet en-t&ecirc;te pour rechercher une
646     &eacute;ventuelle modification accidentelle de la r&eacute;ponse au cours de sa
647     transmission. Exemple d'en-t&ecirc;te :</p>
648
649     <example>
650       Content-MD5: AuLb7Dp1rqtRtxz2m9kRpA==
651     </example>
652
653     <p>Notez que des probl&egrave;mes de performances peuvent affecter votre
654     serveur, car l'empreinte est g&eacute;n&eacute;r&eacute;e pour chaque requ&ecirc;te (il n'y a
655     pas de mise en cache).</p>
656
657     <p>L'en-t&ecirc;te <code>Content-MD5</code> n'est envoy&eacute; qu'avec les
658     documents servis par le module <module>core</module>, &agrave; l'exclusion
659     de tout autre module. Ainsi, les documents SSI, les sorties de
660     scripts CGI, et les r&eacute;ponses &agrave; des requ&ecirc;tes partielles (byte range)
661     ne comportent pas cet en-t&ecirc;te.</p>
662 </usage>
663 </directivesynopsis>
664
665 <directivesynopsis>
666 <name>DefaultRuntimeDir</name>
667 <description>R&eacute;pertoire de base des fichiers cr&eacute;&eacute;s au cours de l'ex&eacute;cution du serveur</description>
668 <syntax>DefaultRuntimeDir <var>chemin-r&eacute;pertoire</var></syntax>
669 <default>DefaultRuntimeDir DEFAULT_REL_RUNTIMEDIR (logs/)</default>
670 <contextlist><context>server config</context></contextlist>
671 <compatibility>Disponible depuis de la version 2.4.2 du serveur HTTP
672 Apache</compatibility>
673
674 <usage>
675     <p>La directive <directive>DefaultRuntimeDir</directive> permet de
676     d&eacute;finir le r&eacute;pertoire dans lequel le serveur va cr&eacute;er les diff&eacute;rents
677     fichiers relatifs &agrave; son ex&eacute;cution (m&eacute;moire partag&eacute;e, verrous,
678     etc...). Si le chemin sp&eacute;cifi&eacute; est relatif, le chemin absolu sera
679     g&eacute;n&eacute;r&eacute; relativement &agrave; la valeur de la directive
680     <directive>ServerRoot</directive>.</p>
681
682     <p><strong>Example</strong></p>
683    <highlight language="config">
684 DefaultRuntimeDir scratch/
685     </highlight>
686
687     <p>La valeur par d&eacute;faut de la directive
688     <directive>DefaultRuntimeDir</directive> peut &ecirc;tre modifi&eacute;e en
689     changeant la valeur de la macro <code>DEFAULT_REL_RUNTIMEDIR</code>
690     d&eacute;finie &agrave; la compilation.</p>
691
692    <p>Note: si la valeur de <directive>ServerRoot</directive> n'a pas
693    &eacute;t&eacute; sp&eacute;cifi&eacute;e avant d'utiliser cette directive, c'est la valeur par
694    d&eacute;faut de <directive>ServerRoot</directive> qui sera utilis&eacute;e pour
695    d&eacute;finir la base du r&eacute;pertoire.</p>
696
697 </usage>
698 <seealso>Voir les <a
699 href="../misc/security_tips.html#serverroot">conseils &agrave; propos de
700 s&eacute;surit&eacute;</a> pour plus d'informations en vue de d&eacute;finir correctement les
701 permissions sur la racine du serveur <directive>ServerRoot</directive></seealso>
702 </directivesynopsis>
703
704 <directivesynopsis>
705 <name>DefaultType</name>
706 <description>Les seuls effets de cette directive sont des &eacute;missions
707 d'avertissements si sa valeur est diff&eacute;rente de <code>none</code>. Dans
708 les versions pr&eacute;c&eacute;dentes, DefaultType permettait de sp&eacute;cifier un type de
709 m&eacute;dia &agrave; assigner par d&eacute;faut au contenu d'une r&eacute;ponse pour lequel aucun
710 autre type de m&eacute;dia n'avait &eacute;t&eacute; trouv&eacute;.
711 </description>
712 <syntax>DefaultType <var>type m&eacute;dia|none</var></syntax>
713 <default>DefaultType none</default>
714 <contextlist><context>server config</context><context>virtual
715 host</context>
716 <context>directory</context><context>.htaccess</context>
717 </contextlist>
718 <override>FileInfo</override>
719 <compatibility>Tous les arguments, except&eacute; <code>none</code>, sont
720 DESACTIV&Eacute;S &agrave; partir de la version 2.3.0.</compatibility>
721
722 <usage>
723     <p>Cette directive a &eacute;t&eacute; d&eacute;sactiv&eacute;e. Pour la compatibilit&eacute;
724     ascendante avec les anciens fichiers de configuration, elle peut
725     &ecirc;tre sp&eacute;cifi&eacute;e avec la valeur <code>none</code>, c'est &agrave; dire sans
726     type de m&eacute;dium par d&eacute;faut. Par exemple :</p>
727
728     <highlight language="config">DefaultType None</highlight>
729
730     <p><code>DefaultType None</code> n'est disponible que dans les
731     versions d'Apache 2.2.7 et sup&eacute;rieures.</p>
732
733     <p>Utilisez le fichier de configuration mime.types et la directive
734     <directive module="mod_mime">AddType</directive> pour configurer
735     l'assignement d'un type de m&eacute;dium via les extensions de fichiers, ou
736     la directive <directive module="core">ForceType</directive> pour
737     attribuer un type de m&eacute;dium &agrave; des ressources sp&eacute;cifiques. Dans le
738     cas contraire, le serveur enverra sa r&eacute;ponse sans champ d'en-t&ecirc;te
739     Content-Type, et le destinataire devra d&eacute;terminer lui-m&ecirc;me le type
740     de m&eacute;dium.</p>
741 </usage>
742 </directivesynopsis>
743
744 <directivesynopsis>
745 <name>Define</name>
746 <description>Permet de d&eacute;finir une variable</description>
747 <syntax>Define <var>nom-param&egrave;tre</var> [<var>valeur-param&egrave;tre</var>]</syntax>
748 <contextlist><context>server config</context><context>virtual host</context>
749 <context>directory</context></contextlist>
750
751 <usage>
752     <p>Avec un seul param&egrave;tre, l'effet de la directive
753     <directive>Define</directive> est identique &agrave; celui de l'argument
754     <code>-D</code> du programme <program>httpd</program>. Il permet de
755     modifier le comportement des sections <directive module="core"
756     type="section">IfDefine</directive> sans avoir &agrave; ajouter d'argument
757     <code>-D</code> au sein des scripts de d&eacute;marrage.</p>
758
759     <p>De plus, le second param&egrave;tre permet d'affecter une valeur &agrave; la
760     variable d&eacute;finie par le premier. Cette variable peut &ecirc;tre r&eacute;f&eacute;renc&eacute;e
761     dans le fichier de configuration via la syntaxe <code>${VAR}</code>.
762     La port&eacute;e de la variable est toujours globale, et n'est jamais
763     limit&eacute;e &agrave; la section de configuration courante.</p>
764
765     <highlight language="config">
766 &lt;IfDefine TEST&gt;
767   Define servername test.example.com
768 &lt;/IfDefine&gt;
769 &lt;IfDefine !TEST&gt;
770   Define servername www.example.com
771   Define SSL
772 &lt;/IfDefine&gt;
773
774     DocumentRoot /var/www/${servername}/htdocs
775     </highlight>
776
777     <p>Le caract&egrave;re ":" est interdit dans les noms de variables afin
778     d'&eacute;viter les conflits avec la syntaxe de la directive <directive
779     module="mod_rewrite">RewriteMap</directive>.</p>
780 </usage>
781 </directivesynopsis>
782
783 <directivesynopsis type="section">
784 <name>Directory</name>
785 <description>Regroupe un ensemble de directives qui ne s'appliquent
786 qu'au r&eacute;pertoire concern&eacute; du syst&egrave;me de fichiers, &agrave; ses
787 sous-r&eacute;pertoires, et &agrave; leur contenu.</description>
788 <syntax>&lt;Directory <var>chemin r&eacute;pertoire</var>&gt;
789 ... &lt;/Directory&gt;</syntax>
790 <contextlist><context>server config</context><context>virtual
791 host</context>
792 </contextlist>
793
794 <usage>
795     <p>Les balises <directive type="section">Directory</directive> et
796     <code>&lt;/Directory&gt;</code> permettent de regrouper un ensemble
797     de directives qui ne s'appliquent qu'au r&eacute;pertoire pr&eacute;cis&eacute;,
798     &agrave; ses sous-r&eacute;pertoires, et aux fichiers situ&eacute;s dans ces
799     sous-r&eacute;pertoires. Toute directive
800     autoris&eacute;e dans un contexte de r&eacute;pertoire peut &ecirc;tre utilis&eacute;e.
801     <var>chemin r&eacute;pertoire</var> est soit le chemin absolu d'un
802     r&eacute;pertoire, soit une cha&icirc;ne de caract&egrave;res avec caract&egrave;res g&eacute;n&eacute;riques
803     utilisant la comparaison Unix de style shell. Dans une cha&icirc;ne de
804     caract&egrave;res avec caract&egrave;res g&eacute;n&eacute;riques, <code>?</code> correspond &agrave;
805     un caract&egrave;re quelconque, et <code>*</code> &agrave; toute cha&icirc;ne de
806     caract&egrave;res. Les intervalles de caract&egrave;res <code>[]</code> sont aussi
807     autoris&eacute;s. Aucun caract&egrave;re g&eacute;n&eacute;rique ne peut remplacer le caract&egrave;re
808     `/', si bien que l'expression <code>&lt;Directory
809     /*/public_html&gt;</code> ne conviendra pas pour le chemin
810      * <code>/home/user/public_html</code>, alors que <code>&lt;Directory
811     /home/*/public_html&gt;</code> conviendra. Exemple :</p>
812
813     <highlight language="config">
814 &lt;Directory "/usr/local/httpd/htdocs"&gt;
815   Options Indexes FollowSymLinks
816 &lt;/Directory&gt;
817     </highlight>
818
819     <note>
820       <p>Soyez prudent avec l'argument <var>chemin r&eacute;pertoire</var> : il
821       doit correspondre exactement au chemin du syst&egrave;me de fichier
822       qu'Apache httpd utilise pour acc&eacute;der aux fichiers. Les directives
823       comprises dans une section <code>&lt;Directory&gt;</code> ne
824       s'appliqueront pas aux fichiers du m&ecirc;me r&eacute;pertoire auxquels on
825       aura acc&eacute;d&eacute; via un chemin diff&eacute;rent, per exemple via un lien
826       symbolique.</p>
827     </note>
828
829     <p> Les <glossary ref="regex">Expressions rationnelles</glossary>
830     peuvent aussi &ecirc;tre utilis&eacute;es en ajoutant le caract&egrave;re
831     <code>~</code>. Par exemple :</p>
832
833     <highlight language="config">
834 &lt;Directory ~ "^/www/[0-9]{3}"&gt;
835
836 &lt;/Directory&gt;
837 </highlight>
838
839     <p>pourra correspondre &agrave; tout r&eacute;pertoire situ&eacute; dans /www/ et dont le
840     nom se compose de trois chiffres.</p>
841
842     <p>Si plusieurs sections <directive
843     type="section">Directory</directive> (sans expression rationnelle)
844     correspondent au r&eacute;pertoire (ou &agrave; un de ses parents) qui contient le
845     document, les directives de la section <directive
846     type="section">Directory</directive> dont le chemin est le plus
847     court sont appliqu&eacute;es en premier, en s'intercalant avec les
848     directives des fichiers <a href="#accessfilename">.htaccess</a>. Par
849     exemple, avec</p>
850
851     <highlight language="config">
852 &lt;Directory /&gt;
853   AllowOverride None
854 &lt;/Directory&gt;
855
856 &lt;Directory "/home"&gt;
857   AllowOverride FileInfo
858 &lt;/Directory&gt;
859     </highlight>
860
861     <p>l'acc&egrave;s au document <code>/home/web/dir/doc.html</code> emprunte
862     le chemin suivant :</p>
863
864     <ul>
865       <li>Aplication de la directive <code>AllowOverride None</code>
866       (qui d&eacute;sactive les fichiers <code>.htaccess</code>).</li>
867
868       <li>Application de la directive <code>AllowOverride
869       FileInfo</code> (pour le r&eacute;pertoire <code>/home</code>).</li>
870
871       <li>Application de toute directive <code>FileInfo</code> qui se
872       trouverait dans d'&eacute;ventuels fichiers <code>/home/.htaccess</code>,
873       <code>/home/web/.htaccess</code> ou
874       <code>/home/web/dir/.htaccess</code>, dans cet ordre.</li>
875     </ul>
876
877     <p>Les directives associ&eacute;es aux r&eacute;pertoires sous forme d'expressions
878     rationnelles ne sont prises en compte qu'une fois toutes les
879     directives des sections sans expressions rationnelles appliqu&eacute;es.
880     Alors, tous les r&eacute;pertoires avec expressions rationnelles sont
881     test&eacute;s selon l'ordre dans lequel ils apparaissent dans le fichier de
882     configuration. Par exemple, avec</p>
883
884     <highlight language="config">
885 &lt;Directory ~ "abc$"&gt;
886   # ... directives ici ...
887 &lt;/Directory&gt;
888     </highlight>
889
890     <p>la section avec expression rationnelle ne sera prise en compte
891     qu'apr&egrave;s les sections <directive
892     type="section">Directory</directive> sans expression rationnelle
893     et les fichiers <code>.htaccess</code>. Alors, l'expression
894     rationnelle conviendra pour <code>/home/abc/public_html/abc</code>
895     et la section <directive type="section">Directory</directive>
896     correspondante s'appliquera.</p>
897
898    <p><strong>Notez que la politique d'acc&egrave;s par d&eacute;faut
899    dans les sections <code>&lt;Directory /&gt;</code> consiste &agrave;
900    autoriser tout acc&egrave;s sans restriction. Ceci signifie qu'Apache httpd va servir tout fichier
901    correspondant &agrave; une URL. Il est recommand&eacute; de modifier cette
902    situation &agrave; l'aide d'un bloc du style</strong></p>
903
904     <highlight language="config">
905 &lt;Directory /&gt;
906   Require all denied
907 &lt;/Directory&gt;
908     </highlight>
909
910     <p><strong>puis d'affiner la configuration pour les r&eacute;pertoires que vous
911     voulez rendre accessibles. Voir la page <a
912     href="../misc/security_tips.html">Conseils &agrave; propos de s&eacute;curit&eacute;</a>
913     pour plus de d&eacute;tails.</strong></p>
914
915     <p>Les sections <directive type="section">Directory</directive> se situent
916     dans le fichier <code>httpd.conf</code>. Les directives <directive
917     type="section">Directory</directive> ne peuvent pas &ecirc;tre imbriqu&eacute;es
918     et ne sont pas autoris&eacute;es dans les sections <directive module="core"
919     type="section">Limit</directive> ou <directive module="core"
920     type="section">LimitExcept</directive>.</p>
921 </usage>
922 <seealso><a href="../sections.html">Comment fonctionnent les sections
923 &lt;Directory&gt;, &lt;Location&gt; et &lt;Files&gt;</a> pour des
924 explications &agrave; propos de la mani&egrave;re dont ces diff&eacute;rentes sections se
925 combinent entre elles &agrave; la r&eacute;ception d'une requ&ecirc;te</seealso>
926 </directivesynopsis>
927
928 <directivesynopsis type="section">
929 <name>DirectoryMatch</name>
930 <description>Regroupe des directives qui s'appliquent au contenu de r&eacute;pertoires
931 du syst&egrave;me de fichiers correspondant &agrave; une expression rationnelle</description>
932 <syntax>&lt;DirectoryMatch <var>regex</var>&gt;
933 ... &lt;/DirectoryMatch&gt;</syntax>
934 <contextlist><context>server config
935 </context><context>virtual host</context>
936 </contextlist>
937
938 <usage>
939     <p>Les balises <directive type="section">DirectoryMatch</directive>
940     et <code>&lt;/DirectoryMatch&gt;</code> permettent de regrouper un
941     ensemble de directives qui ne s'appliqueront qu'au r&eacute;pertoire
942     pr&eacute;cis&eacute; (et aux fichiers qu'il contient), comme pour la section <directive
943     module="core" type="section">Directory</directive>. Cependant, le
944     r&eacute;pertoire est pr&eacute;cis&eacute; sous la forme d'une <glossary
945     ref="regex">expression rationnelle</glossary>. Par exemple :</p>
946
947     <highlight language="config">
948 &lt;DirectoryMatch "^/www/(.+/)?[0-9]{3}"&gt;
949     # ...
950 &lt;/DirectoryMatch&gt;
951 </highlight>
952
953     <p>conviendrait pour les sous-r&eacute;pertoires de <code>/www/</code> dont
954     le nom se compose de trois chiffres.</p>
955
956     <note><title>Compatibilit&eacute;</title>
957       Avant la version 2.3.9, cette directive s'appliquait aussi aux
958       sous-r&eacute;pertoires (comme la directive <directive module="core"
959       type="section">Directory</directive>), et ne tenait pas compte du
960       symbole de fin de ligne ($). Depuis la version 2.3.9, seuls les
961       r&eacute;pertoires qui correspondent &agrave; l'expression sont affect&eacute;s par les
962       directives contenues dans la section.
963     </note>
964
965     <note><title>slash de fin</title>
966       Cette directive s'applique aux requ&ecirc;tes pour des r&eacute;pertoires avec
967       ou sans slash de fin ; les expressions contenant un symbole de fin
968       de ligne ($) doivent donc faire l'objet d'une attention
969       particuli&egrave;re.
970     </note>
971
972     <p>A partir de la version 2.4.8, les groupes nomm&eacute;s et les
973     r&eacute;f&eacute;rences arri&egrave;res sont extraits et enregistr&eacute;s dans
974     l'environnement avec leur nom en majuscules et pr&eacute;fix&eacute;
975     par "MATCH_". Ceci permet
976     de r&eacute;f&eacute;rencer des URLs dans des <a href="../expr.html">expressions</a>
977     ou au sein de modules comme <module>mod_rewrite</module>. Pour
978     &eacute;viter toute confusion, les r&eacute;f&eacute;rences arri&egrave;res num&eacute;rot&eacute;es (non
979     nomm&eacute;es) sont ignor&eacute;es. Vous devez utiliser &agrave; la place des groupes
980     nomm&eacute;s.</p>
981
982 <highlight language="config">
983 &lt;DirectoryMatch ^/var/www/combined/(?&lt;sitename&gt;[^/]+)&gt;
984     require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
985 &lt;/DirectoryMatch&gt;
986 </highlight>    
987 </usage>
988 <seealso><directive type="section" module="core">Directory</directive>
989 pour une description de la mani&egrave;re dont les expressions rationnelles
990 sont trait&eacute;es en pr&eacute;sence d'autres sections <directive
991 type="section">Directory</directive> sans expressions rationnelles</seealso>
992 <seealso><a
993 href="../sections.html">Comment fonctionnent les sections
994 &lt;Directory&gt;, &lt;Location&gt; et &lt;Files&gt;</a> pour une
995 explication &agrave; propos de la mani&egrave;re dont ces diff&eacute;rentes sections se
996 combinent entre elles &agrave; la r&eacute;ception d'une requ&ecirc;te</seealso>
997 </directivesynopsis>
998
999 <directivesynopsis>
1000 <name>DocumentRoot</name>
1001 <description>Racine principale de l'arborescence des documents visible
1002 depuis Internet</description>
1003 <syntax>DocumentRoot <var>chemin r&eacute;pertoire</var></syntax>
1004 <default>DocumentRoot /usr/local/apache/htdocs</default>
1005 <contextlist><context>server config</context><context>virtual
1006 host</context>
1007 </contextlist>
1008
1009 <usage>
1010     <p>Cette directive permet de d&eacute;finir le r&eacute;pertoire &agrave; partir duquel
1011     <program>httpd</program> va servir les fichiers. S'il ne correspond
1012     pas &agrave; un <directive module="mod_alias">Alias</directive>, le chemin
1013     de l'URL sera ajout&eacute; par le serveur &agrave; la racine des documents afin
1014     de construire le chemin du document recherch&eacute;. Exemple :</p>
1015
1016     <highlight language="config">DocumentRoot "/usr/web"</highlight>
1017
1018     <p>un acc&egrave;s &agrave; <code>http://my.example.com/index.html</code> se
1019     r&eacute;f&egrave;re alors &agrave; <code>/usr/web/index.html</code>. Si <var>chemin
1020     r&eacute;pertoire</var> n'est pas un chemin absolu, il est consid&eacute;r&eacute; comme
1021     relatif au chemin d&eacute;fini par la directive <directive
1022     module="core">ServerRoot</directive>.</p>
1023
1024     <p>Le r&eacute;pertoire d&eacute;fini par la directive
1025     <directive>DocumentRoot</directive> ne doit pas comporter de slash
1026     final.</p>
1027 </usage>
1028 <seealso><a href="../urlmapping.html#documentroot">Mise en
1029 correspondance des URLs avec le syst&egrave;me de fichiers</a></seealso>
1030 </directivesynopsis>
1031
1032 <directivesynopsis type="section">
1033 <name>Else</name>
1034 <description>Contient des directives qui ne s'appliquent que si la
1035 condition correspondant &agrave; la section <directive type="section"
1036 module="core">If</directive> ou <directive type="section"
1037 module="core">ElseIf</directive> pr&eacute;c&eacute;dente n'est pas satisfaite par la
1038 requ&ecirc;te &agrave; l'ex&eacute;cution</description>
1039 <syntax>&lt;Else&gt; ... &lt;/Else&gt;</syntax>
1040 <contextlist><context>server config</context><context>virtual host</context>
1041 <context>directory</context><context>.htaccess</context>
1042 </contextlist>
1043 <override>All</override>
1044
1045 <usage>
1046     <p>La section <directive type="section">Else</directive> applique
1047     les directives qu'elle contient si et seulement si les conditions
1048     correspondant &agrave; la section <directive type="section">If</directive>
1049     ou <directive type="section">ElseIf</directive> imm&eacute;diatement
1050     sup&eacute;rieure et dans la m&ecirc;me port&eacute;e n'ont pas &eacute;t&eacute; satisfaites. Par
1051     exemple, dans :</p>
1052
1053     <highlight language="config">
1054 &lt;If "-z req('Host')"&gt;
1055   # ...
1056 &lt;/If&gt;
1057 &lt;Else&gt;
1058   # ...
1059 &lt;/Else&gt;
1060     </highlight>
1061
1062     <p>La condition de la section <directive
1063     type="section">If</directive> serait satisfaite pour les requ&ecirc;tes
1064     HTTP/1.0 sans en-t&ecirc;te <var>Host:</var>, alors que celle de la section
1065     <directive type="section">Else</directive> le serait pour les
1066     requ&ecirc;tes comportant un en-t&ecirc;te <var>Host:</var>.</p>
1067
1068 </usage>
1069 <seealso><directive type="section" module="core">If</directive></seealso>
1070 <seealso><directive type="section" module="core">ElseIf</directive></seealso>
1071 <seealso><a href="../sections.html">Fonctionnement des sections &lt;Directory&gt;, &lt;Location&gt;,
1072     &lt;Files&gt;</a> pour une explication de la mani&egrave;re dont ces
1073     diff&eacute;rentes section se combinent entre elles lorsqu'une requ&ecirc;te est
1074     re&ccedil;ue. Les directives <directive type="section">If</directive>,
1075     <directive type="section">ElseIf</directive>, et <directive
1076     type="section">Else</directive> s'appliquent en dernier.</seealso>
1077 </directivesynopsis>
1078
1079 <directivesynopsis type="section">
1080 <name>ElseIf</name>
1081 <description>Contient des directives qui ne s'appliquent que si la
1082 condition correspondante est satisfaite par une requ&ecirc;te &agrave; l'ex&eacute;cution,
1083 alors que la condition correspondant &agrave; la section <directive
1084 type="section" module="core">If</directive> ou <directive
1085 type="section">ElseIf</directive> pr&eacute;c&eacute;dente ne l'&eacute;tait pas.</description>
1086 <syntax>&lt;ElseIf <var>expression</var>&gt; ... &lt;/ElseIf&gt;</syntax>
1087 <contextlist><context>server config</context><context>virtual host</context>
1088 <context>directory</context><context>.htaccess</context>
1089 </contextlist>
1090 <override>All</override>
1091
1092 <usage>
1093     <p>La section <directive type="section">ElseIf</directive> applique
1094     les directives qu'elle contient si et seulement si d'une part la
1095     condition correspondante est satisfaite, et d'autre part la condition
1096     correspondant &agrave; la section <directive type="section">If</directive>
1097     ou <directive type="section">ElseIf</directive> de la m&ecirc;me port&eacute;e ne
1098     l'est pas. Par exemple, dans :</p>
1099
1100     <highlight language="config">
1101 &lt;If "-R '10.1.0.0/16'"&gt;
1102   #...
1103 &lt;/If&gt;
1104 &lt;ElseIf "-R '10.0.0.0/8'"&gt;
1105   #...
1106 &lt;/ElseIf&gt;
1107 &lt;Else&gt;
1108   #...
1109 &lt;/Else&gt;
1110     </highlight>
1111
1112     <p>La condition correspondant &agrave; la section <directive
1113     type="section">ElseIf</directive> est satisfaite si l'adresse
1114     distante de la requ&ecirc;te appartient au sous-r&eacute;seau 10.0.0.0/8, mais
1115     pas si elle appartient au sous-r&eacute;seau 10.1.0.0/16.</p>
1116
1117 </usage>
1118 <seealso><a href="../expr.html">Les expressions dans le serveur HTTP
1119 Apache</a>, pour une r&eacute;f&eacute;rence compl&egrave;te et d'autres exemples.</seealso>
1120 <seealso><directive type="section" module="core">If</directive></seealso>
1121 <seealso><directive type="section" module="core">Else</directive></seealso>
1122 <seealso><a href="../sections.html">Fonctionnement des sections &lt;Directory&gt;, &lt;Location&gt;,
1123     &lt;Files&gt;</a> pour une explication de la mani&egrave;re dont ces
1124     diff&eacute;rentes section se combinent entre elles lorsqu'une requ&ecirc;te est
1125     re&ccedil;ue. Les directives <directive type="section">If</directive>,
1126     <directive type="section">ElseIf</directive>, et <directive
1127     type="section">Else</directive> s'appliquent en dernier.</seealso>
1128 </directivesynopsis>
1129
1130 <directivesynopsis>
1131 <name>EnableMMAP</name>
1132 <description>Utilise la projection en m&eacute;moire (Memory-Mapping) pour
1133 lire les fichiers pendant qu'ils sont servis</description>
1134 <syntax>EnableMMAP On|Off</syntax>
1135 <default>EnableMMAP On</default>
1136 <contextlist><context>server config</context><context>virtual
1137 host</context>
1138 <context>directory</context><context>.htaccess</context>
1139 </contextlist>
1140 <override>FileInfo</override>
1141
1142 <usage>
1143     <p>Cette directive d&eacute;finit si <program>httpd</program> peut utiliser
1144     la projection en m&eacute;moire (Memory-Mapping) quand il doit lire le contenu
1145     d'un fichier pendant qu'il est servi. Par d&eacute;faut, lorsque le
1146     traitement d'une requ&ecirc;te requiert l'acc&egrave;s aux donn&eacute;es contenues dans
1147     un fichier -- par exemple, pour servir un fichier interpr&eacute;t&eacute; par le
1148     serveur &agrave; l'aide de <module>mod_include</module> -- Apache httpd projette
1149     le fichier en m&eacute;moire si le syst&egrave;me d'exploitation le permet.</p>
1150
1151     <p>Cette projection en m&eacute;moire induit parfois une am&eacute;lioration des
1152     performances. Sur certains syst&egrave;mes cependant, il est pr&eacute;f&eacute;rable de
1153     d&eacute;sactiver la projection en m&eacute;moire afin d'&eacute;viter certains probl&egrave;mes
1154     op&eacute;rationnels :</p>
1155
1156     <ul>
1157     <li>Sur certains syst&egrave;mes multi-processeurs, la projection en
1158     m&eacute;moire peut d&eacute;grader les performances du programme
1159     <program>httpd</program>.</li>
1160     <li>S'il fait l'objet d'une projection en m&eacute;moire par
1161     <program>httpd</program>, la suppression ou la troncature d'un
1162     fichier peut provoquer un crash de <program>httpd</program> avec une
1163     erreur de segmentation.</li>
1164     </ul>
1165
1166     <p>Pour les configurations de serveur sujettes &agrave; ce genre de
1167     probl&egrave;me, il est pr&eacute;f&eacute;rable de d&eacute;sactiver la projection en m&eacute;moire
1168     des fichiers servis en sp&eacute;cifiant :</p>
1169     
1170     <highlight language="config">EnableMMAP Off</highlight>
1171
1172     <p>Pour les montages NFS, cette fonctionnalit&eacute; peut &ecirc;tre
1173     explicitement d&eacute;sactiv&eacute;e pour les fichiers concern&eacute;s en sp&eacute;cifiant
1174     :</p>
1175
1176     <highlight language="config">
1177 &lt;Directory "/path-to-nfs-files"&gt;
1178   EnableMMAP Off
1179 &lt;/Directory&gt;
1180     </highlight>
1181 </usage>
1182 </directivesynopsis>
1183
1184 <directivesynopsis>
1185 <name>EnableSendfile</name>
1186 <description>Utilise le support sendfile du noyau pour servir les
1187 fichiers aux clients</description>
1188 <syntax>EnableSendfile On|Off</syntax>
1189 <default>EnableSendfile Off</default>
1190 <contextlist><context>server config</context><context>virtual
1191 host</context>
1192 <context>directory</context><context>.htaccess</context>
1193 </contextlist>
1194 <override>FileInfo</override>
1195 <compatibility>Par d&eacute;faut &agrave; Off depuis la version 2.3.9.</compatibility>
1196
1197 <usage>
1198     <p>Cette directive d&eacute;finit si le programme <program>httpd</program>
1199     peut utiliser le support sendfile du noyau pour transmettre le
1200     contenu des fichiers aux clients. Par d&eacute;faut, lorsque le traitement
1201     d'une requ&ecirc;te ne requiert pas l'acc&egrave;s aux donn&eacute;es contenues dans un
1202     fichier -- par exemple, pour la transmission d'un fichier statique
1203     -- Apache httpd utilise sendfile pour transmettre le contenu du fichier
1204     sans m&ecirc;me lire ce dernier, si le syst&egrave;me d'exploitation le
1205     permet.</p>
1206
1207     <p>Ce m&eacute;canisme sendfile &eacute;vite la s&eacute;paration des op&eacute;rations de
1208     lecture et d'envoi, ainsi que les r&eacute;servations de tampons. sur
1209     certains syst&egrave;mes cependant, ou sous certains syst&egrave;mes de fichiers,
1210     il est pr&eacute;f&eacute;rable de d&eacute;sactiver cette fonctionnalit&eacute; afin d'&eacute;viter
1211     certains probl&egrave;mes op&eacute;rationnels :</p>
1212
1213     <ul>
1214     <li>Certains syst&egrave;mes peuvent pr&eacute;senter un support sendfile
1215     d&eacute;fectueux que le syst&egrave;me de compilation n'a pas d&eacute;tect&eacute;, en
1216     particulier si les ex&eacute;cutables ont &eacute;t&eacute; compil&eacute;s sur une autre
1217     machine, puis copi&eacute;s sur la premi&egrave;re avec un support sendfile
1218     d&eacute;fectueux.</li>
1219     <li>Sous Linux, l'utilisation de sendfile induit des bogues lors de
1220     la r&eacute;cup&eacute;ration des paquets de v&eacute;rification TCP (TCP-checksum) avec
1221     certaines cartes r&eacute;seau lorsqu'on utilise IPv6.</li>
1222     <li>Sous Linux sur Itanium, <code>sendfile</code> peut s'av&eacute;rer incapable de
1223     traiter les fichiers de plus de 2 Go.</li>
1224     <li>Avec un montage r&eacute;seau de <directive
1225     module="core">DocumentRoot</directive> (par exemple NFS, SMB, CIFS,
1226     FUSE), le
1227     noyau peut s'av&eacute;rer incapable de servir un fichier de ce montage
1228     r&eacute;seau en passant par son propre cache.</li>
1229     </ul>
1230
1231     <p>Pour les configurations de serveur non sujettes &agrave; ce genre de
1232     probl&egrave;me, vous pouvez activer cette fonctionnalit&eacute; en
1233     sp&eacute;cifiant :</p>
1234
1235     <highlight language="config">EnableSendfile On</highlight>
1236
1237     <p>Pour les montages r&eacute;seau, cette fonctionnalit&eacute; peut &ecirc;tre
1238     explicitement d&eacute;sactiv&eacute;e pour les fichiers concern&eacute;s en sp&eacute;cifiant
1239     :</p>
1240
1241     <highlight language="config">
1242 &lt;Directory "/path-to-nfs-files"&gt;
1243   EnableSendfile Off
1244 &lt;/Directory&gt;
1245     </highlight>
1246     <p>Veuillez noter que la configuration de la directive
1247     <directive>EnableSendfile</directive> dans un contexte de r&eacute;pertoire
1248     ou de fichier .htaccess n'est pas support&eacute;e par
1249     <module>mod_cache_disk</module>. Le module ne prend en compte la
1250     d&eacute;finition de <directive>EnableSendfile</directive> que dans un
1251     contexte global.
1252     </p>
1253 </usage>
1254 </directivesynopsis>
1255
1256 <directivesynopsis>
1257 <name>Error</name>
1258 <description>Interrompt la lecture de la configuration avec un message
1259 d'erreur personnalis&eacute;</description>
1260 <syntax>Error <var>message</var></syntax>
1261 <contextlist><context>server config</context><context>virtual host</context>
1262 <context>directory</context><context>.htaccess</context>
1263 </contextlist>
1264 <compatibility>&agrave; partir de la version 2.3.9</compatibility>
1265
1266 <usage>
1267     <p>Si une erreur peut &ecirc;tre d&eacute;tect&eacute;e dans la configuration, souvent
1268     un module manquant, cette
1269     directive peut &ecirc;tre utilis&eacute;e pour g&eacute;n&eacute;rer un message d'erreur
1270     personnalis&eacute;, et interrompre la lecture de la configuration. </p>
1271
1272     <highlight language="config">
1273 # Exemple
1274 # v&eacute;rification du chargement de mod_include
1275 &lt;IfModule !include_module&gt;
1276   Error "mod_include is required by mod_foo.  Load it with LoadModule."
1277 &lt;/IfModule&gt;
1278
1279 # v&eacute;rification de la d&eacute;finition de SSL ou (exclusif) NOSSL
1280 &lt;IfDefine SSL&gt;
1281 &lt;IfDefine NOSSL&gt;
1282   Error "Both SSL and NOSSL are defined.  Define only one of them."
1283 &lt;/IfDefine&gt;
1284 &lt;/IfDefine&gt;
1285 &lt;IfDefine !SSL&gt;
1286 &lt;IfDefine !NOSSL&gt;
1287   Error "Either SSL or NOSSL must be defined."
1288 &lt;/IfDefine&gt;
1289 &lt;/IfDefine&gt;
1290     </highlight>
1291
1292 </usage>
1293 </directivesynopsis>
1294
1295 <directivesynopsis>
1296 <name>ErrorDocument</name>
1297 <description>Document que le serveur renvoie au client en cas
1298 d'erreur</description>
1299 <syntax>ErrorDocument <var>code erreur</var> <var>document</var></syntax>
1300 <contextlist><context>server config</context><context>virtual
1301 host</context>
1302 <context>directory</context><context>.htaccess</context>
1303 </contextlist>
1304 <override>FileInfo</override>
1305
1306 <usage>
1307     <p>Apache httpd peut traiter les probl&egrave;mes et les erreurs de quatre
1308     mani&egrave;res,</p>
1309
1310     <ol>
1311       <li>afficher un simple message d'erreur au contenu fixe</li>
1312
1313       <li>afficher un message personnalis&eacute;</li>
1314
1315       <li>rediriger en interne vers un <var>chemin d'URL</var> local pour traiter
1316       le probl&egrave;me ou l'erreur</li>
1317
1318       <li>rediriger vers une <var>URL</var> externe pour traiter
1319       le probl&egrave;me ou l'erreur</li>
1320     </ol>
1321
1322     <p>La premi&egrave;re option constitue le comportement par d&eacute;faut; pour
1323     choisir une des trois autres options, il faut configurer Apache &agrave;
1324     l'aide de la directive <directive>ErrorDocument</directive>, suivie
1325     du code de la r&eacute;ponse HTTP et d'une URL ou d'un message. Apache
1326     httpd fournit parfois des informations suppl&eacute;mentaires &agrave; propos du
1327     probl&egrave;me ou de l'erreur.</p>
1328
1329     <p>Les URLs peuvent commencer par un slash (/) pour les chemins web
1330     locaux (relatifs au r&eacute;pertoire d&eacute;fini par la directive <directive
1331     module="core">DocumentRoot</directive>), ou se pr&eacute;senter sous la
1332     forme d'une URL compl&egrave;te que le client pourra r&eacute;soudre.
1333     Alternativement, un message &agrave; afficher par le navigateur pourra &ecirc;tre
1334     fourni. Exemples :</p>
1335
1336     <highlight language="config">
1337 ErrorDocument 500 http://foo.example.com/cgi-bin/tester
1338 ErrorDocument 404 /cgi-bin/bad_urls.pl
1339 ErrorDocument 401 /subscription_info.html
1340 ErrorDocument 403 "Sorry can't allow you access today"
1341 ErrorDocument 403 Forbidden!
1342     </highlight>
1343
1344     <p>De plus, on peut sp&eacute;cifier la valeur sp&eacute;ciale <code>default</code>
1345     pour indiquer l'utilisation d'un simple message d'Apache httpd cod&eacute; en
1346     dur. Bien que non n&eacute;cessaire dans des circonstances normales, la
1347     sp&eacute;cification de la valeur <code>default</code> va permettre de
1348     r&eacute;tablir l'utilisation du simple message d'Apache httpd cod&eacute; en dur pour
1349     les configurations qui sans cela, h&eacute;riteraient d'une directive
1350     <directive>ErrorDocument</directive> existante.</p>
1351
1352     <highlight language="config">
1353 ErrorDocument 404 /cgi-bin/bad_urls.pl
1354
1355 &lt;Directory /web/docs&gt;
1356   ErrorDocument 404 default
1357 &lt;/Directory&gt;
1358     </highlight>
1359
1360     <p>Notez que lorsque vous sp&eacute;cifiez une directive
1361     <directive>ErrorDocument</directive> pointant vers une URL distante
1362     (c'est &agrave; dire tout ce qui commence par le pr&eacute;fixe http), le serveur
1363     HTTP Apache va
1364     envoyer une redirection au client afin de lui indiquer o&ugrave; trouver le
1365     document, m&ecirc;me dans le cas o&ugrave; ce document se trouve sur le serveur
1366     local. Ceci a de nombreuses cons&eacute;quences dont la plus importante
1367     r&eacute;side dans le fait que le client ne recevra pas le code d'erreur
1368     original, mais au contraire un code de statut de redirection. Ceci
1369     peut en retour semer la confusion chez les robots web et divers
1370     clients qui tentent de d&eacute;terminer la validit&eacute; d'une URL en examinant
1371     le code de statut. De plus, si vous utilisez une URL distante avec
1372     <code>ErrorDocument 401</code>, le client ne saura pas qu'il doit
1373     demander un mot de passe &agrave; l'utilisateur car il ne recevra pas le
1374     code de statut 401. C'est pourquoi, <strong>si vous utilisez une
1375     directive <code>ErrorDocument 401</code>, elle devra faire r&eacute;f&eacute;rence
1376     &agrave; un document par le biais d'un chemin local.</strong></p>
1377
1378     <p>Microsoft Internet Explorer (MSIE) ignore par d&eacute;faut les messages
1379     d'erreur g&eacute;n&eacute;r&eacute;s par le serveur lorsqu'ils sont trop courts et
1380     remplacent ses propres messages d'erreur "amicaux". Le seuil de
1381     taille varie en fonction du type d'erreur, mais en g&eacute;n&eacute;ral, si la
1382     taille de votre message d'erreur est sup&eacute;rieure &agrave; 512 octets, il y a
1383     peu de chances pour que MSIE l'occulte, et il sera affich&eacute; par ce
1384     dernier. Vous trouverez d'avantage d'informations dans l'article de
1385     la base de connaissances Microsoft <a
1386     href="http://support.microsoft.com/default.aspx?scid=kb;en-us;Q294807"
1387     >Q294807</a>.</p>
1388
1389     <p>Bien que la plupart des messages d'erreur internes originaux
1390     puissent &ecirc;tre remplac&eacute;s, ceux-ci sont cependant conserv&eacute;s dans
1391     certaines circonstances sans tenir compte de la d&eacute;finition de la
1392     directive <directive module="core">ErrorDocument</directive>. En
1393     particulier, en cas de d&eacute;tection d'une requ&ecirc;te mal form&eacute;e, le
1394     processus de traitement normal des requ&ecirc;tes est imm&eacute;diatement
1395     interrompu, et un message d'erreur interne est renvoy&eacute;, ceci afin de
1396     se pr&eacute;munir contre les probl&egrave;mes de s&eacute;curit&eacute; li&eacute;s aux requ&ecirc;tes mal
1397     form&eacute;es.</p>
1398
1399     <p>Si vous utilisez mod_proxy, il est en g&eacute;n&eacute;ral pr&eacute;f&eacute;rable
1400     d'activer <directive
1401     module="mod_proxy">ProxyErrorOverride</directive> afin d'&ecirc;tre en
1402     mesure de produire des messages d'erreur personnalis&eacute;s pour le
1403     compte de votre serveur d'origine. Si vous n'activez pas
1404     ProxyErrorOverride, Apache httpd ne g&eacute;n&eacute;rera pas de messages d'erreur
1405     personnalis&eacute;s pour le contenu mandat&eacute;.</p>
1406
1407 </usage>
1408
1409 <seealso><a href="../custom-error.html">documentation sur la
1410 personnalisation des r&eacute;ponses</a></seealso>
1411 </directivesynopsis>
1412
1413 <directivesynopsis>
1414 <name>ErrorLog</name>
1415 <description>D&eacute;finition du chemin du journal des erreurs</description>
1416 <syntax> ErrorLog <var>chemin fichier</var>|syslog[:<var>facility</var>]</syntax>
1417 <default>ErrorLog logs/error_log (Unix) ErrorLog logs/error.log (Windows and OS/2)</default>
1418 <contextlist><context>server config</context><context>virtual
1419 host</context>
1420 </contextlist>
1421
1422 <usage>
1423     <p>La directive <directive>ErrorLog</directive> permet de d&eacute;finir le
1424     nom du fichier dans lequel le serveur va journaliser toutes les
1425     erreurs qu'il rencontre. Si le <var>chemin fichier</var> n'est pas
1426     absolu, il est consid&eacute;r&eacute; comme relatif au chemin d&eacute;fini par la
1427     directive <directive module="core">ServerRoot</directive>.</p>
1428
1429     <highlight language="config">ErrorLog "/var/log/httpd/error_log"</highlight>
1430
1431     <p>Si le <var>chemin fichier</var> commence par une barre verticale
1432     "<code>(|)</code>", il est consid&eacute;r&eacute; comme une commande &agrave; lancer pour traiter la
1433     journalisation de l'erreur.</p>
1434
1435     <highlight language="config">ErrorLog "|/usr/local/bin/httpd_errors"</highlight>
1436
1437     <p>Voir les notes &agrave; propos des <a href="../logs.html#piped">journaux
1438     redirig&eacute;s</a> pour plus d'informations.</p>
1439
1440     <p>L'utilisation de <code>syslog</code> &agrave; la place d'un nom de
1441     fichier active la journalisation via syslogd(8) si le syst&egrave;me le
1442     supporte et si <module>mod_syslog</module> a &eacute;t&eacute; charg&eacute;. Le
1443     dispositif syslog par d&eacute;faut est <code>local7</code>,
1444     mais vous pouvez le modifier &agrave; l'aide de la syntaxe
1445     <code>syslog:<var>facility</var></code>, o&ugrave; <var>facility</var> peut
1446     &ecirc;tre remplac&eacute; par un des noms habituellement document&eacute;s dans la page
1447     de man syslog(1). Le dispositif syslog <code>local7</code> est
1448     global, et si il est modifi&eacute; dans un serveur virtuel, le dispositif
1449     final sp&eacute;cifi&eacute; affecte l'ensemble du serveur</p>
1450
1451     <highlight language="config">ErrorLog syslog:user</highlight>
1452
1453     <p>Des modules additionnels peuvent impl&eacute;menter leur propre
1454     fournisseur ErrorLog. La syntaxe est similaire &agrave; l'exemple
1455     <code>syslog</code> ci-dessus.</p>
1456
1457     <p>SECURITE : Voir le document <a
1458     href="../misc/security_tips.html#serverroot">conseils &agrave; propos de
1459     s&eacute;curit&eacute;</a> pour des d&eacute;tails sur les raisons pour lesquelles votre
1460     s&eacute;curit&eacute; peut &ecirc;tre compromise si le r&eacute;pertoire contenant les
1461     fichiers journaux pr&eacute;sente des droits en &eacute;criture pour tout autre
1462     utilisateur que celui sous lequel le serveur est d&eacute;marr&eacute;.</p>
1463     <note type="warning"><title>Note</title>
1464       <p>Lors de la sp&eacute;cification d'un chemin de fichier sur les
1465       plates-formes non-Unix, on doit veiller &agrave; n'utiliser que des
1466       slashes (/), m&ecirc;me si la plate-forme autorise l'utilisation des
1467       anti-slashes (\). Et d'une mani&egrave;re g&eacute;n&eacute;rale, il est recommand&eacute; de
1468       n'utiliser que des slashes (/) dans les fichiers de
1469       configuration.</p>
1470     </note>
1471 </usage>
1472 <seealso><directive module="core">LogLevel</directive></seealso>
1473 <seealso><a href="../logs.html">Fichiers journaux du serveur HTTP Apache</a></seealso>
1474 </directivesynopsis>
1475
1476 <directivesynopsis>
1477 <name>ErrorLogFormat</name>
1478 <description>Sp&eacute;cification du format des entr&eacute;es du journal des erreurs</description>
1479 <syntax> ErrorLogFormat [connection|request] <var>format</var></syntax>
1480 <contextlist><context>server config</context><context>virtual host</context>
1481 </contextlist>
1482
1483 <usage>
1484     <p>La directive <directive>ErrorLogFormat</directive> permet de
1485     sp&eacute;cifier quelles informations suppl&eacute;mentaires vont &ecirc;tre enregistr&eacute;es
1486     dans le journal des erreurs en plus du message habituel.</p>
1487
1488     <highlight language="config">
1489 # Exemple simple
1490 ErrorLogFormat "[%t] [%l] [pid %P] %F: %E: [client %a] %M"
1491     </highlight>
1492
1493     <p>La sp&eacute;cification de <code>connection</code> ou
1494     <code>request</code> comme premier param&egrave;tre permet de d&eacute;finir des
1495     formats suppl&eacute;mentaires, ce qui a pour effet de journaliser des
1496     informations additionnelles lorsque le premier message est
1497     enregistr&eacute; respectivement pour une connexion ou une requ&ecirc;te
1498     sp&eacute;cifique. Ces informations additionnelles ne sont enregistr&eacute;es
1499     qu'une seule fois par connexion/requ&ecirc;te. Si le traitement d'une
1500     connexion ou d'une requ&ecirc;te ne g&eacute;n&egrave;re aucun message dans le journal,
1501     alors aucune information additionnelle n'est enregistr&eacute;e.</p>
1502
1503     <p>Il peut arriver que certains items de la cha&icirc;ne de format ne
1504     produisent aucune sortie. Par exemple, l'en-t&ecirc;te Referer n'est
1505     pr&eacute;sent que si le message du journal est associ&eacute; &agrave; une requ&ecirc;te et s'il
1506     est g&eacute;n&eacute;r&eacute; &agrave; un moment o&ugrave; l'en-t&ecirc;te Referer a d&eacute;j&agrave; &eacute;t&eacute; lu par le
1507     client. Si aucune sortie n'est g&eacute;n&eacute;r&eacute;e, le comportement par d&eacute;faut
1508     consiste &agrave; supprimer tout ce qui se trouve entre l'espace pr&eacute;c&eacute;dent
1509     et le suivant. Ceci implique que la ligne de journalisation est
1510     divis&eacute;e en champs ne contenant pas d'espace s&eacute;par&eacute;s par des espaces.
1511     Si un item de la cha&icirc;ne de format ne g&eacute;n&egrave;re aucune sortie,
1512     l'ensemble du champ est omis. Par exemple, si l'adresse distante
1513     <code>%a</code> du format <code>[%t] [%l] [%a] %M&nbsp;</code> n'est
1514     pas disponible, les crochets qui l'entourent ne seront eux-m&ecirc;mes pas
1515     enregistr&eacute;s. Il est possible d'&eacute;chapper les espaces par un anti-slash
1516     afin qu'ils ne soient pas consid&eacute;r&eacute;s comme s&eacute;parateurs de champs.
1517     La combinaison '%&nbsp;' (pourcentage espace) est un d&eacute;limiteur de
1518     champ de taille nulle qui ne g&eacute;n&egrave;re aucune sortie.</p>
1519
1520     <p>Ce comportement peut &ecirc;tre chang&eacute; en ajoutant des modificateurs &agrave;
1521     l'item de la cha&icirc;ne de format. Le modificateur <code>-</code>
1522     (moins) provoque l'enregistrement d'un signe moins si l'item
1523     consid&eacute;r&eacute; ne g&eacute;n&egrave;re aucune sortie. Pour les formats &agrave; enregistrement
1524     unique par connexion/requ&ecirc;te, il est aussi possible d'utiliser le
1525     modificateur <code>+</code> (plus). Si un item ne g&eacute;n&eacute;rant aucune
1526     sortie poss&egrave;de le modificateur plus, la ligne dans son ensemble est
1527     omise.</p>
1528
1529     <p>Un modificateur de type entier permet d'assigner un niveau de
1530     s&eacute;v&eacute;rit&eacute; &agrave; un item de format. L'item consid&eacute;r&eacute; ne
1531     sera journalis&eacute; que si la s&eacute;v&eacute;rit&eacute; du message n'est pas
1532     plus haute que le niveau de s&eacute;v&eacute;rit&eacute; sp&eacute;cifi&eacute;. Les
1533     valeurs possibles vont de 1 (alert) &agrave; 15 (trace8), en passant par 4
1534     (warn) ou 7 (debug).</p>
1535
1536     <p>Par exemple, voici ce qui arriverait si vous ajoutiez des
1537     modificateurs &agrave; l'item <code>%{Referer}i</code> qui enregistre le
1538     contenu de l'en-t&ecirc;te <code>Referer</code>.</p>
1539
1540     <table border="1" style="zebra">
1541     <columnspec><column width=".3"/><column width=".7"/></columnspec>
1542
1543     <tr><th>Item modifi&eacute;</th><th>Signification</th></tr>
1544
1545     <tr>
1546     <td><code>%-{Referer}i</code></td>
1547     <td>Enregistre le caract&egrave;re <code>-</code> si l'en-t&ecirc;te
1548     <code>Referer</code> n'est pas d&eacute;fini.</td>
1549     </tr>
1550
1551     <tr>
1552     <td><code>%+{Referer}i</code></td>
1553     <td>N'enregistre rien si l'en-t&ecirc;te
1554     <code>Referer</code> n'est pas d&eacute;fini.</td>
1555     </tr>
1556
1557     <tr>
1558     <td><code>%4{Referer}i</code></td>
1559     <td>N'enregistre le contenu de l'en-t&ecirc;te <code>Referer</code> que si
1560     la s&eacute;v&eacute;rit&eacute; du message de journalisation est sup&eacute;rieure &agrave; 4.</td>
1561     </tr>
1562
1563     </table>
1564
1565     <p>Certains items de format acceptent des param&egrave;tres suppl&eacute;mentaires
1566     entre accolades.</p>
1567
1568     <table border="1" style="zebra">
1569     <columnspec><column width=".2"/><column width=".8"/></columnspec>
1570
1571     <tr><th>Cha&icirc;ne&nbsp;de&nbsp;format</th> <th>Description</th></tr>
1572
1573     <tr><td><code>%%</code></td>
1574         <td>Le signe pourcentage</td></tr>
1575
1576     <tr><td><code>%a</code></td>
1577         <td>Adresse IP et port clients</td></tr>
1578
1579     <tr><td><code>%{c}a</code></td>
1580         <td>Port et adresse IP sous-jacents du correspondant pour la
1581         connexion (voir le module
1582         <module>mod_remoteip</module>)</td></tr>
1583
1584     <tr><td><code>%A</code></td>
1585         <td>Adresse IP et port locaux</td></tr>
1586
1587     <tr><td><code>%{<em>name</em>}e</code></td>
1588         <td>Variable d'environnement de requ&ecirc;te <em>name</em></td></tr>
1589
1590     <tr><td><code>%E</code></td>
1591         <td>Etat d'erreur APR/OS et cha&icirc;ne</td></tr>
1592
1593     <tr><td><code>%F</code></td>
1594         <td>Nom du fichier source et num&eacute;ro de ligne de l'appel du
1595         journal</td></tr>
1596
1597     <tr><td><code>%{<em>name</em>}i</code></td>
1598         <td>En-t&ecirc;te de requ&ecirc;te <em>name</em></td></tr>
1599
1600     <tr><td><code>%k</code></td>
1601         <td>Nombre de requ&ecirc;tes persistantes pour cette connexion</td></tr>
1602
1603     <tr><td><code>%l</code></td>
1604         <td>S&eacute;v&eacute;rit&eacute; du message</td></tr>
1605
1606     <tr><td><code>%L</code></td>
1607         <td>Identifiant journal de la requ&ecirc;te</td></tr>
1608
1609     <tr><td><code>%{c}L</code></td>
1610         <td>Identifiant journal de la connexion</td></tr>
1611
1612     <tr><td><code>%{C}L</code></td>
1613         <td>Identifiant journal de la connexion si utilis&eacute; dans la
1614         port&eacute;e de la connexion, vide sinon</td></tr>
1615
1616     <tr><td><code>%m</code></td>
1617         <td>Nom du module qui effectue la journalisation du message</td></tr>
1618
1619     <tr><td><code>%M</code></td>
1620         <td>Le message effectif</td></tr>
1621
1622     <tr><td><code>%{<em>name</em>}n</code></td>
1623         <td>Note de requ&ecirc;te <em>name</em></td></tr>
1624
1625     <tr><td><code>%P</code></td>
1626         <td>Identifiant du processus courant</td></tr>
1627
1628     <tr><td><code>%T</code></td>
1629         <td>Identifiant du thread courant</td></tr>
1630
1631     <tr><td><code>%{g}T</code></td>
1632         <td>Identifiant unique de thread syst&egrave;me du thread courant
1633         (l'identifiant affich&eacute; par la commande <code>top</code> par
1634         exemple ; seulement sous Linux pour l'instant)</td></tr>
1635
1636     <tr><td><code>%t</code></td>
1637         <td>L'heure courante</td></tr>
1638
1639     <tr><td><code>%{u}t</code></td>
1640         <td>L'heure courante avec les microsecondes</td></tr>
1641
1642     <tr><td><code>%{cu}t</code></td>
1643         <td>L'heure courante au format compact ISO 8601, avec les
1644         microsecondes</td></tr>
1645
1646     <tr><td><code>%v</code></td>
1647         <td>Le nom de serveur canonique <directive
1648         module="core">ServerName</directive> du serveur courant.</td></tr>
1649
1650     <tr><td><code>%V</code></td>
1651         <td>Le nom de serveur du serveur qui sert la requ&ecirc;te en accord
1652         avec la d&eacute;finition de la directive <directive module="core"
1653         >UseCanonicalName</directive>.</td></tr>
1654
1655     <tr><td><code>\&nbsp;</code> (anti-slash espace)</td>
1656         <td>Espace non d&eacute;limiteur</td></tr>
1657
1658     <tr><td><code>%&nbsp;</code> (pourcentage espace)</td>
1659         <td>D&eacute;limiteur de champ (aucune sortie)</td></tr>
1660     </table>
1661
1662     <p>L'item de format identifiant journal <code>%L</code> g&eacute;n&egrave;re un
1663     identifiant unique pour une connexion ou une requ&ecirc;te. Il peut servir
1664     &agrave; d&eacute;terminer quelles lignes correspondent &agrave; la m&ecirc;me connexion ou
1665     requ&ecirc;te ou quelle requ&ecirc;te est associ&eacute;e &agrave; tel connexion. Un item de
1666     format <code>%L</code> est aussi disponible dans le module
1667     <module>mod_log_config</module>, mais il permet dans ce contexte de
1668     corr&eacute;ler les entr&eacute;es du journal des acc&egrave;s avec celles du journal des
1669     erreurs. Si le module <module>mod_unique_id</module> est charg&eacute;,
1670     c'est son identifiant unique qui sera utilis&eacute; comme identifiant de
1671     journal pour les requ&ecirc;tes.</p>
1672
1673     <highlight language="config">
1674 # Exemple (format par d&eacute;faut pour les MPMs thread&eacute;s)
1675 ErrorLogFormat "[%{u}t] [%-m:%l] [pid %P:tid %T] %7F: %E: [client\ %a] %M%&nbsp;,\&nbsp;referer\&nbsp;%{Referer}i"
1676     </highlight>
1677
1678     <p>Cet exemple renverrait un message d'erreur du style :</p>
1679
1680     <example>
1681     [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
1682     </example>
1683
1684     <p>Notez que, comme indiqu&eacute; plus haut, certains champs sont
1685     totalement supprim&eacute;s s'ils n'ont pas &eacute;t&eacute; d&eacute;finis.</p>
1686
1687     <highlight language="config">
1688 # Exemple (similaire au format 2.2.x)
1689 ErrorLogFormat "[%t] [%l] %7F: %E: [client\ %a] %M%&nbsp;,\&nbsp;referer\&nbsp;%{Referer}i"
1690     </highlight>
1691
1692     <highlight language="config">
1693 # Exemple avanc&eacute; avec identifiants journal de requ&ecirc;te/connexion
1694 ErrorLogFormat "[%{uc}t] [%-m:%-l] [R:%L] [C:%{C}L] %7F: %E: %M"
1695 ErrorLogFormat request "[%{uc}t] [R:%L] Request %k on C:%{c}L pid:%P tid:%T"
1696 ErrorLogFormat request "[%{uc}t] [R:%L] UA:'%+{User-Agent}i'"
1697 ErrorLogFormat request "[%{uc}t] [R:%L] Referer:'%+{Referer}i'"
1698 ErrorLogFormat connection "[%{uc}t] [C:%{c}L] local\ %a remote\ %A"
1699     </highlight>
1700
1701 </usage>
1702 <seealso><directive module="core">ErrorLog</directive></seealso>
1703 <seealso><directive module="core">LogLevel</directive></seealso>
1704 <seealso><a href="../logs.html">Fichiers journaux du serveur HTTP Apache</a></seealso>
1705 </directivesynopsis>
1706
1707 <directivesynopsis>
1708 <name>ExtendedStatus</name>
1709 <description>Extrait des informations d'&eacute;tat &eacute;tendues pour chaque
1710 requ&ecirc;te</description>
1711 <syntax>ExtendedStatus On|Off</syntax>
1712 <default>ExtendedStatus Off</default>
1713 <contextlist><context>server config</context></contextlist>
1714
1715 <usage>
1716
1717         <p>Cette option permet d'extraire des donn&eacute;es suppl&eacute;mentaires
1718         concernant la requ&ecirc;te en cours de traitement pour un processus
1719         donn&eacute;, ainsi qu'un r&eacute;sum&eacute; d'utilisation ; vous pouvez acc&eacute;der &agrave;
1720         ces variables pendant l'ex&eacute;cution en configurant
1721         <module>mod_status</module>. Notez que d'autres modules sont
1722         susceptibles de s'appuyer sur ce tableau de bord.</p>
1723
1724     <p>Cette directive s'applique au serveur dans son ensemble, et ne
1725     peut pas &ecirc;tre activ&eacute;e/d&eacute;sactiv&eacute;e pour un serveur virtuel
1726     particulier. Notez que l'extraction des informations d'&eacute;tat &eacute;tendues
1727     peut ralentir le serveur. Notez aussi que cette d&eacute;finition ne peut
1728     pas &ecirc;tre modifi&eacute;e au cours d'un red&eacute;marrage graceful.</p>
1729
1730     <note>
1731     <p>Notez que le chargement de <module>mod_status</module> d&eacute;finit
1732     automatiquement ExtendedStatus &agrave; On, et que d'autres modules tiers
1733     sont susceptibles d'en faire de m&ecirc;me. De tels modules ont besoin
1734     d'informations d&eacute;taill&eacute;es &agrave; propos de l'&eacute;tat de tous les processus.
1735     Depuis la version 2.3.6, <module>mod_status</module> a d&eacute;finit la
1736     valeur par d&eacute;faut &agrave; On, alors qu'elle &eacute;tait &agrave; Off dans les versions
1737     ant&eacute;rieures.</p>
1738     </note>
1739
1740 </usage>
1741
1742 </directivesynopsis>
1743
1744 <directivesynopsis>
1745 <name>FileETag</name>
1746 <description>Caract&eacute;ristiques de fichier utilis&eacute;es lors de la g&eacute;n&eacute;ration
1747 de l'en-t&ecirc;te de r&eacute;ponse HTTP ETag pour les fichiers statiques</description>
1748 <syntax>FileETag <var>composant</var> ...</syntax>
1749 <default>FileETag MTime Size</default>
1750 <contextlist><context>server config</context><context>virtual
1751 host</context>
1752 <context>directory</context><context>.htaccess</context>
1753 </contextlist>
1754 <override>FileInfo</override>
1755 <compatibility>La valeur par d&eacute;faut &eacute;tait "INode&nbsp;MTime&nbsp;Size"
1756 dans les versions 2.3.14 et ant&eacute;rieures.</compatibility>
1757
1758 <usage>
1759     <p>
1760     La directive <directive>FileETag</directive> d&eacute;finit les
1761     caract&eacute;ristiques de fichier utilis&eacute;es lors de la g&eacute;n&eacute;ration de
1762     l'en-t&ecirc;te de r&eacute;ponse HTTP <code>ETag</code> (entity tag) quand le
1763     document est contenu dans un fichier statique(la valeur de
1764     <code>ETag</code>
1765     est utilis&eacute;e dans le cadre de la gestion du cache pour pr&eacute;server la
1766     bande passante r&eacute;seau). La directive
1767     <directive>FileETag</directive> vous permet maintenant de choisir
1768     quelles caract&eacute;ristiques du fichier vont &ecirc;tre utilis&eacute;es, le cas
1769     &eacute;ch&eacute;ant. Les mots-cl&eacute;s reconnus sont :
1770     </p>
1771
1772     <dl>
1773      <dt><strong>INode</strong></dt>
1774      <dd>Le num&eacute;ro d'i-node du fichier sera inclus dans le processus de
1775      g&eacute;n&eacute;ration</dd>
1776      <dt><strong>MTime</strong></dt>
1777      <dd>La date et l'heure auxquelles le fichier a &eacute;t&eacute; modifi&eacute; la
1778      derni&egrave;re fois seront incluses</dd>
1779      <dt><strong>Size</strong></dt>
1780      <dd>La taille du fichier en octets sera incluse</dd>
1781      <dt><strong>All</strong></dt>
1782      <dd>Tous les champs disponibles seront utilis&eacute;s. Cette d&eacute;finition
1783      est &eacute;quivalente &agrave; : 
1784      <highlight language="config">FileETag INode MTime Size</highlight></dd>
1785      <dt><strong>None</strong></dt>
1786      <dd>Si le document se compose d'un fichier, aucun champ
1787      <code>ETag</code> ne sera inclus dans la r&eacute;ponse</dd>
1788     </dl>
1789
1790     <p>Les mots-cl&eacute;s <code>INode</code>, <code>MTime</code>, et
1791     <code>Size</code> peuvent &ecirc;tre pr&eacute;fix&eacute;s par <code>+</code> ou
1792     <code>-</code>, ce qui permet de modifier les valeurs par d&eacute;faut
1793     h&eacute;rit&eacute;es d'un niveau de configuration plus g&eacute;n&eacute;ral. Tout mot-cl&eacute;
1794     apparaissant sans aucun pr&eacute;fixe annule enti&egrave;rement et imm&eacute;diatement
1795     les configurations h&eacute;rit&eacute;es.</p>
1796
1797     <p>Si la configuration d'un r&eacute;pertoire contient
1798     <code>FileETag&nbsp;INode&nbsp;MTime&nbsp;Size</code>, et si un de
1799     ses sous-r&eacute;pertoires contient <code>FileETag&nbsp;-INode</code>, la
1800     configuration de ce sous-r&eacute;pertoire (qui sera propag&eacute;e vers tout
1801     sous-r&eacute;pertoire qui ne la supplante pas), sera &eacute;quivalente &agrave;
1802     <code>FileETag&nbsp;MTime&nbsp;Size</code>.</p>
1803     <note type="warning"><title>Avertissement</title>
1804     Ne modifiez pas les valeurs par d&eacute;faut pour les r&eacute;pertoires ou
1805     localisations o&ugrave; WebDAV est activ&eacute; et qui utilisent
1806     <module>mod_dav_fs</module> comme fournisseur de stockage.
1807     <module>mod_dav_fs</module> utilise
1808     <code>MTime&nbsp;Size</code> comme format fixe pour les
1809     comparaisons de champs <code>ETag</code> dans les requ&ecirc;tes
1810     conditionnelles. Ces requ&ecirc;tes conditionnelles &eacute;choueront si le
1811     format <code>ETag</code> est modifi&eacute; via la directive
1812     <directive>FileETag</directive>.
1813     </note>
1814     <note><title>Inclusions c&ocirc;t&eacute; serveur</title>
1815     Aucun champ ETag n'est g&eacute;n&eacute;r&eacute; pour les r&eacute;ponses interpr&eacute;t&eacute;es par
1816     <module>mod_include</module>, car l'entit&eacute; de la r&eacute;ponse peut
1817     changer sans modification de l'INode, du MTime, ou de la taille du
1818     fichier statique contenant les directives SSI.
1819     </note>
1820
1821
1822 </usage>
1823 </directivesynopsis>
1824
1825 <directivesynopsis type="section">
1826 <name>Files</name>
1827 <description>Contient des directives qui s'appliquent aux fichiers
1828 pr&eacute;cis&eacute;s</description>
1829 <syntax>&lt;Files <var>nom fichier</var>&gt; ... &lt;/Files&gt;</syntax>
1830 <contextlist><context>server config</context><context>virtual
1831 host</context>
1832 <context>directory</context><context>.htaccess</context>
1833 </contextlist>
1834 <override>All</override>
1835
1836 <usage>
1837     <p>La directive <directive type="section">Files</directive> limite
1838     la port&eacute;e des directives qu'elle contient aux fichiers pr&eacute;cis&eacute;s.
1839     Elle est comparable aux directives <directive module="core"
1840     type="section">Directory</directive> et <directive module="core"
1841     type="section">Location</directive>. Elle doit se terminer par une
1842     balise <code>&lt;/Files&gt;</code>. Les directives contenues dans
1843     cette section s'appliqueront &agrave; tout objet dont le nom de base (la
1844     derni&egrave;re partie du nom de fichier) correspond au fichier sp&eacute;cifi&eacute;.
1845     Les sections <directive type="section">Files</directive> sont
1846     trait&eacute;es selon l'ordre dans lequel elles apparaissent dans le
1847     fichier de configuration, apr&egrave;s les sections <directive module="core"
1848     type="section">Directory</directive> et la lecture des fichiers
1849     <code>.htaccess</code>, mais avant les sections <directive
1850     type="section" module="core">Location</directive>. Notez que les
1851     sections <directive type="section">Files</directive> peuvent &ecirc;tre
1852     imbriqu&eacute;es dans les sections <directive type="section"
1853     module="core">Directory</directive> afin de restreindre la portion
1854     du syst&egrave;me de fichiers &agrave; laquelle ces derni&egrave;res vont
1855     s'appliquer.</p>
1856
1857     <p>L'argument <var>filename</var> peut contenir un nom de fichier
1858     ou une cha&icirc;ne de caract&egrave;res avec caract&egrave;res g&eacute;n&eacute;riques, o&ugrave;
1859     <code>?</code> remplace un caract&egrave;re, et <code>*</code> toute cha&icirc;ne
1860     de caract&egrave;res.</p>
1861     <highlight language="config">
1862 &lt;Files "cat.html"&gt;
1863     # Ins&eacute;rer ici des directives qui s'appliquent au fichier cat.html
1864 &lt;/Files&gt;
1865
1866 &lt;Files "?at.*"&gt;
1867     # Les directives ins&eacute;r&eacute;es ici s'appliqueront aux fichiers
1868     # cat.html, bat.html, hat.php, et ainsi de suite.
1869 &lt;/Files&gt;
1870 </highlight>
1871     
1872     <p>On peut aussi utiliser les <glossary
1873     ref="regex">Expressions rationnelles</glossary> en ajoutant la
1874     caract&egrave;re <code>~</code>. Par exemple :</p>
1875
1876     <highlight language="config">
1877 &lt;Files ~ "\.(gif|jpe?g|png)$"&gt;
1878     #...
1879 &lt;/Files&gt;
1880 </highlight>
1881
1882     <p>correspondrait &agrave; la plupart des formats graphiques de l'Internet.
1883     Il est cependant pr&eacute;f&eacute;rable d'utiliser la directive <directive
1884     module="core" type="section">FilesMatch</directive>.</p>
1885
1886     <p>Notez qu'&agrave; la diff&eacute;rence des sections <directive type="section"
1887     module="core">Directory</directive> et <directive type="section"
1888     module="core">Location</directive>, les sections <directive
1889     type="section">Files</directive> peuvent &ecirc;tre utilis&eacute;es dans les
1890     fichiers <code>.htaccess</code>. Ceci permet aux utilisateurs de
1891     contr&ocirc;ler l'acc&egrave;s &agrave; leurs propres ressources, fichier par
1892     fichier.</p>
1893
1894 </usage>
1895 <seealso><a href="../sections.html">Comment fonctionnent les sections
1896 &lt;Directory&gt;, &lt;Location&gt; et &lt;Files&gt;</a> pour une
1897 explication de la mani&egrave;re dont ces diff&eacute;rentes sections se combinent
1898 entre elles &agrave; la r&eacute;ception d'une requ&ecirc;te</seealso>
1899 </directivesynopsis>
1900
1901 <directivesynopsis type="section">
1902 <name>FilesMatch</name>
1903 <description>Contient des directives qui s'appliquent &agrave; des fichiers
1904 sp&eacute;cifi&eacute;s sous la forme d'expressions rationnelles</description>
1905 <syntax>&lt;FilesMatch <var>expression rationnelle</var>&gt; ...
1906 &lt;/FilesMatch&gt;</syntax>
1907 <contextlist><context>server config</context><context>virtual
1908 host</context>
1909 <context>directory</context><context>.htaccess</context>
1910 </contextlist>
1911 <override>All</override>
1912
1913 <usage>
1914     <p>La section <directive type="section">FilesMatch</directive>
1915     limite la port&eacute;e des directives qu'elle contient aux fichiers
1916     sp&eacute;cifi&eacute;s, tout comme le ferait une section <directive module="core"
1917     type="section">Files</directive>. Mais elle accepte aussi les
1918     <glossary ref="regex">expressions rationnelles</glossary>. Par
1919     exemple :</p>
1920
1921     <highlight language="config">
1922 &lt;FilesMatch "\.(gif|jpe?g|png)$"&gt;
1923     # ...
1924 &lt;/FilesMatch&gt;
1925 </highlight>
1926
1927     <p>correspondrait &agrave; la plupart des formats graphiques de
1928     l'Internet.</p>
1929
1930     <p>A partir de la version 2.4.8, les groupes nomm&eacute;s et les
1931     r&eacute;f&eacute;rences arri&egrave;res sont extraits et enregistr&eacute;s dans
1932     l'environnement avec leur nom en majuscules et pr&eacute;fix&eacute;
1933     par "MATCH_". Ceci permet
1934     de r&eacute;f&eacute;rencer des URLs dans des <a href="../expr.html">expressions</a>
1935     ou au sein de modules comme <module>mod_rewrite</module>. Pour
1936     &eacute;viter toute confusion, les r&eacute;f&eacute;rences arri&egrave;res num&eacute;rot&eacute;es (non
1937     nomm&eacute;es) sont ignor&eacute;es. Vous devez utiliser &agrave; la place des groupes
1938     nomm&eacute;s.</p>
1939
1940 <highlight language="config">
1941 &lt;FilesMatch ^(?&lt;sitename&gt;[^/]+)&gt;
1942     require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
1943 &lt;/FilesMatch&gt;
1944 </highlight>    
1945 </usage>
1946
1947 <seealso><a href="../sections.html">Comment fonctionnent les sections
1948 &lt;Directory&gt;, &lt;Location&gt; et &lt;Files&gt;</a> pour une
1949 explication de la mani&egrave;re dont ces diff&eacute;rentes sections se combinent
1950 entre elles &agrave; la r&eacute;ception d'une requ&ecirc;te</seealso>
1951 </directivesynopsis>
1952
1953 <directivesynopsis>
1954 <name>ForceType</name>
1955 <description>Force le type de m&eacute;dium sp&eacute;cifi&eacute; dans le champ d'en-t&ecirc;te
1956 HTTP Content-Type pour les fichiers correspondants</description>
1957 <syntax>ForceType <var>type m&eacute;dium</var>|None</syntax>
1958 <contextlist><context>directory</context><context>.htaccess</context>
1959 </contextlist>
1960 <override>FileInfo</override>
1961
1962 <usage>
1963     <p>Lorsqu'elle est plac&eacute;e dans un fichier <code>.htaccess</code> ou
1964     une section <directive type="section"
1965     module="core">Directory</directive>, <directive type="section"
1966     module="core">Location</directive>, ou <directive type="section"
1967     module="core">Files</directive>, cette directive force
1968     l'identification du type MIME des fichiers sp&eacute;cifi&eacute;s &agrave; la valeur de
1969     l'argument <var>type m&eacute;dium</var>. Par exemple, si vous poss&eacute;dez un
1970     r&eacute;pertoire ne contenant que des fichiers GIF, et si vous ne voulez
1971     pas leur ajouter l'extension <code>.gif</code>, vous pouvez utiliser
1972     :</p>
1973
1974     <highlight language="config">ForceType image/gif</highlight>
1975
1976     <p>Notez que cette directive l'emporte sur d'autres associations de
1977     type de m&eacute;dium indirectes d&eacute;finies dans mime.types ou via la
1978     directive <directive module="mod_mime">AddType</directive>.</p>
1979
1980     <p>Vous pouvez aussi annuler toute d&eacute;finition plus g&eacute;n&eacute;rale de
1981     <directive>ForceType</directive> en affectant la valeur
1982     <code>None</code> &agrave; l'argument <var>type m&eacute;dium</var> :</p>
1983
1984     <highlight language="config">
1985 # force le type MIME de tous les fichiers &agrave; image/gif:
1986 &lt;Location /images&gt;
1987   ForceType image/gif
1988 &lt;/Location&gt;
1989
1990 # mais utilise les m&eacute;thodes classiques d'attribution du type MIME
1991 # dans le sous-r&eacute;pertoire suivant :
1992 &lt;Location /images/mixed&gt;
1993   ForceType None
1994 &lt;/Location&gt;
1995     </highlight>
1996     
1997     <p>A la base, cette directive &eacute;crase le type de contenu g&eacute;n&eacute;r&eacute; pour
1998     les fichiers statiques servis &agrave; partir du syt&egrave;me de fichiers. Pour
1999     les ressources autres que les fichiers statiques pour lesquels le
2000     g&eacute;n&eacute;rateur de r&eacute;ponse sp&eacute;cifie en g&eacute;n&eacute;ral un type de contenu, cette
2001     directive est ignor&eacute;e.</p>
2002
2003 </usage>
2004 </directivesynopsis>
2005 <directivesynopsis>
2006 <name>GprofDir</name>
2007 <description>R&eacute;pertoire dans lequel &eacute;crire les donn&eacute;es de profiling
2008 gmon.out.</description>
2009 <syntax>GprofDir <var>/tmp/gprof/</var>|<var>/tmp/gprof/</var>%</syntax>
2010 <contextlist><context>server config</context><context>virtual host</context>
2011 </contextlist>
2012
2013 <usage>
2014     <p>Lorsque le serveur a &eacute;t&eacute; compil&eacute; avec le support du profiling
2015     gprof, la directive <directive>GprofDir</directive> permet de
2016     sp&eacute;cifier dans quel r&eacute;pertoire les fichiers <code>gmon.out</code>
2017     doivent &ecirc;tre &eacute;crits lorsque le processus s'arr&ecirc;te. Si l'argument se
2018     termine par un caract&egrave;re pourcentage ('%'), des sous-r&eacute;pertoires
2019     sont cr&eacute;&eacute;s pour chaque identifiant de processus.</p>
2020
2021     <p>Cette directive ne fonctionne actuellement qu'avec le MPM
2022     <module>prefork</module>.</p>
2023 </usage>
2024 </directivesynopsis>
2025
2026 <directivesynopsis>
2027 <name>HostnameLookups</name>
2028 <description>Active la recherche DNS sur les adresses IP des
2029 clients</description>
2030 <syntax>HostnameLookups On|Off|Double</syntax>
2031 <default>HostnameLookups Off</default>
2032 <contextlist><context>server config</context><context>virtual
2033 host</context>
2034 <context>directory</context></contextlist>
2035
2036 <usage>
2037     <p>Cette directive active la recherche DNS afin de pouvoir
2038     journaliser les nom d'h&ocirc;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&eacute;clenche une double recherche DNS inverse. En
2041     d'autres termes, une fois la recherche inverse effectu&eacute;e, on lance
2042     une recherche directe sur le r&eacute;sultat de cette derni&egrave;re. Au moins
2043     une des adresses IP fournies par la recherche directe doit
2044     correspondre &agrave; l'adresse originale (ce que l'on nomme
2045     <code>PARANOID</code> dans la terminologie "tcpwrappers").</p>
2046
2047     <p>Quelle que soit la configuration, lorsqu'on utilise
2048     <module>mod_authz_host</module> pour contr&ocirc;ler l'acc&egrave;s en fonction
2049     du nom d'h&ocirc;te, une double recherche DNS inverse est effectu&eacute;e,
2050     s&eacute;curit&eacute; oblige. Notez cependant que le r&eacute;sultat de cette double
2051     recherche n'est en g&eacute;n&eacute;ral pas accessible, &agrave; moins que vous n'ayez
2052     sp&eacute;cifi&eacute; <code>HostnameLookups Double</code>. Par exemple, si vous
2053     n'avez sp&eacute;cifi&eacute; que <code>HostnameLookups On</code>, et si une
2054     requ&ecirc;te concerne un objet prot&eacute;g&eacute; par des restrictions en fonction
2055     du nom d'h&ocirc;te, quel que soit le r&eacute;sultat de la double recherche
2056     inverse, les programmes CGI ne recevront que le r&eacute;sultat de la
2057     recherche inverse simple dans la variable
2058     <code>REMOTE_HOST</code>.</p>
2059
2060     <p>La valeur par d&eacute;faut est <code>Off</code> afin de pr&eacute;server le
2061     traffic r&eacute;seau des sites pour lesquels la recherche inverse n'est
2062     pas vraiment n&eacute;cessaire. Cette valeur par d&eacute;faut est aussi b&eacute;n&eacute;fique
2063     pour les utilisateurs finaux car il n'ont ainsi pas &agrave; subir de temps
2064     d'attente suppl&eacute;mentaires dus aux recherches DNS. Les sites
2065     fortement charg&eacute;s devraient laisser cette directive &agrave;
2066     <code>Off</code>, car les recherches DNS peuvent prendre des temps
2067     tr&egrave;s longs. Vous pouvez &eacute;ventuellement utiliser hors ligne
2068     l'utilitaire <program>logresolve</program>, compil&eacute; par d&eacute;faut dans
2069     le sous-r&eacute;pertoire <code>bin</code> de votre r&eacute;pertoire
2070     d'installation, afin de d&eacute;terminer les noms d'h&ocirc;tes associ&eacute;s aux
2071     adresses IP journalis&eacute;es.</p>
2072
2073     <p>Enfin, si vous avez des <a
2074     href="mod_authz_host.html#reqhost">directives Require &agrave; base de
2075     nom</a>, une recherche de nom d'h&ocirc;te sera effectu&eacute;e quelle que soit
2076     la d&eacute;finition de la directive <code>HostnameLookups</code>.</p>
2077 </usage>
2078 </directivesynopsis>
2079
2080 <directivesynopsis type="section">
2081 <name>If</name>
2082 <description>Contient des directives qui ne s'appliquent que si une
2083 condition est satisfaite au cours du traitement d'une
2084 requ&ecirc;te</description>
2085 <syntax>&lt;If <var>expression</var>&gt; ... &lt;/If&gt;</syntax>
2086 <contextlist><context>server config</context><context>virtual
2087 host</context>
2088 <context>directory</context><context>.htaccess</context>
2089 </contextlist>
2090 <override>All</override>
2091
2092 <usage>
2093     <p>La directive <directive type="section">If</directive> &eacute;value une
2094     expression &agrave; la vol&eacute;e, et applique les directives qu'elle contient
2095     si et seulement si l'expression renvoie la valeur "vrai". Par
2096     exemple :</p>
2097
2098     <highlight language="config">&lt;If "-z req('Host')"&gt;</highlight>
2099
2100     <p>serait satisfaite pour les requ&ecirc;tes HTTP/1.0 sans en-t&ecirc;te
2101     <var>Host:</var>. Les expressions peuvent contenir diff&eacute;rents
2102     op&eacute;rateurs de type shell pour la comparaison de cha&icirc;nes
2103     (<code>==</code>, <code>!=</code>, <code>&lt;</code>, ...), la
2104     comparaison d'entiers (<code>-eq</code>, <code>-ne</code>, ...), ou
2105     &agrave; usages divers (<code>-n</code>, <code>-z</code>, <code>-f</code>,
2106     ...). Les expressions rationnelles sont aussi support&eacute;es,</p>
2107
2108     <highlight language="config">&lt;If "%{QUERY_STRING} =~ /(delete|commit)=.*?elem/"&gt;</highlight>
2109
2110     <p>ainsi que les comparaison de mod&egrave;les de type shell et de
2111     nombreuses autres op&eacute;rations. Ces op&eacute;rations peuvent &ecirc;tre effectu&eacute;es
2112     sur les en-t&ecirc;tes de requ&ecirc;tes (<code>req</code>), les variables
2113     d'environnement (<code>env</code>), et un grand nombre d'autres
2114     propri&eacute;t&eacute;s. La documentation compl&egrave;te est disponible dans <a
2115     href="../expr.html">Les expressions dans le serveur HTTP Apache</a>.</p>
2116
2117     <p>Cette section de configuration ne peut contenir que des
2118     directives qui supportent le <a
2119     href="directive-dict.html#Context">contexte de r&eacute;pertoire</a>.</p>
2120
2121 </usage>
2122
2123 <seealso><a href="../expr.html">Les expressions dans le serveur HTTP
2124 Apache</a>, pour une r&eacute;f&eacute;rence compl&egrave;te et d'autres exemples.</seealso>
2125 <seealso><directive type="section" module="core">ElseIf</directive></seealso>
2126 <seealso><directive type="section" module="core">Else</directive></seealso>
2127 <seealso><a href="../sections.html">Comment fonctionnent les sections
2128 &lt;Directory&gt;, &lt;Location&gt; et &lt;Files&gt;</a> pour une
2129 explication de la mani&egrave;re dont ces diff&eacute;rentes sections se combinent
2130 entre elles &agrave; la r&eacute;ception d'une requ&ecirc;te. Les
2131 directives <directive type="section">If</directive>, <directive
2132 type="section">ElseIf</directive>, et <directive
2133 type="section">Else</directive> s'appliquent en dernier.</seealso>
2134 </directivesynopsis>
2135
2136 <directivesynopsis type="section">
2137 <name>IfDefine</name>
2138 <description>Contient des directives qui ne s'appliqueront que si un
2139 test retourne "vrai" au d&eacute;marrage du serveur</description>
2140 <syntax>&lt;IfDefine [!]<var>param&egrave;tre</var>&gt; ...
2141     &lt;/IfDefine&gt;</syntax>
2142 <contextlist><context>server config</context><context>virtual
2143 host</context>
2144 <context>directory</context><context>.htaccess</context>
2145 </contextlist>
2146 <override>All</override>
2147
2148 <usage>
2149     <p>La section <code>&lt;IfDefine
2150     <var>test</var>&gt;...&lt;/IfDefine&gt;</code> permet de
2151     conf&eacute;rer un caract&egrave;re conditionnel &agrave; un ensemble de directives. Les
2152     directives situ&eacute;es &agrave; l'int&eacute;rieur d'une section <directive
2153     type="section">IfDefine</directive> ne s'appliquent que si
2154     <var>test</var> est vrai. Si <var>test</var> est faux, tout ce qui
2155     se trouve entre les balises de d&eacute;but et de fin est ignor&eacute;.</p>
2156
2157     <p><var>test</var> peut se pr&eacute;senter sous deux formes :</p>
2158
2159     <ul>
2160       <li><var>nom param&egrave;tre</var></li>
2161
2162       <li><code>!</code><var>nom param&egrave;tre</var></li>
2163     </ul>
2164
2165     <p>Dans le premier cas, les directives situ&eacute;es entre les balises de
2166     d&eacute;but et de fin ne s'appliqueront que si le param&egrave;tre nomm&eacute; <var>nom
2167     param&egrave;tre</var> est d&eacute;fini. Le second format inverse le test, et
2168     dans ce cas, les directives ne s'appliqueront que si <var>nom
2169     param&egrave;tre</var> n'est <strong>pas</strong> d&eacute;fini.</p>
2170
2171     <p>L'argument <var>nom param&egrave;tre</var> est une d&eacute;finition qui peut
2172     &ecirc;tre effectu&eacute;e par la ligne de commande
2173     <program>httpd</program> via le param&egrave;tre
2174     <code>-D<var>param&egrave;tre</var></code> au d&eacute;marrage du serveur, ou via la
2175     directive <directive module="core">Define</directive>.</p>
2176
2177     <p>Les sections <directive type="section">IfDefine</directive>
2178     peuvent &ecirc;tre imbriqu&eacute;es, ce qui permet d'impl&eacute;menter un test
2179     multi-param&egrave;tres simple. Exemple :</p>
2180
2181     <example>httpd -DReverseProxy -DUseCache -DMemCache ...</example>
2182     <highlight language="config">
2183 &lt;IfDefine ReverseProxy&gt;
2184   LoadModule proxy_module   modules/mod_proxy.so
2185   LoadModule proxy_http_module   modules/mod_proxy_http.so
2186   &lt;IfDefine UseCache&gt;
2187     LoadModule cache_module   modules/mod_cache.so
2188     &lt;IfDefine MemCache&gt;
2189       LoadModule mem_cache_module   modules/mod_mem_cache.so
2190     &lt;/IfDefine&gt;
2191     &lt;IfDefine !MemCache&gt;
2192       LoadModule cache_disk_module   modules/mod_cache_disk.so
2193     &lt;/IfDefine&gt;
2194   &lt;/IfDefine&gt;
2195 &lt;/IfDefine&gt;
2196     </highlight>
2197 </usage>
2198 </directivesynopsis>
2199
2200 <directivesynopsis type="section">
2201 <name>IfModule</name>
2202 <description>Contient des directives qui ne s'appliquent qu'en fonction
2203 de la pr&eacute;sence ou de l'absence d'un module sp&eacute;cifique</description>
2204 <syntax>&lt;IfModule [!]<var>fichier module</var>|<var>identificateur
2205 module</var>&gt; ... &lt;/IfModule&gt;</syntax>
2206 <contextlist><context>server config</context><context>virtual
2207 host</context>
2208 <context>directory</context><context>.htaccess</context>
2209 </contextlist>
2210 <override>All</override>
2211
2212 <usage>
2213     <p>La section <code>&lt;IfModule
2214     <var>test</var>&gt;...&lt;/IfModule&gt;</code> permet de conf&eacute;rer &agrave;
2215     des directives un caract&egrave;re conditionnel bas&eacute; sur la pr&eacute;sence d'un
2216     module sp&eacute;cifique. Les directives situ&eacute;es dans une section
2217     <directive type="section">IfModule</directive> ne s'appliquent que
2218     si <var>test</var> est vrai. Si <var>test</var> est faux, tout ce
2219     qui se trouve entre les balises de d&eacute;but et de fin est ignor&eacute;.</p>
2220
2221     <p><var>test</var> peut se pr&eacute;senter sous deux formes :</p>
2222
2223     <ul>
2224       <li><var>module</var></li>
2225
2226       <li>!<var>module</var></li>
2227     </ul>
2228
2229     <p>Dans le premier cas, les directives situ&eacute;es entre les balises de
2230     d&eacute;but et de fin ne s'appliquent que si le module <var>module</var>
2231     est pr&eacute;sent -- soit compil&eacute; avec le binaire Apache httpd, soit charg&eacute;
2232     dynamiquement via la directive <directive module="mod_so"
2233     >LoadModule</directive>. Le second format inverse le test, et dans
2234     ce cas, les directives ne s'appliquent que si <var>module</var>
2235     n'est <strong>pas</strong> pr&eacute;sent.</p>
2236
2237     <p>L'argument <var>module</var> peut contenir soit l'identificateur
2238     du module, soit le nom du fichier source du module. Par exemple,
2239     <code>rewrite_module</code> est un identificateur et
2240     <code>mod_rewrite.c</code> le nom du fichier source
2241     correspondant. Si un module comporte plusieurs fichiers sources,
2242     utilisez le nom du fichier qui contient la cha&icirc;ne de caract&egrave;res
2243     <code>STANDARD20_MODULE_STUFF</code>.</p>
2244
2245     <p>Les sections <directive type="section">IfModule</directive>
2246     peuvent &ecirc;tre imbriqu&eacute;es, ce qui permet d'impl&eacute;menter des tests
2247     multi-modules simples.</p>
2248
2249     <note>Cette section ne doit &ecirc;tre utilis&eacute;e que si votre fichier de
2250     configuration ne fonctionne qu'en fonction de la pr&eacute;sence ou de
2251     l'absence d'un module sp&eacute;cifique. D'une mani&egrave;re g&eacute;n&eacute;rale, il n'est
2252     pas n&eacute;cessaire de placer les directives &agrave; l'int&eacute;rieur de sections
2253     <directive type="section">IfModule</directive>.</note>
2254 </usage>
2255 </directivesynopsis>
2256
2257 <directivesynopsis>
2258 <name>Include</name>
2259 <description>Inclut d'autres fichiers de configuration dans un des
2260 fichiers de configuration du serveur</description>
2261 <syntax>Include <var>chemin-fichier</var>|<var>chemin-r&eacute;pertoire</var>|<var>wildcard</var></syntax>
2262 <contextlist><context>server config</context><context>virtual
2263 host</context>
2264 <context>directory</context>
2265 </contextlist>
2266 <compatibility>Utilisation des caract&egrave;res
2267 g&eacute;n&eacute;riques dans la partie chemin depuis la version 2.3.6</compatibility>
2268
2269 <usage>
2270     <p>Cette directive permet l'inclusion d'autres fichiers de
2271     configuration dans un des fichiers de configuration du serveur.</p>
2272
2273     <p>On peut utiliser des caract&egrave;res g&eacute;n&eacute;riques de style Shell
2274     (<code>fnmatch()</code>) aussi bien dans la partie nom de fichier du
2275     chemin que dans la partie r&eacute;pertoires pour inclure plusieurs
2276     fichiers en une
2277     seule fois, selon leur ordre alphab&eacute;tique. De plus, si la directive
2278     <directive>Include</directive> pointe vers un r&eacute;pertoire, Apache
2279     httpd inclura tous les fichiers de ce r&eacute;pertoire et de tous ces
2280     sous-r&eacute;pertoires. L'inclusion de r&eacute;pertoires entiers est cependant
2281     d&eacute;conseill&eacute;e, car il est fr&eacute;quent d'oublier des fichiers
2282     temporaires dans un r&eacute;pertoire, ce qui causerait une erreur
2283     <program>httpd</program> en cas d'inclusion. Pour inclure des
2284     fichiers qui correspondent &agrave; un certain mod&egrave;le, comme *.conf par
2285     exemple, nous vous recommandons d'utiliser plut&ocirc;t la syntaxe avec
2286     caract&egrave;res g&eacute;n&eacute;riques comme ci-dessous.</p>
2287
2288     <p>La directive <directive module="core">Include</directive>
2289     <strong>&eacute;chouera avec un code d'erreur</strong> si une expression
2290    contenant des caract&egrave;res g&eacute;n&eacute;riques ne correspond &agrave; aucun fichier.
2291    Pour ignorer les expressions contenant des caract&egrave;res g&eacute;n&eacute;riques ne
2292    correspondant &agrave; aucun fichier, utilisez la directive <directive
2293    module="core">IncludeOptional</directive>.</p>
2294
2295     <p>Le chemin fichier sp&eacute;cifi&eacute; peut &ecirc;tre soit un chemin absolu, soit
2296     un chemin relatif au r&eacute;pertoire d&eacute;fini par la directive <directive
2297     module="core">ServerRoot</directive>.</p>
2298
2299     <p>Exemples :</p>
2300
2301     <highlight language="config">
2302 Include /usr/local/apache2/conf/ssl.conf
2303 Include /usr/local/apache2/conf/vhosts/*.conf
2304     </highlight>
2305
2306     <p>ou encore, avec des chemins relatifs au r&eacute;pertoire d&eacute;fini par la
2307     directive <directive module="core">ServerRoot</directive> :</p>
2308
2309     <highlight language="config">
2310 Include conf/ssl.conf
2311 Include conf/vhosts/*.conf
2312     </highlight>
2313
2314     <p>On peut aussi ins&eacute;rer des caract&egrave;res g&eacute;n&eacute;riques dans la partie
2315     r&eacute;pertoires du chemin. Dans l'exemple suivant, la directive
2316     &eacute;chouera si aucun sous-r&eacute;pertoire de conf/vhosts ne contient au
2317     moins un fichier *.conf :</p>
2318   
2319     <highlight language="config">Include conf/vhosts/*/*.conf</highlight>
2320
2321     <p>Par contre, dans l'exemple suivant, la directive sera simplement
2322     ignor&eacute;e si aucun sous-r&eacute;pertoire de conf/vhosts ne contient au
2323     moins un fichier *.conf :</p>
2324
2325     <highlight language="config">IncludeOptional conf/vhosts/*/*.conf</highlight>
2326   
2327 </usage>    
2328
2329 <seealso><directive module="core">IncludeOptional</directive></seealso>
2330 <seealso><program>apachectl</program></seealso>
2331 </directivesynopsis>
2332
2333 <directivesynopsis>
2334 <name>IncludeOptional</name>
2335 <description>Inclusion de fichiers dans le fichier de configuration</description>
2336 <syntax>IncludeOptional
2337 <var>chemin-fichier</var>|<var>chemin-r&eacute;pertoire</var>|<var>wildcard</var></syntax>
2338 <contextlist><context>server config</context><context>virtual host</context>
2339 <context>directory</context>
2340 </contextlist>
2341 <compatibility>Disponible &agrave; partir de la version 2.3.6 du serveur HTTP
2342 Apache</compatibility>
2343  
2344 <usage>
2345     <p>Cette directive permet d'inclure des fichiers dans les fichiers
2346     de configuration du serveur. Elle fonctionne de mani&egrave;re identique &agrave;
2347     la directive <directive module="core">Include</directive>, &agrave;
2348     l'exception du fait que si l'expression avec caract&egrave;res g&eacute;n&eacute;riques
2349     wilcard ne correspond &agrave; aucun fichier ou r&eacute;pertoire, elle sera
2350     ignor&eacute;e silencieusement au lieu de causer une erreur.</p>    
2351     
2352 </usage>
2353
2354 <seealso><directive module="core">Include</directive></seealso>
2355 <seealso><program>apachectl</program></seealso>
2356 </directivesynopsis>
2357
2358 <directivesynopsis>
2359 <name>KeepAlive</name>
2360 <description>Active les connexions HTTP persistantes</description>
2361 <syntax>KeepAlive On|Off</syntax>
2362 <default>KeepAlive On</default>
2363 <contextlist><context>server config</context><context>virtual
2364 host</context>
2365 </contextlist>
2366
2367 <usage>
2368     <p>L'extension Keep-Alive de HTTP/1.0 et l'impl&eacute;mentation des
2369     connexions persistantes dans HTTP/1.1 ont rendu possibles des
2370     sessions HTTP de longue dur&eacute;e, ce qui permet de transmettre
2371     plusieurs requ&ecirc;tes via la m&ecirc;me connexion TCP. Dans certains cas, le
2372     gain en rapidit&eacute; pour des documents comportant de nombreuses images
2373     peut atteindre 50%. Pour activer les connexions persistantes,
2374     d&eacute;finissez <code>KeepAlive On</code>.</p>
2375
2376     <p>Pour les clients HTTP/1.0, les connexions persistantes ne seront
2377     mises en oeuvre que si elles ont &eacute;t&eacute; sp&eacute;cialement demand&eacute;es par un
2378     client. De plus, une connexion persistante avec un client HTTP/1.0
2379     ne peut &ecirc;tre utilis&eacute;e que si la taille du contenu est connue
2380     d'avance. Ceci implique que les contenus dynamiques comme les
2381     sorties CGI, les pages SSI, et les listings de r&eacute;pertoires g&eacute;n&eacute;r&eacute;s
2382     par le serveur n'utiliseront en g&eacute;n&eacute;ral pas les connexions
2383     persistantes avec les clients HTTP/1.0. Avec les clients HTTP/1.1,
2384     les connexions persistantes sont utilis&eacute;es par d&eacute;faut, sauf
2385     instructions contraires. Si le client le demande, le transfert par
2386     tron&ccedil;ons de taille fixe (chunked encoding) sera utilis&eacute; afin de
2387     transmettre un contenu de longueur inconnue via une connexion
2388     persistante.</p>
2389
2390     <p>Lorsqu'un client utilise une connexion persistante, elle comptera
2391     pour une seule requ&ecirc;te pour la directive <directive
2392     module="mpm_common">MaxConnectionsPerChild</directive>, quel
2393     que soit le nombre de requ&ecirc;tes transmises via cette connexion.</p>
2394 </usage>
2395
2396 <seealso><directive module="core">MaxKeepAliveRequests</directive></seealso>
2397 </directivesynopsis>
2398
2399 <directivesynopsis>
2400 <name>KeepAliveTimeout</name>
2401 <description>Dur&eacute;e pendant laquelle le serveur va attendre une requ&ecirc;te
2402 avant de fermer une connexion persistante</description>
2403 <syntax>KeepAliveTimeout <var>nombre</var>[ms]</syntax>
2404 <default>KeepAliveTimeout 5</default>
2405 <contextlist><context>server config</context><context>virtual
2406 host</context>
2407 </contextlist>
2408
2409 <usage>
2410     <p>Le nombre de secondes pendant lesquelles Apache httpd va attendre une
2411     requ&ecirc;te avant de fermer la connexion. Le d&eacute;lai peut &ecirc;tre d&eacute;fini en
2412     millisecondes en suffixant sa valeur par ms. La valeur du d&eacute;lai
2413     sp&eacute;cifi&eacute;e par la directive <directive
2414     module="core">Timeout</directive> s'applique d&egrave;s qu'une requ&ecirc;te a
2415     &eacute;t&eacute; re&ccedil;ue.</p>
2416
2417     <p>Donner une valeur trop &eacute;l&eacute;v&eacute;e &agrave;
2418     <directive>KeepAliveTimeout</directive> peut induire des probl&egrave;mes
2419     de performances sur les serveurs fortement charg&eacute;s. Plus le d&eacute;lai
2420     est &eacute;l&eacute;v&eacute;, plus nombreux seront les processus serveur en attente de
2421     requ&ecirc;tes de la part de clients inactifs.</p>
2422
2423     <p>Dans un contexte de serveur virtuel &agrave; base de nom, c'est
2424     la valeur de la paire adresse IP/port du serveur virtuel qui
2425     correspond le mieux qui sera utilis&eacute;e.</p>
2426 </usage>
2427 </directivesynopsis>
2428
2429 <directivesynopsis type="section">
2430 <name>Limit</name>
2431 <description>Limite les contr&ocirc;les d'acc&egrave;s que la section contient &agrave;
2432 certaines m&eacute;thodes HTTP</description>
2433 <syntax>&lt;Limit <var>m&eacute;thode</var> [<var>m&eacute;thode</var>] ... &gt; ...
2434     &lt;/Limit&gt;</syntax>
2435 <contextlist><context>directory</context><context>.htaccess</context>
2436 </contextlist>
2437 <override>AuthConfig, Limit</override>
2438
2439 <usage>
2440     <p>Les contr&ocirc;les d'acc&egrave;s s'appliquent normalement &agrave;
2441     <strong>toutes</strong> les m&eacute;thodes d'acc&egrave;s, et c'est en g&eacute;n&eacute;ral le
2442     comportement souhait&eacute;. <strong>Dans le cas g&eacute;n&eacute;ral, les directives
2443     de contr&ocirc;le d'acc&egrave;s n'ont pas &agrave; &ecirc;tre plac&eacute;es dans une section
2444     <directive type="section">Limit</directive>.</strong></p>
2445
2446     <p>La directive <directive type="section">Limit</directive> a pour
2447     but de limiter les effets des contr&ocirc;les d'acc&egrave;s aux m&eacute;thodes HTTP
2448     sp&eacute;cifi&eacute;es. Pour toutes les autres m&eacute;thodes, les restrictions
2449     d'acc&egrave;s contenues dans la section <directive
2450     type="section">Limit</directive> <strong>n'auront aucun
2451     effet</strong>. L'exemple suivant n'applique les contr&ocirc;les d'acc&egrave;s
2452     qu'aux m&eacute;thodes <code>POST</code>, <code>PUT</code>, et
2453     <code>DELETE</code>, en laissant les autres m&eacute;thodes sans protection
2454     :</p>
2455
2456     <highlight language="config">
2457 &lt;Limit POST PUT DELETE&gt;
2458   Require valid-user
2459 &lt;/Limit&gt;
2460     </highlight>
2461
2462     <p>La liste des noms de m&eacute;thodes peut contenir une ou plusieurs
2463     valeurs parmi les suivantes : <code>GET</code>, <code>POST</code>,
2464     <code>PUT</code>, <code>DELETE</code>, <code>CONNECT</code>,
2465     <code>OPTIONS</code>, <code>PATCH</code>, <code>PROPFIND</code>,
2466     <code>PROPPATCH</code>, <code>MKCOL</code>, <code>COPY</code>,
2467     <code>MOVE</code>, <code>LOCK</code>, et <code>UNLOCK</code>.
2468     <strong>Le nom de m&eacute;thode est sensible &agrave; la casse.</strong> Si la
2469     valeur <code>GET</code> est pr&eacute;sente, les requ&ecirc;tes <code>HEAD</code>
2470     seront aussi concern&eacute;es. La m&eacute;thode <code>TRACE</code> ne peut pas
2471     &ecirc;tre limit&eacute;e (voir la directive <directive
2472     module="core">TraceEnable</directive>).</p>
2473
2474     <note type="warning">Une section <directive
2475     type="section">LimitExcept</directive> doit toujours &ecirc;tre pr&eacute;f&eacute;r&eacute;e &agrave;
2476     une section <directive type="section">Limit</directive> pour la
2477     restriction d'acc&egrave;s, car une section <directive type="section"
2478     module="core">LimitExcept</directive> fournit une protection contre
2479     les m&eacute;thodes arbitraires.</note>
2480
2481     <p>Les directives <directive type="section">Limit</directive> et
2482     <directive type="section" module="core">LimitExcept</directive>
2483     peuvent &ecirc;tre imbriqu&eacute;es. Dans ce cas, pour chaque niveau des
2484     directives <directive type="section">Limit</directive> ou  <directive
2485     type="section" module="core">LimitExcept</directive>, ces derni&egrave;res
2486     doivent restreindre l'acc&egrave;s pour les m&eacute;thodes auxquelles les
2487     contr&ocirc;les d'acc&egrave;s s'appliquent.</p>
2488
2489     <note type="warning">Lorsqu'on utilise les directives <directive
2490     type="section">Limit</directive> ou <directive
2491     type="section">LimitExcept</directive> avec la directive <directive
2492     module="mod_authz_core">Require</directive>, la premi&egrave;re directive
2493     <directive module="mod_authz_core">Require</directive> dont la
2494     condition est satisfaite autorise la requ&ecirc;te, sans tenir compte de
2495     la pr&eacute;sence d'autres directives <directive
2496     module="mod_authz_core">Require</directive>.</note>
2497
2498     <p>Par exemple, avec la configuration suivante, tous les
2499     utilisateurs seront autoris&eacute;s &agrave; effectuer des requ&ecirc;tes
2500     <code>POST</code>, et la directive <code>Require group
2501     editors</code> sera ignor&eacute;e dans tous les cas :</p>
2502
2503     <highlight language="config">
2504 &lt;LimitExcept GET&gt;
2505   Require valid-user
2506 &lt;/LimitExcept&gt;
2507 &lt;Limit POST&gt;
2508   Require group editors
2509 &lt;/Limit&gt;
2510     </highlight>
2511 </usage>
2512 </directivesynopsis>
2513
2514 <directivesynopsis type="section">
2515 <name>LimitExcept</name>
2516 <description>Applique les contr&ocirc;les d'acc&egrave;s &agrave; toutes les m&eacute;thodes HTTP,
2517 sauf celles qui sont sp&eacute;cifi&eacute;es</description>
2518 <syntax>&lt;LimitExcept <var>m&eacute;thode</var> [<var>m&eacute;thode</var>] ... &gt; ...
2519     &lt;/LimitExcept&gt;</syntax>
2520 <contextlist><context>directory</context><context>.htaccess</context>
2521 </contextlist>
2522 <override>AuthConfig, Limit</override>
2523
2524 <usage>
2525     <p><directive type="section">LimitExcept</directive> et
2526     <code>&lt;/LimitExcept&gt;</code> permettent de regrouper des
2527     directives de contr&ocirc;le d'acc&egrave;s qui s'appliqueront &agrave; toutes les
2528     m&eacute;thodes d'acc&egrave;s HTTP qui ne font <strong>pas</strong> partie de la
2529     liste des arguments ; en d'autres termes, elles ont un comportement
2530     oppos&eacute; &agrave; celui de la section <directive type="section"
2531     module="core">Limit</directive>, et on peut les utiliser pour
2532     contr&ocirc;ler aussi bien les m&eacute;thodes standards que les m&eacute;thodes non
2533     standards ou non reconnues. Voir la documentation de la section
2534     <directive module="core" type="section">Limit</directive> pour plus
2535     de d&eacute;tails.</p>
2536
2537     <p>Par exemple :</p>
2538
2539     <highlight language="config">
2540 &lt;LimitExcept POST GET&gt;
2541   Require valid-user
2542 &lt;/LimitExcept&gt;
2543     </highlight>
2544
2545 </usage>
2546 </directivesynopsis>
2547
2548 <directivesynopsis>
2549 <name>LimitInternalRecursion</name>
2550 <description>D&eacute;termine le nombre maximal de redirections internes et de
2551 sous-requ&ecirc;tes imbriqu&eacute;es</description>
2552 <syntax>LimitInternalRecursion <var>nombre</var> [<var>nombre</var>]</syntax>
2553 <default>LimitInternalRecursion 10</default>
2554 <contextlist><context>server config</context><context>virtual
2555 host</context>
2556 </contextlist>
2557
2558 <usage>
2559     <p>Une redirection interne survient, par exemple, quand on utilise
2560     la directive <directive module="mod_actions">Action</directive> qui
2561     redirige en interne la requ&ecirc;te d'origine vers un script CGI. Une
2562     sous-requ&ecirc;te est le m&eacute;canisme qu'utilise Apache httpd pour d&eacute;terminer ce
2563     qui se passerait pour un URI s'il faisait l'objet d'une requ&ecirc;te. Par
2564     exemple, <module>mod_dir</module> utilise les sous-requ&ecirc;tes pour
2565     rechercher les fichiers list&eacute;s dans la directive <directive
2566     module="mod_dir">DirectoryIndex</directive>.</p>
2567
2568     <p>La directive <directive>LimitInternalRecursion</directive> permet
2569     d'&eacute;viter un crash du serveur d&ucirc; &agrave; un bouclage infini de redirections
2570     internes ou de sous-requ&ecirc;tes. De tels bouclages sont dus en g&eacute;n&eacute;ral
2571     &agrave; des erreurs de configuration.</p>
2572
2573     <p>La directive accepte, comme arguments, deux limites qui sont
2574     &eacute;valu&eacute;es &agrave; chaque requ&ecirc;te. Le premier <var>nombre</var> est le
2575     nombre maximum de redirections internes qui peuvent se succ&eacute;der. Le
2576     second <var>nombre</var> d&eacute;termine la profondeur d'imbrication
2577     maximum des sous-requ&ecirc;tes. Si vous ne sp&eacute;cifiez qu'un seul
2578     <var>nombre</var>, il sera affect&eacute; aux deux limites.</p>
2579
2580     <highlight language="config">LimitInternalRecursion 5</highlight>
2581 </usage>
2582 </directivesynopsis>
2583
2584 <directivesynopsis>
2585 <name>LimitRequestBody</name>
2586 <description>limite la taille maximale du corps de la requ&ecirc;te HTTP
2587 envoy&eacute;e par le client</description>
2588 <syntax>LimitRequestBody <var>octets</var></syntax>
2589 <default>LimitRequestBody 0</default>
2590 <contextlist><context>server config</context><context>virtual
2591 host</context>
2592 <context>directory</context><context>.htaccess</context>
2593 </contextlist>
2594 <override>All</override>
2595
2596 <usage>
2597     <p>Cette directive sp&eacute;cifie la taille maximale autoris&eacute;e pour le
2598     corps d'une requ&ecirc;te ; la valeur de l'argument <var>octets</var> va
2599     de 0 (pour une taille illimit&eacute;e), &agrave; 2147483647 (2Go). Voir la note
2600     ci-dessous pour la limite d'applicabilit&eacute; aux requ&ecirc;tes mandat&eacute;es.</p>
2601
2602     <p>La directive <directive>LimitRequestBody</directive> permet de
2603     d&eacute;finir une limite pour la taille maximale autoris&eacute;e du corps d'une
2604     requ&ecirc;te HTTP en tenant compte du contexte dans lequel la directive
2605     a &eacute;t&eacute; plac&eacute;e (c'est &agrave; dire au niveau du serveur, d'un r&eacute;pertoire,
2606     d'un fichier ou d'une localisation). Si la requ&ecirc;te du client d&eacute;passe
2607     cette limite, le serveur r&eacute;pondra par un message d'erreur et ne
2608     traitera pas la requ&ecirc;te. La taille du corps d'une requ&ecirc;te normale va
2609     varier de mani&egrave;re importante en fonction de la nature de la
2610     ressource et des m&eacute;thodes autoris&eacute;es pour cette derni&egrave;re. Les
2611     scripts CGI utilisent souvent le corps du message pour extraire les
2612     informations d'un formulaire. Les impl&eacute;mentations de la m&eacute;thode
2613     <code>PUT</code> n&eacute;cessitent une valeur au moins aussi &eacute;lev&eacute;e que la
2614     taille maximale des repr&eacute;sentations que le serveur d&eacute;sire accepter
2615     pour cette ressource.</p>
2616
2617     <p>L'administrateur du serveur peut utiliser cette directive pour
2618     contr&ocirc;ler plus efficacement les comportements anormaux des requ&ecirc;tes
2619     des clients, ce qui lui permettra de pr&eacute;venir certaines formes
2620     d'attaques par d&eacute;ni de service.</p>
2621
2622     <p>Si par exemple, vous autorisez le chargement de fichiers vers une
2623     localisation particuli&egrave;re, et souhaitez limiter la taille des
2624     fichiers charg&eacute;s &agrave; 100Ko, vous pouvez utiliser la directive suivante
2625     :</p>
2626
2627     <highlight language="config">LimitRequestBody 102400</highlight>
2628
2629     <note><p>Pour une description d&eacute;taill&eacute;e de la mani&egrave;re dont cette
2630     directive est interpr&eacute;t&eacute;e par les requ&ecirc;tes mandat&eacute;es, voir la
2631     documentation du module <module>mod_proxy</module>.</p>
2632     </note>
2633
2634 </usage>
2635 </directivesynopsis>
2636
2637 <directivesynopsis>
2638 <name>LimitRequestFields</name>
2639 <description>Limite le nombre de champs d'en-t&ecirc;te autoris&eacute;s dans une
2640 requ&ecirc;te HTTP</description>
2641 <syntax>LimitRequestFields <var>nombre</var></syntax>
2642 <default>LimitRequestFields 100</default>
2643 <contextlist><context>server config</context><context>virtual host</context></contextlist>
2644
2645 <usage>
2646     <p><var>nombre</var> est un entier de 0 (nombre de champs illimit&eacute;)
2647     &agrave; 32767. La valeur par d&eacute;faut est d&eacute;finie &agrave; la compilation par la
2648     constante <code>DEFAULT_LIMIT_REQUEST_FIELDS</code> (100 selon la
2649     distribution).</p>
2650
2651     <p>La directive <directive>LimitRequestFields</directive> permet &agrave;
2652     l'administrateur du serveur de modifier le nombre maximum de champs
2653     d'en-t&ecirc;te autoris&eacute;s dans une requ&ecirc;te HTTP. Pour un serveur, cette
2654     valeur doit &ecirc;tre sup&eacute;rieure au nombre de champs qu'une requ&ecirc;te
2655     client normale peut contenir. Le nombre de champs d'en-t&ecirc;te d'une
2656     requ&ecirc;te qu'un client utilise d&eacute;passe rarement 20, mais ce nombre
2657     peut varier selon les impl&eacute;mentations des clients, et souvent en
2658     fonction des extensions que les utilisateurs configurent dans leurs
2659     navigateurs pour supporter la n&eacute;gociation de contenu d&eacute;taill&eacute;e. Les
2660     extensions HTTP optionnelles utilisent souvent les
2661     champs d'en-t&ecirc;te des requ&ecirc;tes.</p>
2662
2663     <p>L'administrateur du serveur peut utiliser cette directive pour
2664     contr&ocirc;ler plus efficacement les comportements anormaux des requ&ecirc;tes
2665     des clients, ce qui lui permettra de pr&eacute;venir certaines formes
2666     d'attaques par d&eacute;ni de service. La valeur sp&eacute;cifi&eacute;e doit &ecirc;tre
2667     augment&eacute;e si les clients standards re&ccedil;oivent une erreur du serveur
2668     indiquant que la requ&ecirc;te comportait un nombre d'en-t&ecirc;tes trop
2669     important.</p>
2670
2671     <p>Par exemple :</p>
2672
2673     <highlight language="config">LimitRequestFields 50</highlight>
2674
2675     <note type="warning"><title>Avertissement</title>
2676      <p>Dans le cas des serveurs virtuels &agrave; base de noms, la valeur de
2677      cette directive est extraite du serveur virtuel par d&eacute;faut (le
2678      premier de la liste) pour la paire adresse IP/port.</p>
2679     </note>
2680
2681 </usage>
2682 </directivesynopsis>
2683
2684 <directivesynopsis>
2685 <name>LimitRequestFieldSize</name>
2686 <description>D&eacute;dinit la taille maximale autoris&eacute;e d'un en-t&ecirc;te de
2687 requ&ecirc;te HTTP</description>
2688 <syntax>LimitRequestFieldSize <var>octets</var></syntax>
2689 <default>LimitRequestFieldSize 8190</default>
2690 <contextlist><context>server config</context><context>virtual host</context></contextlist>
2691
2692 <usage>
2693     <p>Cette directive permet de d&eacute;finir le nombre maximum
2694     d'<var>octets</var> autoris&eacute;s dans un en-t&ecirc;te de requ&ecirc;te HTTP.</p>
2695
2696     <p>La directive <directive>LimitRequestFieldSize</directive> permet
2697     &agrave; l'administrateur du serveur de d&eacute;finir la taille
2698     maximale autoris&eacute;e d'un en-t&ecirc;te de requ&ecirc;te HTTP. Pour un serveur,
2699     cette valeur doit &ecirc;tre suffisamment grande pour contenir tout
2700     en-t&ecirc;te d'une requ&ecirc;te client normale. La taille d'un champ d'en-t&ecirc;te
2701     de requ&ecirc;te normal va varier selon les impl&eacute;mentations des clients,
2702     et en fonction des extensions que les utilisateurs
2703     configurent dans leurs navigateurs pour supporter la n&eacute;gociation de
2704     contenu d&eacute;taill&eacute;e. Les en-t&ecirc;tes d'authentification SPNEGO peuvent
2705     atteindre une taille de 12392 octets.</p>
2706
2707     <p>>L'administrateur du serveur peut utiliser cette directive pour
2708     contr&ocirc;ler plus efficacement les comportements anormaux des requ&ecirc;tes
2709     des clients, ce qui lui permettra de pr&eacute;venir certaines formes
2710     d'attaques par d&eacute;ni de service.</p>
2711
2712     <p>Par exemple ::</p>
2713
2714     <highlight language="config">LimitRequestFieldSize 4094</highlight>
2715
2716     <note>Dans des conditions normales, la valeur par d&eacute;faut de cette
2717     directive ne doit pas &ecirc;tre modifi&eacute;e.</note>
2718
2719     <note type="warning"><title>Avertissement</title>
2720      <p>Dans le cas des serveurs virtuels &agrave; base de noms, la valeur de
2721      cette directive est extraite du serveur virtuel par d&eacute;faut (le
2722      premier de la liste) pour lequel la paire adresse IP/port
2723      correspond le mieux.</p>
2724     </note>
2725 </usage>
2726 </directivesynopsis>
2727
2728 <directivesynopsis>
2729 <name>LimitRequestLine</name>
2730 <description>D&eacute;finit la taille maximale d'une ligne de requ&ecirc;te
2731 HTTP</description>
2732 <syntax>LimitRequestLine <var>octets</var></syntax>
2733 <default>LimitRequestLine 8190</default>
2734 <contextlist><context>server config</context><context>virtual host</context></contextlist>
2735
2736 <usage>
2737     <p>Cette directive permet de d&eacute;finir la taille maximale autoris&eacute;e
2738     pour une ligne de requ&ecirc;te HTTP en <var>octets</var>.</p>
2739
2740     <p>La directive <directive>LimitRequestLine</directive> permet &agrave;
2741     l'administrateur du serveur de d&eacute;finir la taille
2742     maximale autoris&eacute;e d'une ligne de requ&ecirc;te HTTP client. Comme une
2743     requ&ecirc;te comporte une m&eacute;thode HTTP, un URI, et une version de
2744     protocole, la directive <directive>LimitRequestLine</directive>
2745     impose une restriction sur la longueur maximale autoris&eacute;e pour un
2746     URI dans une requ&ecirc;te au niveau du serveur. Pour un serveur, cette
2747     valeur doit &ecirc;tre suffisamment grande pour r&eacute;f&eacute;rencer les noms de
2748     toutes ses ressources, y compris toutes informations pouvant &ecirc;tre
2749     ajout&eacute;es dans la partie requ&ecirc;te d'une m&eacute;thode <code>GET</code>.</p>
2750
2751     <p>L'administrateur du serveur peut utiliser cette directive pour
2752     contr&ocirc;ler plus efficacement les comportements anormaux des requ&ecirc;tes
2753     des clients, ce qui lui permettra de pr&eacute;venir certaines formes
2754     d'attaques par d&eacute;ni de service.</p>
2755
2756     <p>Par exemple :</p>
2757
2758     <highlight language="config">LimitRequestLine 4094</highlight>
2759
2760     <note>Dans des conditions normales, la valeur par d&eacute;faut de cette
2761     directive ne doit pas &ecirc;tre modifi&eacute;e. En outre, vous ne
2762     pouvez pas sp&eacute;cifier une valeur sup&eacute;rieure &agrave; 8190 sans modifier le
2763     code source et recompiler.</note>
2764
2765     <note type="warning"><title>Avertissement</title>
2766      <p>Dans le cas des serveurs virtuels &agrave; base de noms, la valeur de
2767      cette directive est extraite du serveur virtuel par d&eacute;faut (le
2768      premier de la liste) pour lequel la paire adresse IP/port
2769      correspond le mieux.</p>
2770     </note>
2771
2772 </usage>
2773 </directivesynopsis>
2774
2775 <directivesynopsis>
2776 <name>LimitXMLRequestBody</name>
2777 <description>D&eacute;finit la taille maximale du corps d'une requ&ecirc;te au format
2778 XML</description>
2779 <syntax>LimitXMLRequestBody <var>octets</var></syntax>
2780 <default>LimitXMLRequestBody 1000000</default>
2781 <contextlist><context>server config</context><context>virtual
2782 host</context>
2783 <context>directory</context><context>.htaccess</context></contextlist>
2784 <override>All</override>
2785
2786 <usage>
2787     <p>Taille maximale (en octets) du corps d'une requ&ecirc;te au format XML.
2788     Une valeur de <code>0</code> signifie qu'aucune limite n'est
2789     impos&eacute;e.</p>
2790
2791     <p>Exemple :</p>
2792
2793     <highlight language="config">LimitXMLRequestBody 0</highlight>
2794
2795 </usage>
2796 </directivesynopsis>
2797
2798 <directivesynopsis type="section">
2799 <name>Location</name>
2800 <description>N'applique les directives contenues qu'aux URLs
2801 sp&eacute;cifi&eacute;es</description>
2802 <syntax>&lt;Location
2803     <var>chemin URL</var>|<var>URL</var>&gt; ... &lt;/Location&gt;</syntax>
2804 <contextlist><context>server config</context><context>virtual
2805 host</context>
2806 </contextlist>
2807
2808 <usage>
2809     <p>La directive <directive type="section">Location</directive>
2810     limite la port&eacute;e des directives contenues aux URLs d&eacute;finies par
2811     l'argument URL. Elle est similaire &agrave; la directive <directive
2812     type="section" module="core">Directory</directive>, et marque le
2813     d&eacute;but d'une section qui se termine par une directive
2814     <code>&lt;/Location&gt;</code>. Les sections <directive
2815     type="section">Location</directive> sont trait&eacute;es selon l'ordre dans
2816     lequel elles apparaissent dans le fichier de configuration, mais
2817     apr&egrave;s les sections <directive
2818     type="section" module="core">Directory</directive> et la lecture des
2819     fichiers <code>.htaccess</code>, et apr&egrave;s les sections <directive
2820     type="section" module="core">Files</directive>.</p>
2821
2822     <p>Les sections <directive type="section">Location</directive>
2823     agissent compl&egrave;tement en dehors du syst&egrave;me de fichiers. Ceci a de
2824     nombreuses cons&eacute;quences. Parmi les plus importantes, on ne doit pas
2825     utiliser les sections <directive type="section">Location</directive>
2826     pour contr&ocirc;ler l'acc&egrave;s aux r&eacute;pertoires du syst&egrave;me de fichiers. Comme
2827     plusieurs URLs peuvent correspondre au m&ecirc;me r&eacute;pertoire du syst&egrave;me de
2828     fichiers, un tel contr&ocirc;le d'acc&egrave;s pourrait &ecirc;tre contourn&eacute;.</p>
2829
2830     <p>Les directives que contient cette section seront appliqu&eacute;es aux
2831     requ&ecirc;tes si la partie chemin de l'URL satisfait &agrave; l'un au moins de
2832     ces crit&egrave;res :
2833     </p>
2834     <ul>
2835       <li>Le chemin sp&eacute;cifi&eacute; correspond exactement &agrave; la partie chemin de
2836       l'URL.
2837       </li>
2838       <li>Le chemin sp&eacute;cifi&eacute;, qui se termine par un slash, est un
2839       pr&eacute;fixe de la partie chemin de l'URL (trait&eacute; comme une racine du
2840       contexte).
2841       </li>
2842       <li>Le chemin sp&eacute;cifi&eacute;, si on lui ajoute un slash de fin, est un
2843       pr&eacute;fixe de la partie chemin de l'URL (aussi trait&eacute; comme une racine du
2844       contexte).
2845       </li>
2846     </ul>
2847     <p>
2848     Dans l'exemple ci-dessous, o&ugrave; aucun slash de fin n'est utilis&eacute;, les
2849     directives contenues dans la section s'appliqueront &agrave; /private1,
2850     /private1/ et /private1/file.txt, mais pas &agrave; /private1other. 
2851     </p>
2852     <highlight language="config">
2853 &lt;Location /private1&gt;
2854     #  ...
2855 &lt;/Location&gt;
2856     </highlight>
2857     <p>
2858     De m&ecirc;me, dans l'exemple ci-dessous, o&ugrave; l'on utilise un slash de fin, les
2859     directives contenues dans la section s'appliqueront &agrave; /private2/ et
2860     &agrave; /private2/file.txt, mais pas &agrave; /private2other.
2861     </p>
2862     <highlight language="config">
2863 &lt;Location /private2<em>/</em>&gt;
2864     # ...
2865 &lt;/Location&gt;
2866     </highlight>
2867     
2868     <note><title>Quand utiliser la section <directive
2869     type="section">Location</directive></title>
2870
2871     <p>Vous pouvez utiliser une section <directive
2872     type="section">Location</directive> pour appliquer des directives &agrave;
2873     des contenus situ&eacute;s en dehors du syst&egrave;me de fichiers. Pour les
2874     contenus situ&eacute;s &agrave; l'int&eacute;rieur du syst&egrave;me de fichiers, utilisez
2875     plut&ocirc;t les sections <directive
2876     type="section" module="core">Directory</directive> et <directive
2877     type="section" module="core">Files</directive>. <code>&lt;Location
2878     /&gt;</code> constitue une exception et permet d'appliquer ais&eacute;ment
2879     une configuration &agrave; l'ensemble du serveur.</p>
2880     </note>
2881
2882     <p>Pour toutes les requ&ecirc;tes originales (non mandat&eacute;es), l'argument
2883     URL est un chemin d'URL de la forme
2884     <code>/chemin/</code>. <em>Aucun protocole, nom d'h&ocirc;te, port, ou cha&icirc;ne
2885     de requ&ecirc;te ne doivent appara&icirc;tre.</em> Pour les requ&ecirc;tes mandat&eacute;es, l'URL
2886     sp&eacute;cifi&eacute;e doit &ecirc;tre de la forme
2887     <code>protocole://nom_serveur/chemin</code>, et vous devez inclure
2888     le pr&eacute;fixe.</p>
2889
2890     <p>L'URL peut contenir des caract&egrave;res g&eacute;n&eacute;riques. Dans une cha&icirc;ne
2891     avec caract&egrave;res g&eacute;n&eacute;riques, <code>?</code> correspond &agrave; un caract&egrave;re
2892     quelconque, et <code>*</code> &agrave; toute cha&icirc;ne de caract&egrave;res. Les
2893     caract&egrave;res g&eacute;n&eacute;riques ne peuvent pas remplacer un / dans le chemin
2894     URL.</p>
2895
2896     <p>On peut aussi utiliser les <glossary ref="regex">Expressions
2897     rationnelles</glossary>, moyennant l'addition d'un caract&egrave;re
2898     <code>~</code>. Par exemple :</p>
2899
2900     <highlight language="config">
2901 &lt;Location ~ "/(extra|special)/data"&gt;
2902     #...
2903 &lt;/Location&gt;
2904 </highlight>
2905
2906     <p>concernerait les URLs contenant les sous-cha&icirc;ne
2907     <code>/extra/data</code> ou <code>/special/data</code>. La directive
2908     <directive type="section" module="core">LocationMatch</directive>
2909     pr&eacute;sente un comportement identique &agrave; la version avec expressions
2910     rationnelles de la directive <directive
2911     type="section">Location</directive>, et son utilisation est
2912     pr&eacute;f&eacute;rable &agrave; l'utilisation de cette derni&egrave;re pour la simple raison
2913     qu'il est difficile de distinguer <code>~</code> de <code>-</code>
2914     dans la plupart des fontes.</p>
2915
2916     <p>La directive <directive type="section">Location</directive>
2917     s'utilise principalement avec la directive <directive
2918     module="core">SetHandler</directive>. Par exemple, pour activer les
2919     requ&ecirc;tes d'&eacute;tat, mais ne les autoriser que depuis des navigateurs
2920     appartenant au domaine <code>example.com</code>, vous pouvez
2921     utiliser :</p>
2922
2923     <highlight language="config">
2924 &lt;Location /status&gt;
2925   SetHandler server-status
2926   Require host example.com
2927 &lt;/Location&gt;
2928     </highlight>
2929
2930     <note><title>Note &agrave; propos du slash (/)</title>
2931       <p>La signification du caract&egrave;re slash d&eacute;pend de l'endroit o&ugrave; il
2932       se trouve dans l'URL. Les utilisateurs peuvent &ecirc;tre habitu&eacute;s &agrave;
2933       son comportement dans le syst&egrave;me de fichiers o&ugrave; plusieurs slashes
2934       successifs sont souvent r&eacute;duits &agrave; un slash unique (en d'autres
2935       termes, <code>/home///foo</code> est identique &agrave;
2936       <code>/home/foo</code>). Dans l'espace de nommage des URLs, ce
2937       n'est cependant pas toujours le cas. Pour la directive <directive
2938       type="section" module="core">LocationMatch</directive> et la
2939       version avec expressions rationnelles de la directive <directive
2940       type="section">Location</directive>, vous devez sp&eacute;cifier
2941       explicitement les slashes multiples si telle est votre
2942       intention.</p>
2943
2944       <p>Par exemple, <code>&lt;LocationMatch ^/abc&gt;</code> va
2945       correspondre &agrave; l'URL <code>/abc</code> mais pas &agrave; l'URL <code>
2946       //abc</code>. La directive <directive type="section"
2947       >Location</directive> sans expression rationnelle se comporte de
2948       la m&ecirc;me mani&egrave;re lorsqu'elle est utilis&eacute;e pour des requ&ecirc;tes
2949       mandat&eacute;es. Par contre, lorsque la directive <directive
2950       type="section">Location</directive> sans expression rationnelle
2951       est utilis&eacute;e pour des requ&ecirc;tes non mandat&eacute;es, elle fera
2952       correspondre implicitement les slashes multiples &agrave; des slashes
2953       uniques. Par exemple, si vous sp&eacute;cifiez <code>&lt;Location
2954       /abc/def&gt;</code>, une requ&ecirc;te de la forme
2955       <code>/abc//def</code> correspondra.</p>
2956     </note>
2957 </usage>
2958 <seealso><a href="../sections.html">Comment fonctionnent les sections
2959 &lt;Directory&gt;, &lt;Location&gt; et &lt;Files&gt;</a> pour une
2960 explication de la mani&egrave;re dont ces diff&eacute;rentes sections se combinent
2961 entre elles &agrave; la r&eacute;ception d'une requ&ecirc;te.</seealso>
2962 </directivesynopsis>
2963
2964 <directivesynopsis type="section">
2965 <name>LocationMatch</name>
2966 <description>N'applique les directives contenues qu'aux URLs
2967 correspondant &agrave; une expression rationnelle</description>
2968 <syntax>&lt;LocationMatch
2969     <var>regex</var>&gt; ... &lt;/LocationMatch&gt;</syntax>
2970 <contextlist><context>server config</context><context>virtual
2971 host</context>
2972 </contextlist>
2973
2974 <usage>
2975     <p>La directive <directive type="section">LocationMatch</directive>
2976     limite la port&eacute;e des directives contenues &agrave; l'URL sp&eacute;cifi&eacute;e, de
2977     mani&egrave;re identique &agrave; la directive <directive module="core"
2978     type="section">Location</directive>. Mais son argument permettant de
2979     sp&eacute;cifier les URLs concern&eacute;es est une <glossary
2980     ref="regex">expression rationnelle</glossary> au lieu d'une simple
2981     cha&icirc;ne de caract&egrave;res. Par exemple :</p>
2982
2983     <highlight language="config">
2984 &lt;LocationMatch "/(extra|special)/data"&gt;
2985     # ...
2986 &lt;/LocationMatch&gt;
2987 </highlight>
2988
2989     <p>correspondrait &agrave; toute URL contenant les sous-cha&icirc;nes
2990     <code>/extra/data</code> ou <code>/special/data</code>.</p>
2991
2992     <p>A partir de la version 2.4.8, les groupes nomm&eacute;s et les
2993     r&eacute;f&eacute;rences arri&egrave;res sont extraits et enregistr&eacute;s dans
2994     l'environnement avec leur nom en majuscules et pr&eacute;fix&eacute;
2995     par "MATCH_". Ceci permet
2996     de r&eacute;f&eacute;rencer des URLs dans des <a href="../expr.html">expressions</a>
2997     ou au sein de modules comme <module>mod_rewrite</module>. Pour
2998     &eacute;viter toute confusion, les r&eacute;f&eacute;rences arri&egrave;res num&eacute;rot&eacute;es (non
2999     nomm&eacute;es) sont ignor&eacute;es. Vous devez utiliser &agrave; la place des groupes
3000     nomm&eacute;s.</p>
3001
3002 <highlight language="config">
3003 &lt;LocationMatch ^/combined/(?&lt;sitename&gt;[^/]+)&gt;
3004     require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
3005 &lt;/LocationMatch&gt;
3006 </highlight>    
3007 </usage>
3008 <seealso><a href="../sections.html">Comment fonctionnent les sections
3009 &lt;Directory&gt;, &lt;Location&gt; et &lt;Files&gt;</a> pour une
3010 explication de la mani&egrave;re dont ces diff&eacute;rentes sections se combinent
3011 entre elles &agrave; la r&eacute;ception d'une requ&ecirc;te.</seealso>
3012 </directivesynopsis>
3013
3014 <directivesynopsis>
3015 <name>LogLevel</name>
3016 <description>Contr&ocirc;le la verbosit&eacute; du journal des erreurs</description>
3017 <syntax>LogLevel [<var>module</var>:]<var>niveau</var>
3018     [<var>module</var>:<var>niveau</var>] ...
3019 </syntax>
3020 <default>LogLevel warn</default>
3021 <contextlist><context>server config</context><context>virtual
3022 host</context><context>directory</context>
3023 </contextlist>
3024 <compatibility>La configuration du niveau de journalisation par module
3025 et par r&eacute;pertoire est disponible depuis la version 2.3.6 du serveur HTTP
3026 Apache</compatibility>
3027 <usage>
3028     <p>La directive <directive>LogLevel</directive> permet d'ajuster la
3029     verbosit&eacute; des messages enregistr&eacute;s dans les journaux d'erreur (voir
3030     la directive <directive module="core">ErrorLog</directive>
3031     directive). Les <var>niveau</var>x disponibles sont pr&eacute;sent&eacute;s
3032     ci-apr&egrave;s, par ordre de criticit&eacute; d&eacute;croissante :</p>
3033
3034     <table border="1">
3035     <columnspec><column width=".2"/><column width=".3"/><column width=".5"/>
3036     </columnspec>
3037       <tr>
3038         <th><strong>Niveau</strong> </th>
3039
3040         <th><strong>Description</strong> </th>
3041
3042         <th><strong>Exemple</strong> </th>
3043       </tr>
3044
3045       <tr>
3046         <td><code>emerg</code> </td>
3047
3048         <td>Urgences - le syst&egrave;me est inutilisable.</td>
3049
3050         <td>"Child cannot open lock file. Exiting"</td>
3051       </tr>
3052
3053       <tr>
3054         <td><code>alert</code> </td>
3055
3056         <td>Des mesures doivent &ecirc;tre prises imm&eacute;diatement.</td>
3057
3058         <td>"getpwuid: couldn't determine user name from uid"</td>
3059       </tr>
3060
3061       <tr>
3062         <td><code>crit</code> </td>
3063
3064         <td>Conditions critiques.</td>
3065
3066         <td>"socket: Failed to get a socket, exiting child"</td>
3067       </tr>
3068
3069       <tr>
3070         <td><code>error</code> </td>
3071
3072         <td>Erreurs.</td>
3073
3074         <td>"Premature end of script headers"</td>
3075       </tr>
3076
3077       <tr>
3078         <td><code>warn</code> </td>
3079
3080         <td>Avertissements.</td>
3081
3082         <td>"child process 1234 did not exit, sending another
3083         SIGHUP"</td>
3084       </tr>
3085
3086       <tr>
3087         <td><code>notice</code> </td>
3088
3089         <td>Ev&egrave;nement important mais normal.</td>
3090
3091         <td>"httpd: caught SIGBUS, attempting to dump core in
3092         ..."</td>
3093       </tr>
3094
3095       <tr>
3096         <td><code>info</code> </td>
3097
3098         <td>Informations.</td>
3099
3100         <td>"Server seems busy, (you may need to increase
3101         StartServers, or Min/MaxSpareServers)..."</td>
3102       </tr>
3103
3104       <tr>
3105         <td><code>debug</code> </td>
3106
3107         <td>Messages de d&eacute;bogage.</td>
3108
3109         <td>"Opening config file ..."</td>
3110       </tr>
3111       <tr>
3112         <td><code>trace1</code> </td>
3113
3114         <td>Messages de traces</td>
3115
3116         <td>"proxy: FTP: control connection complete"</td>
3117       </tr>
3118       <tr>
3119         <td><code>trace2</code> </td>
3120
3121         <td>Messages de traces</td>
3122
3123         <td>"proxy: CONNECT: sending the CONNECT request to the remote proxy"</td>
3124       </tr>
3125       <tr>
3126         <td><code>trace3</code> </td>
3127
3128         <td>Messages de traces</td>
3129
3130         <td>"openssl: Handshake: start"</td>
3131       </tr>
3132       <tr>
3133         <td><code>trace4</code> </td>
3134
3135         <td>Messages de traces</td>
3136
3137         <td>"read from buffered SSL brigade, mode 0, 17 bytes"</td>
3138       </tr>
3139       <tr>
3140         <td><code>trace5</code> </td>
3141
3142         <td>Messages de traces</td>
3143
3144         <td>"map lookup FAILED: map=rewritemap key=keyname"</td>
3145       </tr>
3146       <tr>
3147         <td><code>trace6</code> </td>
3148
3149         <td>Messages de traces</td>
3150
3151         <td>"cache lookup FAILED, forcing new map lookup"</td>
3152       </tr>
3153       <tr>
3154         <td><code>trace7</code> </td>
3155
3156         <td>Messages de traces, enregistrement d'une grande quantit&eacute; de
3157         donn&eacute;es</td>
3158
3159         <td>"| 0000: 02 23 44 30 13 40 ac 34 df 3d bf 9a 19 49 39 15 |"</td>
3160       </tr>
3161       <tr>
3162         <td><code>trace8</code> </td>
3163
3164         <td>Messages de traces, enregistrement d'une grande quantit&eacute; de
3165         donn&eacute;es</td>
3166
3167         <td>"| 0000: 02 23 44 30 13 40 ac 34 df 3d bf 9a 19 49 39 15 |"</td>
3168       </tr>
3169     </table>
3170
3171     <p>Lorsqu'un niveau particulier est sp&eacute;cifi&eacute;, les messages de tous
3172     les autres niveaux de criticit&eacute; sup&eacute;rieure seront aussi enregistr&eacute;s.
3173     <em>Par exemple</em>, si <code>LogLevel info</code> est sp&eacute;cifi&eacute;,
3174     les messages de niveaux <code>notice</code> et <code>warn</code>
3175     seront aussi &eacute;mis.</p>
3176
3177     <p>Il est recommand&eacute; d'utiliser un niveau <code>crit</code> ou
3178     inf&eacute;rieur.</p>
3179
3180     <p>Par exemple :</p>
3181
3182     <highlight language="config">LogLevel notice</highlight>
3183
3184     <note><title>Note</title>
3185       <p>Si la journalisation s'effectue directement dans un fichier,
3186       les messages de niveau <code>notice</code> ne peuvent pas &ecirc;tre
3187       supprim&eacute;s et sont donc toujours journalis&eacute;s. Cependant, ceci ne
3188       s'applique pas lorsque la journalisation s'effectue vers
3189       <code>syslog</code>.</p>
3190     </note>
3191     
3192     <p>Sp&eacute;cifier un niveau sans nom de module va attribuer ce niveau &agrave;
3193     tous les modules. Sp&eacute;cifier un niveau avec nom de module va
3194     attribuer ce niveau &agrave; ce module seulement. Il est possible de
3195     sp&eacute;cifier un module par le nom de son fichier source ou par son
3196     identificateur, avec ou sans le suffixe <code>_module</code>. Les
3197     trois sp&eacute;cifications suivantes sont donc &eacute;quivalentes :</p>
3198
3199     <highlight language="config">
3200 LogLevel info ssl:warn
3201 LogLevel info mod_ssl.c:warn
3202 LogLevel info ssl_module:warn
3203     </highlight>
3204
3205     <p>Il est aussi possible d'attribuer un niveau de journalisation par
3206     r&eacute;pertoire :</p>
3207
3208     <highlight language="config">
3209 LogLevel info
3210 &lt;Directory "/usr/local/apache/htdocs/app"&gt;
3211   LogLevel debug
3212 &lt;/Directory&gt;
3213     </highlight>
3214
3215     <note>
3216         La configuration du niveau de journalisation par r&eacute;pertoire
3217         n'affecte que les messages journalis&eacute;s apr&egrave;s l'interpr&eacute;tation de
3218         la requ&ecirc;te et qui sont associ&eacute;s &agrave; cette derni&egrave;re. Les messages
3219         de journalisation associ&eacute;s au serveur ou &agrave; la connexion ne sont
3220         pas affect&eacute;s. Il est cependant possible d'agir sur ces
3221         derniers &agrave; l'aide de la directive <directive
3222         module="core">LogLevelOverride</directive>.
3223     </note>
3224 </usage>
3225 <seealso><directive module="core">ErrorLog</directive></seealso>
3226 <seealso><directive module="core">ErrorLogFormat</directive></seealso>
3227 <seealso><directive module="core">LogLevelOverride</directive></seealso>
3228 <seealso><a href="../logs.html">Journaux du serveur HTTP Apache</a></seealso>
3229 </directivesynopsis>
3230
3231 <directivesynopsis>
3232 <name>LogLevelOverride</name>
3233 <description>Surcharge la verbosit&eacute; du journal des erreurs pour certains
3234 clients</description>
3235 <syntax>LogLevel <var>ipaddress</var>[/<var>prefixlen</var>]
3236     [<var>module</var>:]<var>level</var> [<var>module</var>:<var>level</var>] ...
3237 </syntax>
3238 <default>non d&eacute;finie</default>
3239 <contextlist><context>server config</context><context>virtual host</context>
3240 </contextlist>
3241 <compatibility>Disponible &agrave; partir de la version 2.5.0 du serveur HTTP
3242 Apache.</compatibility>
3243
3244 <usage>
3245     <p>La directive <directive>LogLevelOverride</directive> permet
3246     d'affiner la d&eacute;finition de la directive <directive
3247     module="core">LogLevel</directive> pour les requ&ecirc;tes en provenance
3248     de certaines adresses IP. Il est ainsi possible d'activer une
3249     journalisation d&eacute;taill&eacute;e seulement pour certains clients &agrave; des fins
3250     de test. Les adresses IP sont v&eacute;rifi&eacute;es &agrave; un stade tr&egrave;s pr&eacute;coce du
3251     processus de connexion. Ainsi, la directive
3252     <directive>LogLevelOverride</directive> permet de modifier le niveau
3253     de journalisation pour des processus comme la n&eacute;gociation SSL qui
3254     intervient avant l'&eacute;valuation d'une &eacute;ventuelle directive <directive
3255     module="core">LogLevel</directive> au sein d'un conteneur <directive
3256     type="section" module="core">If</directive>.</p>
3257
3258     <p>La directive <directive>LogLevelOverride</directive> accepte soit
3259     une adresse IP simple, soit une sp&eacute;cification de sous-r&eacute;seau CIDR de
3260     la forme adresse-IP/masque. Pour la syntaxe de la sp&eacute;cification du
3261     niveau de journalisation, voir la directive <directive
3262     module="core">LogLevel</directive> directive.</p>
3263
3264     <p>Pour les requ&ecirc;tes concern&eacute;es par une directive
3265     <directive>LogLevelOverride</directive>, les sp&eacute;cifications de
3266     niveau r&eacute;pertoire de la directive <directive
3267     module="core">LogLevel</directive> sont ignor&eacute;es.</p>
3268
3269     <p>Exemples:</p>
3270
3271     <highlight language="config">
3272         LogLevelOverride 192.0.2.0/24 ssl:trace6
3273         LogLevelOverride 192.0.2.7 ssl:trace8
3274     </highlight>
3275
3276     <note>
3277         La directive <directive
3278         module="core">LogLevelOverride</directive> n'affecte que les
3279         messages associ&eacute;s &agrave; la requ&ecirc;te ou &agrave; la connexion. Les messages
3280         associ&eacute;s au serveur ne sont pas affect&eacute;s.
3281     </note>
3282
3283 </usage>
3284 <seealso><directive module="core">LogLevel</directive></seealso>
3285 </directivesynopsis>
3286
3287 <directivesynopsis>
3288 <name>MaxKeepAliveRequests</name>
3289 <description>Nombre de requ&ecirc;tes permises pour une connexion
3290 persistante</description>
3291 <syntax>MaxKeepAliveRequests <var>nombre</var></syntax>
3292 <default>MaxKeepAliveRequests 100</default>
3293 <contextlist><context>server config</context><context>virtual
3294 host</context>
3295 </contextlist>
3296
3297 <usage>
3298     <p>La directive <directive>MaxKeepAliveRequests</directive> permet
3299     de limiter le nombre de requ&ecirc;tes autoris&eacute;es par connexion lorsque
3300     <directive module="core" >KeepAlive</directive> est &agrave; "on". Si sa
3301     valeur est <code>0</code>, le nombre de requ&ecirc;tes autoris&eacute;es est
3302     illimit&eacute;. Il est recommand&eacute; de d&eacute;finir une valeur assez haute pour
3303     des performances du serveur maximales.</p>
3304
3305     <p>Par exemple :</p>
3306
3307     <highlight language="config">MaxKeepAliveRequests 500</highlight>
3308 </usage>
3309 </directivesynopsis>
3310
3311 <directivesynopsis>
3312 <name>MaxRanges</name>
3313 <description>Nombre de segments de donn&eacute;es autoris&eacute; avant le renvoi de
3314 l'int&eacute;gralit&eacute; de la ressource</description>
3315 <syntax>MaxRanges default | unlimited | none | <var>nombre de segments</var></syntax>
3316 <default>MaxRanges 200</default>
3317 <contextlist><context>server config</context><context>virtual host</context>
3318 <context>directory</context>
3319 </contextlist>
3320 <compatibility>Disponible depuis la version 2.3.15 du serveur HTTP
3321 Apache</compatibility>
3322
3323 <usage>
3324     <p>La directive <directive>MaxRanges</directive> permet de limiter
3325     le nombre de segments de donn&eacute;es que le serveur va renvoyer au
3326     client. Si un nombre de segments plus important est demand&eacute;, la
3327     ressource sera renvoy&eacute;e dans son int&eacute;gralit&eacute;.</p>
3328
3329     <dl>  
3330       <dt><strong>default</strong></dt>
3331       <dd>Limite le nombre de segments de donn&eacute;es &agrave; 200 (valeur par
3332       d&eacute;faut d&eacute;finie &agrave; la compilation).</dd>
3333    
3334       <dt><strong>none</strong></dt>
3335       <dd>Les en-t&ecirc;tes Range sont ignor&eacute;s.</dd>
3336           
3337       <dt><strong>unlimited</strong></dt>
3338       <dd>Le nombre de segments de donn&eacute;es est illimit&eacute;.</dd>
3339
3340       <dt><var>nombre de segments</var></dt>
3341       <dd>Un nombre positif repr&eacute;sentera la nombre de segments de
3342       donn&eacute;es maximal que le serveur renverra au client.</dd>
3343     </dl>
3344 </usage>
3345 </directivesynopsis>
3346
3347 <directivesynopsis>
3348 <name>MaxRangeOverlaps</name>
3349     <description>Nombre de chevauchements de segments de donn&eacute;es autoris&eacute;
3350     (par exemple <code>100-200,150-300</code>) avant le renvoi de la
3351     ressource compl&egrave;te</description>
3352     <syntax>MaxRangeOverlaps default | unlimited | none | <var>nombre de
3353     chevauchements</var></syntax>
3354     <default>MaxRangeOverlaps 20</default>
3355     <contextlist><context>server config</context><context>virtual host</context>
3356         <context>directory</context>
3357     </contextlist>
3358     <compatibility>Disponible depuis la version 2.3.15 du serveur HTTP
3359     Apache</compatibility>
3360
3361     <usage>
3362         <p>La directive <directive>MaxRangeOverlaps</directive> permet
3363         de limiter le nombre de chevauchements de segments de donn&eacute;es HTTP
3364         autoris&eacute; par le serveur. Si le nombre de
3365         chevauchements de segments demand&eacute; est sup&eacute;rieur au nombre maximal
3366         autoris&eacute;, la ressource sera renvoy&eacute;e dans son int&eacute;gralit&eacute;.</p>
3367
3368         <dl>
3369             <dt><strong>default</strong></dt>
3370             <dd>Limite le nombre de chevauchements de segments &agrave; la valeur
3371             par d&eacute;faut 20 d&eacute;finie &agrave; la compilation.</dd>
3372
3373             <dt><strong>none</strong></dt>
3374             <dd>Aucun chevauchement de segment n'est autoris&eacute;.</dd>
3375
3376             <dt><strong>unlimited</strong></dt>
3377             <dd>Le nombre de chevauchements de segments est illimit&eacute;.</dd>
3378
3379             <dt><var>number-of-ranges</var></dt>
3380             <dd>Un nombre positif repr&eacute;sente le nombre maximal de
3381             chevauchements de segments autoris&eacute; par le serveur.</dd>
3382         </dl>
3383     </usage>
3384 </directivesynopsis>
3385
3386 <directivesynopsis>
3387     <name>MaxRangeReversals</name>
3388     <description>Nombre d'inversions d'ordre autoris&eacute; dans la sp&eacute;cification des
3389     segments de donn&eacute;es (par exemple <code>100-200,50-70</code>) avant le renvoi de la
3390     ressource compl&egrave;te</description>
3391     <syntax>MaxRangeReversals default | unlimited | none | <var>nombre
3392     d'inversions</var></syntax>
3393     <default>MaxRangeReversals 20</default>
3394     <contextlist><context>server config</context><context>virtual host</context>
3395         <context>directory</context>
3396     </contextlist>
3397     <compatibility>Disponible depuis la version 2.3.15 du serveur HTTP
3398     Apache</compatibility>
3399
3400     <usage>
3401         <p>La directive <directive>MaxRangeReversals</directive> permet
3402         de limiter le nombre d'inversions d'ordre dans la sp&eacute;cification
3403         des segments de donn&eacute;es HTTP
3404         autoris&eacute; par le serveur. Si le nombre
3405         d'inversions demand&eacute; est sup&eacute;rieur au nombre maximal
3406         autoris&eacute;, la ressource sera renvoy&eacute;e dans son int&eacute;gralit&eacute;.</p>
3407
3408         <dl>
3409             <dt><strong>default</strong></dt>
3410             <dd>Limite le nombre d'inversions &agrave; la valeur
3411             par d&eacute;faut 20 d&eacute;finie &agrave; la compilation.</dd>
3412
3413             <dt><strong>none</strong></dt>
3414             <dd>Aucune inversion n'est autoris&eacute;e.</dd>
3415
3416             <dt><strong>unlimited</strong></dt>
3417             <dd>Le nombre d'inversions est illimit&eacute;.</dd>
3418
3419             <dt><var>number-of-ranges</var></dt>
3420             <dd>Un nombre positif repr&eacute;sente le nombre maximal
3421             d'inversions autoris&eacute; par le serveur.</dd>
3422         </dl>
3423     </usage>
3424 </directivesynopsis>
3425
3426 <directivesynopsis>
3427 <name>Mutex</name>
3428 <description>D&eacute;finit les m&eacute;canismes de mutex et le repertoire du fichier
3429 verrou pour tous les mutex ou seulement les mutex sp&eacute;cifi&eacute;s</description>
3430 <syntax>Mutex <var>m&eacute;canisme</var> [default|<var>nom-mutex</var>] ... [OmitPID]</syntax>
3431 <default>Mutex default</default>
3432 <contextlist><context>server config</context></contextlist>
3433 <compatibility>Disponible depuis la version 2.3.4 du serveur HTTP Apache</compatibility>
3434
3435 <usage>
3436     <p>La directive <directive>Mutex</directive> permet de d&eacute;finir le
3437     m&eacute;canisme de mutex, et &eacute;ventuellement le r&eacute;pertoire du fichier
3438     verrou que les modules et httpd utilisent pour s&eacute;rialiser l'acc&egrave;s aux
3439     ressources. Sp&eacute;cifiez <code>default</code> comme premier argument
3440     pour modifier la configuration de tous les mutex ; sp&eacute;cifiez un nom
3441     de mutex (voir la table ci-dessous) comme premier argument pour
3442     ne modifier que la configuration de ce mutex.</p>
3443
3444     <p>La directive <directive>Mutex</directive> est typiquement
3445     utilis&eacute;e dans les situations exceptionnelles suivantes :</p>
3446
3447     <ul>
3448         <li>choix d'un autre m&eacute;canisme de mutex lorsque le m&eacute;canisme par
3449         d&eacute;faut s&eacute;lectionn&eacute; par <glossary>APR</glossary> pr&eacute;sente un
3450         probl&egrave;me de fonctionnement ou de performances.</li>
3451
3452         <li>choix d'un autre r&eacute;pertoire utilis&eacute; par les mutex &agrave; base de
3453         fichier lorsque le r&eacute;pertoire par d&eacute;faut ne supporte pas le
3454         verrouillage</li>
3455     </ul>
3456
3457     <note><title>Modules support&eacute;s</title>
3458     <p>Cette directive ne configure que les mutex qui ont &eacute;t&eacute;
3459     enregistr&eacute;s avec le serveur de base via l'API
3460     <code>ap_mutex_register()</code>. Tous les modules fournis avec
3461     httpd supportent la directive <directive>Mutex</directive>, mais il
3462     n'en sera pas forc&eacute;ment de m&ecirc;me pour les modules tiers.
3463     Reportez-vous &agrave; la documentation du module tiers consid&eacute;r&eacute; afin de
3464     d&eacute;terminer le(s) nom(s) de mutex qui pourront &ecirc;tre d&eacute;finis si la
3465     directive est support&eacute;e.</p>
3466     </note>
3467
3468     
3469
3470     <p>Les <em>m&eacute;canismes</em> de mutex disponibles sont les suivants :</p>
3471     <ul>
3472         <li><code>default | yes</code>
3473         <p>C'est l'impl&eacute;mentation du verrouillage par d&eacute;faut, telle
3474         qu'elle est d&eacute;finie par <glossary>APR</glossary>. On peut
3475         afficher l'impl&eacute;mentation du verrouillage par d&eacute;faut via la
3476         commande <program>httpd</program> avec l'option <code>-V</code>.</p></li>
3477
3478         <li><code>none | no</code>
3479         <p>Le mutex est d&eacute;sactiv&eacute;, et cette valeur n'est permise pour un
3480         mutex que si le module indique qu'il s'agit d'un choix valide.
3481         Consultez la documentation du module pour plus d'informations.</p></li>
3482
3483         <li><code>posixsem</code>
3484         <p>Une variante de mutex bas&eacute;e sur un s&eacute;maphore Posix.</p>
3485
3486         <note type="warning"><title>Avertissement</title>
3487         <p>La propri&eacute;t&eacute; du s&eacute;maphore n'est pas restitu&eacute;e si un thread du
3488         processus g&eacute;rant le mutex provoque une erreur de segmentation,
3489         ce qui provoquera un blocage du serveur web.</p>
3490         </note>
3491         </li>
3492
3493         <li><code>sysvsem</code>
3494         <p>Une variante de mutex bas&eacute;e sur un s&eacute;maphore IPC SystemV.</p>
3495
3496         <note type="warning"><title>Avertissement</title>
3497         <p>Il peut arriver que les s&eacute;maphores SysV soient conserv&eacute;s si le
3498         processus se crashe avant que le s&eacute;maphore ne soit supprim&eacute;.</p>
3499         </note>
3500
3501         <note type="warning"><title>S&eacute;curit&eacute;</title>
3502         <p>L'API des s&eacute;maphores permet les attaques par d&eacute;ni de service
3503         par tout programme CGI s'ex&eacute;cutant sous le m&ecirc;me uid que le
3504         serveur web (autrement dit tous les programmes CGI, &agrave; moins que
3505         vous n'utilisiez un programme du style <program>suexec</program>
3506         ou <code>cgiwrapper</code>).</p>
3507         </note>
3508         </li>
3509
3510         <li><code>sem</code>
3511         <p>S&eacute;lection de la "meilleure" impl&eacute;mentation des s&eacute;maphores
3512         disponible ; le choix s'effectue entre les s&eacute;maphores posix et
3513         IPC SystemV, dans cet ordre.</p></li>
3514
3515         <li><code>pthread</code>
3516         <p>Une variante de mutex &agrave; base de mutex de thread Posix
3517         inter-processus.</p>
3518
3519         <note type="warning"><title>Avertissement</title>
3520         <p>Sur la plupart des syst&egrave;mes, si un processus enfant se
3521         termine anormalement alors qu'il d&eacute;tenait un mutex qui utilise
3522         cette impl&eacute;mentation, le serveur va se bloquer et cesser de
3523         r&eacute;pondre aux requ&ecirc;tes. Dans ce cas, un red&eacute;marrage manuel est
3524         n&eacute;cessaire pour r&eacute;cup&eacute;rer le mutex.</p>
3525         <p>Solaris constitue une exception notable, en ceci qu'il fournit
3526         un m&eacute;canisme qui permet en g&eacute;n&eacute;ral de r&eacute;cup&eacute;rer le mutex apr&egrave;s
3527         l'arr&ecirc;t anormal d'un processus enfant qui d&eacute;tenait le mutex.</p>
3528         <p>Si votre syst&egrave;me impl&eacute;mente la fonction
3529         <code>pthread_mutexattr_setrobust_np()</code>, vous devriez
3530         pouvoir utiliser l'option <code>pthread</code> sans probl&egrave;me.</p>
3531         </note>
3532         </li>
3533
3534         <li><code>fcntl:/chemin/vers/mutex</code>
3535         <p>Une variante de mutex utilisant un fichier verrou physique et
3536         la fonction <code>fcntl()</code>.</p>
3537
3538         <note type="warning"><title>Avertissement</title>
3539         <p>Lorsqu'on utilise plusieurs mutex bas&eacute;s sur ce m&eacute;canisme dans
3540         un environnement multi-processus, multi-thread, des erreurs de
3541         blocage (EDEADLK) peuvent &ecirc;tre rapport&eacute;es pour des op&eacute;rations de
3542         mutex valides si la fonction <code>fcntl()</code> ne g&egrave;re pas
3543         les threads, comme sous Solaris.</p>
3544         </note>
3545         </li>
3546
3547         <li><code>flock:/chemin/vers/mutex</code>
3548         <p>M&eacute;thode similaire &agrave; <code>fcntl:/chemin/vers/mutex</code>,
3549         mais c'est la fonction <code>flock()</code> qui est utilis&eacute;e
3550         pour g&eacute;rer le verrouillage par fichier.</p></li>
3551
3552         <li><code>file:/chemin/vers/mutex</code>
3553         <p>S&eacute;lection de la "meilleure" impl&eacute;mentation de verrouillage
3554         par fichier disponible ; le choix s'effectue entre
3555         <code>fcntl</code> et <code>flock</code>, dans cet ordre.</p></li>
3556     </ul>
3557
3558     <p>La plupart des m&eacute;canismes ne sont disponibles que sur les
3559     plate-formes o&ugrave; ces derni&egrave;res et <glossary>APR</glossary> les
3560     supportent. Les m&eacute;canismes qui ne sont pas disponibles sur toutes
3561     les plate-formes sont <em>posixsem</em>,
3562     <em>sysvsem</em>, <em>sem</em>, <em>pthread</em>, <em>fcntl</em>, 
3563     <em>flock</em>, et <em>file</em>.</p>
3564
3565     <p>Avec les m&eacute;canismes &agrave; base de fichier <em>fcntl</em> et
3566     <em>flock</em>, le chemin, s'il est fourni, est un r&eacute;pertoire dans
3567     lequel le fichier verrou sera cr&eacute;&eacute;. Le r&eacute;pertoire par d&eacute;faut est le
3568     r&eacute;pertoire d'ex&eacute;cution httpd d&eacute;fini par la directive <directive
3569     module="core">DefaultRuntimeDir</directive>. Si le r&eacute;pertoire
3570     sp&eacute;cifi&eacute; est un chemin relatif, il est relatif au chemin d&eacute;fini par
3571     la directive <directive module="core">DefaultRuntimeDir</directive>.
3572     Utilisez toujours un syst&egrave;me
3573     de fichiers local sur disque pour <code>/chemin/vers/mutex</code> et
3574     jamais un r&eacute;pertoire se trouvant dans un syst&egrave;me de fichiers NFS ou
3575     AFS. Le nom de base du fichier se composera du type de mutex, d'une
3576     cha&icirc;ne optionnelle correspondant &agrave; l'instance et fournie par le
3577     module ; et, sauf si le mot-cl&eacute; <code>OmitPID</code> a &eacute;t&eacute; sp&eacute;cifi&eacute;,
3578     l'identificateur du processus parent httpd sera ajout&eacute; afin de
3579     rendre le nom du fichier unique, &eacute;vitant ainsi tout conflit lorsque
3580     plusieurs instances d'httpd partagent le m&ecirc;me r&eacute;pertoire de
3581     verrouillage. Par exemple, si le nom de mutex est
3582     <code>mpm-accept</code>, et si le r&eacute;pertoire de verrouillage est
3583     <code>/var/httpd/locks</code>, le nom du fichier verrou pour
3584     l'instance httpd dont le processus parent a pour identifiant 12345
3585     sera <code>/var/httpd/locks/mpm-accept.12345</code>.</p>
3586
3587     <note type="warning"><title>S&eacute;curit&eacute;</title>
3588     <p>Il est conseill&eacute; d'<em>&eacute;viter</em> de placer les fichiers mutex
3589     dans un r&eacute;pertoire o&ugrave; tout le monde peut &eacute;crire comme
3590     <code>/var/tmp</code>, car quelqu'un pourrait initier une attaque
3591     par d&eacute;ni de service et emp&ecirc;cher le serveur de d&eacute;marrer en cr&eacute;ant un
3592     fichier verrou poss&eacute;dant un nom identique &agrave; celui que le serveur va
3593     tenter de cr&eacute;er.</p>
3594     </note>
3595
3596     <p>La table suivante d&eacute;crit les noms de mutex utilis&eacute;s par httpd et
3597     ses modules associ&eacute;s.</p>
3598
3599     <table border="1" style="zebra">
3600         <tr>
3601             <th>Nom mutex</th>
3602             <th>Module(s)</th>
3603             <th>Ressource prot&eacute;g&eacute;e</th>
3604         </tr>
3605         <tr>
3606             <td><code>mpm-accept</code></td>
3607             <td>modules MPM <module>prefork</module> et <module>worker</module></td>
3608             <td>connexions entrantes, afin d'&eacute;viter le probl&egrave;me de
3609             l'afflux de requ&ecirc;tes ; pour plus d'informations, voir la
3610             documentation <a
3611             href="../misc/perf-tuning.html">Am&eacute;lioration des
3612             performances</a></td>
3613         </tr>
3614         <tr>
3615             <td><code>authdigest-client</code></td>
3616             <td><module>mod_auth_digest</module></td>
3617             <td>liste de clients en m&eacute;moire partag&eacute;e</td>
3618         </tr>
3619         <tr>
3620             <td><code>authdigest-opaque</code></td>
3621             <td><module>mod_auth_digest</module></td>
3622             <td>compteur en m&eacute;moire partag&eacute;e</td>
3623         </tr>
3624         <tr>
3625             <td><code>ldap-cache</code></td>
3626             <td><module>mod_ldap</module></td>
3627             <td>cache de r&eacute;sultat de recherche LDAP</td>
3628         </tr>
3629         <tr>
3630             <td><code>rewrite-map</code></td>
3631             <td><module>mod_rewrite</module></td>
3632             <td>communication avec des programmes externes
3633             d'associations de valeurs, afin d'&eacute;viter les interf&eacute;rences
3634             d'entr&eacute;es/sorties entre plusieurs requ&ecirc;tes</td>
3635         </tr>
3636         <tr>
3637             <td><code>ssl-cache</code></td>
3638             <td><module>mod_ssl</module></td>
3639             <td>cache de session SSL</td>
3640         </tr>
3641         <tr>
3642             <td><code>ssl-stapling</code></td>
3643             <td><module>mod_ssl</module></td>
3644             <td>cache de l'&eacute;tiquetage OCSP ("OCSP stapling")</td>
3645         </tr>
3646         <tr>
3647             <td><code>watchdog-callback</code></td>
3648             <td><module>mod_watchdog</module></td>
3649             <td>fonction de rappel d'un module client particulier</td>
3650         </tr>
3651     </table>
3652
3653     <p>Le mot-cl&eacute; <code>OmitPID</code> permet d'emp&ecirc;cher l'addition de
3654     l'identifiant du processus httpd parent au nom du fichier verrou.</p>
3655
3656
3657     <p>Dans l'exemple suivant, le m&eacute;canisme de mutex pour le mutex
3658     mpm-accept est modifi&eacute; pour passer du m&eacute;canisme par d&eacute;faut au
3659     m&eacute;canisme <code>fcntl</code>, avec le fichier verrou associ&eacute; cr&eacute;&eacute;
3660     dans le r&eacute;pertoire <code>/var/httpd/locks</code>. Le m&eacute;canisme de
3661     mutex par d&eacute;faut pour tous les autres mutex deviendra
3662     <code>sysvsem</code>.</p>
3663
3664     <highlight language="config">
3665 Mutex sysvsem default
3666 Mutex fcntl:/var/httpd/locks mpm-accept
3667     </highlight>
3668 </usage>
3669 </directivesynopsis>
3670
3671 <directivesynopsis>
3672 <name>NameVirtualHost</name>
3673 <description>OBSOLETE : D&eacute;finit une adresse IP pour les serveurs virtuels &agrave; base de
3674 nom</description>
3675 <syntax>NameVirtualHost <var>adresse</var>[:<var>port</var>]</syntax>
3676 <contextlist><context>server config</context></contextlist>
3677
3678 <usage>
3679
3680     <p>Avant la version 2.3.11, il &eacute;tait n&eacute;cessaire de d&eacute;finir une
3681     directive <directive>NameVirtualHost</directive> pour indiquer au
3682     serveur qu'une paire adresse IP/port particuli&egrave;re pouvait &ecirc;tre
3683     utilis&eacute;e comme serveur virtuel &agrave; base de nom. Depuis la version
3684     2.3.11, chaque fois qu'une paire adresse IP/port est utilis&eacute;e dans
3685     plusieurs serveurs virtuels, l'h&eacute;bergement virtuel &agrave; base de nom est
3686     automatiquement activ&eacute; pour cette adresse.</p>
3687     
3688     <p>Cette directive n'a actuellement plus aucun effet.</p>
3689 </usage>
3690
3691 <seealso><a href="../vhosts/">Documentation sur les serveurs
3692 virtuels</a></seealso>
3693
3694 </directivesynopsis>
3695
3696 <directivesynopsis>
3697 <name>Options</name>
3698 <description>D&eacute;finit les fonctionnalit&eacute;s disponibles pour un r&eacute;pertoire
3699 particulier</description>
3700 <syntax>Options
3701     [+|-]<var>option</var> [[+|-]<var>option</var>] ...</syntax>
3702 <default>Options FollowSymlinks</default>
3703 <contextlist><context>server config</context><context>virtual
3704 host</context>
3705 <context>directory</context><context>.htaccess</context>
3706 </contextlist>
3707 <override>Options</override>
3708 <compatibility>Avec la version 2.3.11, la valeur par d&eacute;faut passe de All
3709 &agrave; FollowSymlinks</compatibility>
3710
3711 <usage>
3712     <p>La directive <directive>Options</directive> permet de d&eacute;finir
3713     les fonctionnalit&eacute;s de serveur disponibles pour un r&eacute;pertoire
3714     particulier.</p>
3715
3716     <p><var>option</var> peut &ecirc;tre d&eacute;fini &agrave; <code>None</code>, auquel
3717     cas aucune fonctionnalit&eacute; sp&eacute;cifique n'est activ&eacute;e, ou comprendre
3718     une ou plusieurs des options suivantes :</p>
3719
3720     <dl>
3721       <dt><code>All</code></dt>
3722
3723       <dd>Toutes les options except&eacute; <code>MultiViews</code>.</dd>
3724
3725       <dt><code>ExecCGI</code></dt>
3726
3727       <dd>L'ex&eacute;cution de scripts CGI &agrave; l'aide du module
3728       <module>mod_cgi</module> est permise.</dd>
3729
3730       <dt><code>FollowSymLinks</code></dt>
3731
3732       <dd>
3733
3734       Le serveur va suivre les liens symboliques dans le r&eacute;pertoire
3735       concern&eacute;. Il s'agit de la valeur par d&eacute;faut.
3736       <note>
3737       <p>Bien que le serveur suive les liens symboliques, il ne modifie
3738       <em>pas</em> le nom de chemin concern&eacute; d&eacute;fini par la section
3739       <directive type="section"
3740       module="core">Directory</directive>.</p>
3741       
3742       <p>Les options <code>FollowSymLinks</code> et
3743       <code>SymLinksIfOwnerMatch</code> ne fonctionnent que dans les
3744       sections <directive type="section"
3745       module="core">Directory</directive> ou les fichiers
3746       <code>.htaccess</code>.</p>
3747
3748       <p>Le fait d'omettre cette option ne doit pas &ecirc;tre consid&eacute;r&eacute; comme
3749       une mesure de s&eacute;curit&eacute; efficace, car il existe toujours une
3750       situation de comp&eacute;tition (race condition) entre l'instant o&ugrave; l'on
3751       v&eacute;rifie qu'un chemin n'est pas un lien symbolique, et l'instant o&ugrave;
3752       l'on utilise effectivement ce chemin.</p>
3753       </note></dd>
3754
3755       <dt><code>Includes</code></dt>
3756
3757       <dd>
3758       Les inclusions c&ocirc;t&eacute; serveur (SSI) &agrave; l'aide du module
3759       <module>mod_include</module> sont autoris&eacute;es.</dd>
3760
3761       <dt><code>IncludesNOEXEC</code></dt>
3762
3763       <dd>
3764
3765       Les inclusions c&ocirc;t&eacute; serveur (SSI) sont permises, mais <code>#exec
3766       cmd</code> et <code>#exec cgi</code> sont d&eacute;sactiv&eacute;s.
3767       L'utilisation de <code>#include virtual</code> pour les scripts
3768       CGI est cependant toujours possible depuis des r&eacute;pertoires
3769       d&eacute;finis par <directive
3770       module="mod_alias">ScriptAlias</directive>.</dd>
3771
3772       <dt><code>Indexes</code></dt>
3773
3774       <dd>
3775       Si une URL requise correspond au r&eacute;pertoire concern&eacute;, et si aucun
3776       <directive module="mod_dir">DirectoryIndex</directive> (<em>par
3777       exemple</em> <code>index.html</code>) n'est d&eacute;fini pour ce
3778       r&eacute;pertoire, le module <module>mod_autoindex</module> va renvoyer
3779       un listing format&eacute; du r&eacute;pertoire.</dd>
3780
3781       <dt><code>MultiViews</code></dt>
3782
3783       <dd>
3784       Les vues multiples ("multiviews") &agrave; <a
3785       href="../content-negotiation.html">contenu n&eacute;goci&eacute;</a> &agrave; l'aide du
3786       module <module>mod_negotiation</module> sont autoris&eacute;es.
3787       <note><title>Note</title> <p>Cette option est ignor&eacute;e si elle est
3788       d&eacute;finie en tout autre endroit qu'une section <directive
3789       module="core" type="section">Directory</directive>, car
3790       <module>mod_negotiation</module> a besoin de ressources r&eacute;elles
3791       pour effectuer ses comparaisons et ses &eacute;valuations.</p></note>
3792       
3793       </dd>
3794
3795       <dt><code>SymLinksIfOwnerMatch</code></dt>
3796
3797       <dd>Le serveur ne suivra que les liens symboliques qui renvoient
3798       vers un fichier ou un r&eacute;pertoire dont le propri&eacute;taire est le m&ecirc;me
3799       que celui du lien.
3800
3801       <note><title>Note</title>
3802       <p>Les options <code>FollowSymLinks</code> et
3803       <code>SymLinksIfOwnerMatch</code> ne fonctionnent que dans les
3804       sections <directive type="section"
3805       module="core">Directory</directive> ou les fichiers
3806       <code>.htaccess</code>.</p>
3807
3808       <p>Le fait d'omettre cette option ne doit pas &ecirc;tre consid&eacute;r&eacute; comme
3809       une mesure de s&eacute;curit&eacute; efficace, car il existe toujours une
3810       situation de comp&eacute;tition (race condition) entre l'instant o&ugrave; l'on
3811       v&eacute;rifie qu'un chemin n'est pas un lien symbolique, et l'instant o&ugrave;
3812       l'on utilise effectivement ce chemin.</p>
3813       </note> </dd>
3814     </dl>
3815
3816     <p>Normalement, si plusieurs directives
3817     <directive>Options</directive> peuvent s'appliquer &agrave; un r&eacute;pertoire,
3818     c'est la plus sp&eacute;cifique qui est utilis&eacute;e et les autres sont
3819     ignor&eacute;es ; les options ne sont pas fusionn&eacute;es (voir <a
3820     href="../sections.html#mergin">comment les sections sont
3821     fusionn&eacute;es</a>). Elles le sont cependant si <em>toutes</em> les
3822     options de la directive <directive>Options</directive> sont
3823     pr&eacute;c&eacute;d&eacute;es d'un symbole <code>+</code> ou <code>-</code>. Toute
3824     option pr&eacute;c&eacute;d&eacute;e d'un <code>+</code> est ajout&eacute;e &agrave; la liste des
3825     options courantes de mani&egrave;re forc&eacute;e et toute option pr&eacute;c&eacute;d&eacute;e d'un
3826     <code>-</code> est supprim&eacute;e de la liste des options courantes de la
3827     m&ecirc;me mani&egrave;re.</p>
3828
3829     <note><title>Note</title>
3830     <p>M&eacute;langer des <directive>Options</directive> avec <code>+</code>
3831     ou <code>-</code> avec des <directive>Options</directive> sans
3832     <code>+</code> ou <code>-</code> constitue une erreur de syntaxe, et
3833     la v&eacute;rification de la syntaxe au cours du d&eacute;marrage du serveur fera
3834     &eacute;chouer ce dernier.</p>
3835     </note>
3836
3837     <p>Par exemple, sans aucun symbole <code>+</code> et <code>-</code>
3838     :</p>
3839
3840     <highlight language="config">
3841 &lt;Directory "/web/docs"&gt;
3842   Options Indexes FollowSymLinks
3843 &lt;/Directory&gt;
3844
3845 &lt;Directory "/web/docs/spec"&gt;
3846   Options Includes
3847 &lt;/Directory&gt;
3848     </highlight>
3849
3850     <p>ici, seule l'option <code>Includes</code> sera prise en compte
3851     pour le r&eacute;pertoire <code>/web/docs/spec</code>. Par contre, si la
3852     seconde directive <directive>Options</directive> utilise les
3853     symboles <code>+</code> et <code>-</code> :</p>
3854
3855     <highlight language="config">
3856 &lt;Directory "/web/docs"&gt;
3857   Options Indexes FollowSymLinks
3858 &lt;/Directory&gt;
3859
3860 &lt;Directory "/web/docs/spec"&gt;
3861   Options +Includes -Indexes
3862 &lt;/Directory&gt;
3863     </highlight>
3864
3865     <p>alors, les options <code>FollowSymLinks</code> et
3866     <code>Includes</code> seront prises en compte pour le r&eacute;pertoire
3867     <code>/web/docs/spec</code>.</p>
3868
3869     <note><title>Note</title>
3870       <p>L'utilisation de <code>-IncludesNOEXEC</code> ou
3871       <code>-Includes</code> d&eacute;sactive compl&egrave;tement les inclusions c&ocirc;t&eacute;
3872       serveur sans tenir compte des d&eacute;finitions pr&eacute;c&eacute;dentes.</p>
3873     </note>
3874
3875     <p>En l'absence de toute d&eacute;finition d'options, la valeur par d&eacute;faut
3876     est <code>FollowSymlinks</code>.</p>
3877 </usage>
3878 </directivesynopsis>
3879
3880 <directivesynopsis>
3881 <name>Protocol</name>
3882 <description>Protocole pour une socket d'&eacute;coute</description>
3883 <syntax>Protocol <var>protocole</var></syntax>
3884 <contextlist><context>server config</context><context>virtual host</context></contextlist>
3885 <compatibility>Sous Windows, disponible &agrave; partir de la version 2.3.3 du
3886 serveur HTTP Apache.</compatibility>
3887
3888 <usage>
3889     <p>Cette directive permet de sp&eacute;cifier le protocole utilis&eacute; pour une
3890     socket d'&eacute;coute particuli&egrave;re. Le protocole sert &agrave; d&eacute;terminer quel
3891     module doit traiter une requ&ecirc;te, et d'appliquer les optimisations
3892     sp&eacute;cifiques au protocole via la directive
3893     <directive>AcceptFilter</directive>.</p>
3894
3895     <p>Vous ne devez d&eacute;finir le protocole que si vous travaillez avec
3896     des ports non standards ; dans le cas g&eacute;n&eacute;ral, le protocole
3897     <code>http</code> est associ&eacute; au port 80 et le protocole
3898     <code>https</code> au port 443.</p>
3899
3900     <p>Par exemple, si vous travaillez avec le protocole
3901     <code>https</code> sur un port non standard, sp&eacute;cifiez le protocole
3902     de mani&egrave;re explicite :</p>
3903
3904     <highlight language="config">Protocol https</highlight>
3905
3906     <p>Vous pouvez aussi sp&eacute;cifier le protocole via la directive
3907     <directive module="mpm_common">Listen</directive>.</p>
3908 </usage>
3909 <seealso><directive module="core">AcceptFilter</directive></seealso>
3910 <seealso><directive module="mpm_common">Listen</directive></seealso>
3911 </directivesynopsis>
3912
3913
3914 <directivesynopsis>
3915 <name>RLimitCPU</name>
3916 <description>Limite le temps CPU allou&eacute; aux processus initi&eacute;s par les
3917 processus enfants d'Apache httpd</description>
3918 <syntax>RLimitCPU <var>secondes</var>|max [<var>secondes</var>|max]</syntax>
3919 <default>Non d&eacute;fini ; utilise les valeurs par d&eacute;faut du syst&egrave;me
3920 d'exploitation</default>
3921 <contextlist><context>server config</context><context>virtual
3922 host</context>
3923 <context>directory</context><context>.htaccess</context></contextlist>
3924 <override>All</override>
3925
3926 <usage>
3927     <p>Prend 1 ou 2 param&egrave;tres. Le premier definit la limite de
3928     consommation de ressources pour tous les processus, et le second la
3929     consommation de ressources maximale. Les deux param&egrave;tres peuvent
3930     contenir soit un nombre, soit <code>max</code> pour indiquer au
3931     serveur que la limite de consommation correspond &agrave; la valeur
3932     maximale autoris&eacute;e par la configuration du syst&egrave;me d'exploitation.
3933     Pour augmenter la consommation maximale de ressources, le serveur
3934     doit s'ex&eacute;cuter en tant que <code>root</code>, ou se trouver dans sa
3935     phase de d&eacute;marrage.</p>
3936
3937     <p>Cette directive s'applique aux processus initi&eacute;s par les
3938     processus enfants d'Apache httpd qui traitent les requ&ecirc;tes, et non aux
3939     processus enfants eux-m&ecirc;mes. Sont concern&eacute;s les scripts CGI et les
3940     commandes exec des SSI, mais en aucun cas les processus initi&eacute;s par
3941     le processus parent d'Apache httpd comme les journalisations redirig&eacute;es
3942     vers un programme.</p>
3943
3944     <p>Les limites de ressources CPU sont exprim&eacute;es en secondes par
3945     processus.</p>
3946 </usage>
3947 <seealso><directive module="core">RLimitMEM</directive></seealso>
3948 <seealso><directive module="core">RLimitNPROC</directive></seealso>
3949 </directivesynopsis>
3950
3951 <directivesynopsis>
3952 <name>RLimitMEM</name>
3953 <description>Limite la m&eacute;moire allou&eacute;e aux processus initi&eacute;s par les
3954 processus enfants d'Apache httpd</description>
3955 <syntax>RLimitMEM <var>octets</var>|max [<var>octets</var>|max]</syntax>
3956 <default>Non d&eacute;fini ; utilise les valeurs par d&eacute;faut du syst&egrave;me
3957 d'exploitation</default>
3958 <contextlist><context>server config</context><context>virtual
3959 host</context>
3960 <context>directory</context><context>.htaccess</context></contextlist>
3961 <override>All</override>
3962
3963 <usage>
3964     <p>Prend 1 ou 2 param&egrave;tres. Le premier definit la limite de
3965     consommation de ressources pour tous les processus, et le second la
3966     consommation de ressources maximale. Les deux param&egrave;tres peuvent
3967     contenir soit un nombre, soit <code>max</code> pour indiquer au
3968     serveur que la limite de consommation correspond &agrave; la valeur
3969     maximale autoris&eacute;e par la configuration du syst&egrave;me d'exploitation.
3970     Pour augmenter la consommation maximale de ressources, le serveur
3971     doit s'ex&eacute;cuter en tant que <code>root</code>, ou se trouver dans sa
3972     phase de d&eacute;marrage.</p>
3973
3974     <p>Cette directive s'applique aux processus initi&eacute;s par les
3975     processus enfants d'Apache httpd qui traitent les requ&ecirc;tes, et non aux
3976     processus enfants eux-m&ecirc;mes. Sont concern&eacute;s les scripts CGI et les
3977     commandes exec des SSI, mais en aucun cas les processus initi&eacute;s par
3978     le processus parent d'Apache httpd comme les journalisations redirig&eacute;es
3979     vers un programme.</p>
3980
3981     <p>Les limites de ressources m&eacute;moire sont exprim&eacute;es en octets par
3982     processus.</p>
3983 </usage>
3984 <seealso><directive module="core">RLimitCPU</directive></seealso>
3985 <seealso><directive module="core">RLimitNPROC</directive></seealso>
3986 </directivesynopsis>
3987
3988 <directivesynopsis>
3989 <name>RLimitNPROC</name>
3990 <description>Limite le nombre de processus qui peuvent &ecirc;tre initi&eacute;s par
3991 les processus initi&eacute;s par les processus enfants d'Apache httpd</description>
3992 <syntax>RLimitNPROC <var>nombre</var>|max [<var>nombre</var>|max]</syntax>
3993 <default>Unset; uses operating system defaults</default>
3994 <contextlist><context>server config</context><context>virtual
3995 host</context>
3996 <context>directory</context><context>.htaccess</context></contextlist>
3997 <override>All</override>
3998
3999 <usage>
4000     <p>Prend 1 ou 2 param&egrave;tres. Le premier definit la limite de
4001     consommation de ressources pour tous les processus, et le second la
4002     consommation de ressources maximale. Les deux param&egrave;tres peuvent
4003     contenir soit un nombre, soit <code>max</code> pour indiquer au
4004     serveur que la limite de consommation correspond &agrave; la valeur
4005     maximale autoris&eacute;e par la configuration du syst&egrave;me d'exploitation.
4006     Pour augmenter la consommation maximale de ressources, le serveur
4007     doit s'ex&eacute;cuter en tant que <code>root</code>, ou se trouver dans sa
4008     phase de d&eacute;marrage.</p>
4009
4010     <p>Cette directive s'applique aux processus initi&eacute;s par les
4011     processus enfants d'Apache httpd qui traitent les requ&ecirc;tes, et non aux
4012     processus enfants eux-m&ecirc;mes. Sont concern&eacute;s les scripts CGI et les
4013     commandes exec des SSI, mais en aucun cas les processus initi&eacute;s par
4014     le processus parent d'Apache httpd comme les journalisations redirig&eacute;es
4015     vers un programme.</p>
4016
4017     <p>Les limites des processus contr&ocirc;lent le nombre de processus par
4018     utilisateur.</p>
4019
4020     <note><title>Note</title>
4021       <p>Si les processus CGI s'ex&eacute;cutent sous le m&ecirc;me
4022       utilisateur que celui du serveur web, cette
4023       directive va limiter le nombre de processus que le serveur
4024       pourra lui-m&ecirc;me cr&eacute;er. La pr&eacute;sence de messages
4025       <strong><code>cannot fork</code></strong> dans le journal des
4026       erreurs indiquera que la limite est atteinte.</p>
4027     </note>
4028 </usage>
4029 <seealso><directive module="core">RLimitMEM</directive></seealso>
4030 <seealso><directive module="core">RLimitCPU</directive></seealso>
4031 </directivesynopsis>
4032
4033 <directivesynopsis>
4034 <name>ScriptInterpreterSource</name>
4035 <description>Permet de localiser l'interpr&eacute;teur des scripts
4036 CGI</description>
4037 <syntax>ScriptInterpreterSource Registry|Registry-Strict|Script</syntax>
4038 <default>ScriptInterpreterSource Script</default>
4039 <contextlist><context>server config</context><context>virtual
4040 host</context>
4041 <context>directory</context><context>.htaccess</context></contextlist>
4042 <override>FileInfo</override>
4043 <compatibility>Win32 seulement</compatibility>
4044
4045 <usage>
4046     <p>Cette directive permet de contr&ocirc;ler la m&eacute;thode qu'utilise Apache
4047     httpd pour trouver l'interpr&eacute;teur destin&eacute; &agrave; ex&eacute;cuter les scripts CGI. La
4048     d&eacute;finition par d&eacute;faut est <code>Script</code> : ceci indique &agrave;
4049     Apache httpd qu'il doit utiliser l'interpr&eacute;teur pr&eacute;cis&eacute; dans la ligne
4050     shebang du script (la premi&egrave;re ligne, commen&ccedil;ant par
4051     <code>#!</code>). Sur les syst&egrave;mes Win32, cette ligne ressemble
4052     souvent &agrave; ceci :</p>
4053
4054     <highlight language="perl">#!C:/Perl/bin/perl.exe</highlight>
4055
4056     <p>ou simplement, dans le cas o&ugrave; <code>perl</code> est dans le
4057     <code>PATH</code> :</p>
4058
4059     <highlight language="perl">#!perl</highlight>
4060
4061     <p>Avec <code>ScriptInterpreterSource Registry</code>, Windows va
4062     effectuer une recherche dans l'arborescence
4063     <code>HKEY_CLASSES_ROOT</code> de la base de registre avec comme
4064     mot-cl&eacute; l'extension du fichier contenant le script (par exemple
4065     <code>.pl</code>). C'est la commande d&eacute;finie par la sous-cl&eacute; de
4066     registre <code>Shell\ExecCGI\Command</code> ou, si elle n'existe
4067     pas, la sous-cl&eacute; <code>Shell\Open\Command</code> qui est utilis&eacute;e
4068     pour ouvrir le fichier du script. Si ces cl&eacute;s de registre ne sont
4069     pas trouv&eacute;es, Apache httpd utilise la m&eacute;thode de l'option
4070     <code>Script</code>.</p>
4071
4072     <note type="warning"><title>S&eacute;curit&eacute;</title>
4073     <p>Soyez prudent si vous utilisez <code>ScriptInterpreterSource
4074     Registry</code> avec des r&eacute;pertoires faisant l'objet d'un <directive
4075     module="mod_alias">ScriptAlias</directive>, car Apache httpd va essayer
4076     d'ex&eacute;cuter <strong>tous</strong> les fichiers contenus dans
4077     celui-ci. L'option <code>Registry</code> peut causer des appels de
4078     programmes non voulus sur des fichiers non destin&eacute;s &agrave; &ecirc;tre ex&eacute;cut&eacute;s.
4079     Par exemple, la commande par d&eacute;faut open sur les fichiers
4080     <code>.htm</code> sur la plupart des syst&egrave;mes Windows va lancer
4081     Microsoft Internet Explorer ; ainsi, toute requ&ecirc;te HTTP pour un
4082     fichier <code>.htm</code> situ&eacute; dans le r&eacute;pertoire des scripts
4083     va lancer le navigateur en arri&egrave;re-plan sur le serveur, ce qui a
4084     toutes les chances de crasher votre syst&egrave;me dans les minutes qui
4085     suivent.</p>
4086     </note>
4087
4088     <p>L'option <code>Registry-Strict</code>, apparue avec la version
4089     2.0 du serveur HTTP Apache,
4090     agit de mani&egrave;re identique &agrave; <code>Registry</code>, mais n'utilise
4091     que la sous-cl&eacute; <code>Shell\ExecCGI\Command</code>. La pr&eacute;sence de
4092     la cl&eacute; <code>ExecCGI</code> n'&eacute;tant pas syst&eacute;matique, Elle doit &ecirc;tre
4093     d&eacute;finie manuellement dans le registre Windows et &eacute;vite ainsi tout
4094     appel de programme accidentel sur votre syst&egrave;me.</p>
4095 </usage>
4096 </directivesynopsis>
4097
4098 <directivesynopsis>
4099 <name>SeeRequestTail</name>
4100 <description>D&eacute;termine si mod_status affiche les 63 premiers caract&egrave;res
4101 d'une requ&ecirc;te ou les 63 derniers, en supposant que la requ&ecirc;te
4102 elle-m&ecirc;me poss&egrave;de plus de 63 caract&egrave;res.</description>
4103 <syntax>SeeRequestTail On|Off</syntax>
4104 <default>SeeRequestTail Off</default>
4105 <contextlist><context>server config</context></contextlist>
4106
4107 <usage>
4108     <p>Avec <code>ExtendedStatus On</code>, mod_status affiche la
4109     v&eacute;ritable requ&ecirc;te en cours de traitement. Pour des raisons
4110     historiques, seuls 63 caract&egrave;res de la requ&ecirc;te sont r&eacute;ellement
4111     stock&eacute;s &agrave; des fins d'affichage. Cette directive permet de d&eacute;terminer
4112     si ce sont les 63 premiers caract&egrave;res qui seront stock&eacute;s (c'est le
4113     comportement par d&eacute;faut),
4114     ou si ce sont les 63 derniers. Ceci ne s'applique bien entendu que
4115     si la taille de la requ&ecirc;te est de 64 caract&egrave;res ou plus.</p>
4116
4117     <p>Si Apache httpd traite la requ&ecirc;te <code
4118     >GET&nbsp;/disque1/stockage/apache/htdocs/images/rep-images1/nourriture/pommes.jpg&nbsp;HTTP/1.1</code>
4119     , l'affichage de la requ&ecirc;te par mod_status se pr&eacute;sentera comme suit :
4120     </p>
4121
4122     <table border="1">
4123       <tr>
4124         <th>Off (d&eacute;faut)</th>
4125         <td>GET&nbsp;/disque1/stockage/apache/htdocs/images/rep-images1/nourritu</td>
4126       </tr>
4127       <tr>
4128         <th>On</th>
4129         <td>apache/htdocs/images/rep-images1/nourriture/pommes.jpg&nbsp;HTTP/1.1</td>
4130       </tr>
4131     </table>
4132
4133 </usage>
4134
4135 </directivesynopsis>
4136
4137 <directivesynopsis>
4138 <name>ServerAdmin</name>
4139 <description>L'adresse &eacute;lectronique que le serveur inclut dans les
4140 messages d'erreur envoy&eacute;s au client</description>
4141 <syntax>ServerAdmin <var>adresse &eacute;lectronique</var>|<var>URL</var></syntax>
4142 <contextlist><context>server config</context><context>virtual
4143 host</context>
4144 </contextlist>
4145
4146 <usage>
4147     <p>La directive <directive>ServerAdmin</directive> permet de d&eacute;finir
4148     l'adresse de contact que le serveur va inclure dans tout message
4149     d'erreur qu'il envoie au client. Si le programme <code>httpd</code>
4150     ne reconnait pas l'argument fourni comme une URL, il suppose que
4151     c'est une <var>adresse &eacute;lectronique</var>, et lui ajoute le pr&eacute;fixe
4152     <code>mailto:</code> dans les cibles des hyperliens. Il est
4153     cependant recommand&eacute; d'utiliser exclusivement une adresse
4154     &eacute;lectronique, car de nombreux scripts CGI consid&egrave;rent ceci comme
4155     implicite. Si vous utilisez une URL, elle doit pointer vers un autre
4156     serveur que vous contr&ocirc;lez. Dans le cas contraire, les utilisateurs
4157     seraient dans l'impossibilit&eacute; de vous contacter en cas de probl&egrave;me.</p>
4158
4159     <p>Il peut s'av&eacute;rer utile de d&eacute;finir une adresse d&eacute;di&eacute;e &agrave;
4160     l'administration du serveur, par exemple :</p>
4161
4162     <highlight language="config">ServerAdmin www-admin@foo.example.com</highlight>
4163     <p>car les utilisateurs ne mentionnent pas syst&eacute;matiquement le
4164     serveur dont ils parlent !</p>
4165 </usage>
4166 </directivesynopsis>
4167
4168 <directivesynopsis>
4169 <name>ServerAlias</name>
4170 <description>Autres noms d'un serveur utilisables pour atteindre des
4171 serveurs virtuels &agrave; base de nom</description>
4172 <syntax>ServerAlias <var>nom serveur</var> [<var>nom serveur</var>]
4173 ...</syntax>
4174 <contextlist><context>virtual host</context></contextlist>
4175
4176 <usage>
4177     <p>La directive <directive>ServerAlias</directive> permet de d&eacute;finir
4178     les noms alternatifs d'un serveur utilisables pour atteindre des <a
4179     href="../vhosts/name-based.html">serveurs virtuels &agrave; base de
4180     nom</a>. La directive <directive>ServerAlias</directive> peut
4181     contenir des caract&egrave;res g&eacute;n&eacute;riques, si n&eacute;cessaire.</p>
4182
4183     <highlight language="config">
4184 &lt;VirtualHost *:80&gt;
4185   ServerName server.example.com
4186   ServerAlias server server2.example.com server2
4187   ServerAlias *.example.com
4188   UseCanonicalName Off
4189   # ...
4190 &lt;/VirtualHost&gt;
4191     </highlight>
4192     <p>La recherche du serveur virtuel &agrave; base de nom correspondant au
4193     plus pr&egrave;s &agrave; la requ&ecirc;te s'effectue selon l'ordre d'apparition des
4194     directives <directive type="section"
4195     module="core">virtualhost</directive> dans le fichier de
4196     configuration. Le premier serveur virtuel dont le <directive
4197     module="core">ServerName</directive> ou le <directive
4198     module="core">ServerAlias</directive> correspond est choisi, sans
4199     priorit&eacute; particuli&egrave;re si le nom contient des caract&egrave;res g&eacute;n&eacute;riques
4200     (que ce soit pour ServerName ou ServerAlias).</p>
4201
4202     <p>Tous les noms sp&eacute;cifi&eacute;s au sein d'une section
4203     <directive>VirtualHost</directive> sont trait&eacute;s comme un
4204     <directive>ServerAlias</directive> (sans caract&egrave;res g&eacute;n&eacute;riques).</p>
4205
4206 </usage>
4207 <seealso><directive module="core">UseCanonicalName</directive></seealso>
4208 <seealso><a href="../vhosts/">Documentation sur les serveurs virtuels
4209 du serveur HTTP Apache</a></seealso>
4210 </directivesynopsis>
4211
4212 <directivesynopsis>
4213 <name>ServerName</name>
4214 <description>Nom d'h&ocirc;te et port que le serveur utilise pour
4215 s'authentifier lui-m&ecirc;me</description>
4216 <syntax>ServerName [<var>protocole</var>://]<var>nom de domaine
4217 enti&egrave;rement qualifi&eacute;</var>[:<var>port</var>]</syntax>
4218 <contextlist><context>server config</context><context>virtual
4219 host</context>
4220 </contextlist>
4221
4222 <usage>
4223     <p>La directive <directive>ServerName</directive> permet de d&eacute;finir
4224     les protocole, nom d'h&ocirc;te et port d'une requ&ecirc;te que le serveur
4225     utilise pour s'authentifier lui-m&ecirc;me. Ceci est utile lors de la
4226     cr&eacute;ation de redirections d'URLs.</p>
4227
4228     <p>La directive <directive>ServerName</directive> permet aussi
4229     (&eacute;ventuellement en conjonction avec la directive
4230     <directive>ServerAlias</directive>) d'identifier de mani&egrave;re unique
4231     un serveur virtuel, lorsqu'elle est utilis&eacute;e dans un contexte de <a
4232     href="../vhosts/name-based.html">serveurs virtuels &agrave; base de
4233     noms</a>.</p>
4234     
4235     <p>Par exemple, si le nom de la
4236     machine h&eacute;bergeant le serveur web est
4237     <code>simple.example.com</code>, la machine poss&egrave;de l'alias
4238     DNS <code>www.example.com</code>, et si vous voulez que le serveur
4239     web s'identifie avec cet alias, vous devez utilisez la d&eacute;finition
4240     suivante :</p>
4241
4242     <highlight language="config">ServerName www.example.com</highlight>
4243
4244     <p>La directive <directive>ServerName</directive> peut appara&icirc;tre &agrave;
4245     toutes les &eacute;tapes de la d&eacute;finition du serveur. Toute occurrence
4246     annule cependant la pr&eacute;c&eacute;dente (pour ce serveur).</p>
4247
4248     <p>Si la directive <directive>ServerName</directive> n'est pas
4249     d&eacute;finie, le serveur tente de d&eacute;terminer le nom d'h&ocirc;te en effectuant
4250     une recherche DNS inverse sur son adresse IP. Si la directive
4251     <directive>ServerName</directive> ne pr&eacute;cise pas de port, le serveur
4252     utilisera celui de la requ&ecirc;te entrante. Il est recommand&eacute; de
4253     sp&eacute;cifier un nom d'h&ocirc;te et un port sp&eacute;cifiques &agrave; l'aide de la
4254     directive <directive>ServerName</directive> pour une fiabilit&eacute;
4255     optimale et &agrave; titre pr&eacute;ventif.</p>
4256
4257     <p>Si vous d&eacute;finissez des <a
4258     href="../vhosts/name-based.html">serveurs virtuels &agrave; base de
4259     nom</a>, une directive <directive>ServerName</directive> situ&eacute;e &agrave;
4260     l'int&eacute;rieur d'une section <directive type="section"
4261     module="core">VirtualHost</directive> sp&eacute;cifiera quel nom d'h&ocirc;te
4262     doit appara&icirc;tre dans l'en-t&ecirc;te de requ&ecirc;te <code>Host:</code> pour
4263     pouvoir atteindre ce serveur virtuel.</p>
4264
4265
4266     <p>Parfois, le serveur s'ex&eacute;cute en amont d'un dispositif qui
4267     impl&eacute;mente SSL, comme un mandataire inverse, un r&eacute;partiteur de
4268     charge ou un bo&icirc;tier d&eacute;di&eacute; SSL. Dans ce cas, sp&eacute;cifiez le protocole
4269     <code>https://</code> et le port auquel les clients se connectent
4270     dans la directive <directive>ServerName</directive>, afin de
4271     s'assurer que le serveur g&eacute;n&egrave;re correctement ses URLs
4272     d'auto-identification.
4273     </p>
4274
4275     <p>Voir la description des directives <directive
4276     module="core">UseCanonicalName</directive> et <directive
4277     module="core">UseCanonicalPhysicalPort</directive> pour les
4278     d&eacute;finitions qui permettent de d&eacute;terminer si les URLs
4279     auto-identifiantes (par exemple via le module
4280     <module>mod_dir</module>) vont faire r&eacute;f&eacute;rence au port sp&eacute;cifi&eacute;, ou
4281     au port indiqu&eacute; dans la requ&ecirc;te du client.
4282     </p>
4283
4284     <note type="warning">
4285     <p>Si la valeur de la directive <directive>ServerName</directive> ne
4286     peut pas &ecirc;tre r&eacute;solue en adresse IP, le d&eacute;marrage du serveur
4287     provoquera un avertissement. <code>httpd</code> va alors utiliser le
4288     r&eacute;sultat de la commande syst&egrave;me <code>hostname</code> pour
4289     d&eacute;terminer le nom du serveur, ce qui ne correspondra pratiquement
4290     jamais au nom de serveur que vous souhaitez r&eacute;ellement.</p>
4291     <example>
4292     httpd: Could not reliably determine the server's fully qualified domain name, using rocinante.local for ServerName
4293     </example>
4294     </note>
4295
4296 </usage>
4297
4298 <seealso><a href="../dns-caveats.html">Probl&egrave;mes concernant le DNS et
4299 le serveur HTTP Apache</a></seealso>
4300 <seealso><a href="../vhosts/">Documentation sur les serveurs virtuels
4301 du serveur HTTP Apache</a></seealso>
4302 <seealso><directive module="core">UseCanonicalName</directive></seealso>
4303 <seealso><directive module="core">UseCanonicalPhysicalPort</directive></seealso>
4304 <seealso><directive module="core">ServerAlias</directive></seealso>
4305 </directivesynopsis>
4306
4307 <directivesynopsis>
4308 <name>ServerPath</name>
4309 <description>Nom de chemin d'URL h&eacute;rit&eacute; pour un serveur virtuel &agrave; base
4310 de nom acc&eacute;d&eacute; par un navigateur incompatible</description>
4311 <syntax>ServerPath <var>chemin d'URL</var></syntax>
4312 <contextlist><context>virtual host</context></contextlist>
4313
4314 <usage>
4315     <p>La directive <directive>ServerPath</directive> permet de d&eacute;finir
4316     le nom de chemin d'URL h&eacute;rit&eacute; d'un h&ocirc;te, &agrave; utiliser avec les <a
4317     href="../vhosts/">serveurs virtuels &agrave; base de nom</a>.</p>
4318 </usage>
4319 <seealso><a href="../vhosts/">Documentation sur les serveurs virtuels
4320 du serveur HTTP Apache</a></seealso>
4321 </directivesynopsis>
4322
4323 <directivesynopsis>
4324 <name>ServerRoot</name>
4325 <description>Racine du r&eacute;pertoire d'installation du
4326 serveur</description>
4327 <syntax>ServerRoot <var>chemin de r&eacute;pertoire</var></syntax>
4328 <default>ServerRoot /usr/local/apache</default>
4329 <contextlist><context>server config</context></contextlist>
4330
4331 <usage>
4332     <p>La directive <directive>ServerRoot</directive> permet de d&eacute;finir
4333     le r&eacute;pertoire dans lequel le serveur est install&eacute;. En particulier,
4334     il contiendra les sous-r&eacute;pertoires <code>conf/</code> et
4335     <code>logs/</code>. Les chemins relatifs indiqu&eacute;s dans les autres
4336     directives (comme <directive
4337     module="core">Include</directive> ou <directive
4338     module="mod_so">LoadModule</directive>) seront d&eacute;finis par
4339     rapport &agrave; ce r&eacute;pertoire.</p>
4340
4341     <highlight language="config">ServerRoot "/home/httpd"</highlight>
4342
4343     <p>La valeur par d&eacute;faut de <directive>ServerRoot</directive> peut
4344     &ecirc;tre modifi&eacute;e via l'argument <code>--prefix</code> de la commande <a
4345     href="../programs/configure.html"><code>configure</code></a>, et de
4346     nombreuses distributions tierces du serveur proposent une valeur
4347     diff&eacute;rente de celles list&eacute;es ci-dessus.</p>
4348
4349 </usage>
4350 <seealso><a href="../invoking.html">the <code>-d</code>
4351     options de <code>httpd</code></a></seealso>
4352 <seealso><a href="../misc/security_tips.html#serverroot">les conseils &agrave;
4353 propos de s&eacute;curit&eacute;</a> pour des informations sur la mani&egrave;re de d&eacute;finir
4354 correctement les permissions sur le r&eacute;pertoire indiqu&eacute; par la directive
4355 <directive>ServerRoot</directive></seealso>
4356 </directivesynopsis>
4357
4358 <directivesynopsis>
4359 <name>ServerSignature</name>
4360 <description>D&eacute;finit un pied de page pour les documents g&eacute;n&eacute;r&eacute;s par le
4361 serveur</description>
4362 <syntax>ServerSignature On|Off|EMail</syntax>
4363 <default>ServerSignature Off</default>
4364 <contextlist><context>server config</context><context>virtual
4365 host</context>
4366 <context>directory</context><context>.htaccess</context>
4367 </contextlist>
4368 <override>All</override>
4369
4370 <usage>
4371     <p>La directive <directive>ServerSignature</directive> permet de
4372     d&eacute;finir une ligne de pied de page fixe pour les documents g&eacute;n&eacute;r&eacute;s
4373     par le serveur (messages d'erreur, listings de r&eacute;pertoires ftp de
4374     <module>mod_proxy</module>, sorties de <module>mod_info</module>,
4375     etc...). Dans le cas d'une cha&icirc;ne de mandataires, l'utilisateur n'a
4376     souvent aucun moyen de d&eacute;terminer lequel des mandataires cha&icirc;n&eacute;s a
4377     g&eacute;n&eacute;r&eacute; un message d'erreur, et c'est une des raisons pour lesquelles
4378     on peut &ecirc;tre amen&eacute; &agrave; ajouter un tel pied de page.</p>
4379
4380     <p>La valeur par d&eacute;faut <code>Off</code> supprime la ligne de pied
4381     de page (et est ainsi compatible avec le comportement des
4382     versions 1.2 et ant&eacute;rieures d'Apache). la valeur <code>On</code>
4383     ajoute simplement une ligne contenant le num&eacute;ro de version du
4384     serveur ainsi que le nom du serveur virtuel issu de la directive
4385     <directive module="core">ServerName</directive>, alors que la valeur
4386     <code>EMail</code> ajoute en plus une r&eacute;f&eacute;rence "mailto:" &agrave;
4387     l'administrateur du document r&eacute;f&eacute;renc&eacute; issu la directive
4388     <directive module="core">ServerAdmin</directive>.</p>
4389
4390     <p>Apr&egrave;s la version 2.0.44, les d&eacute;tails &agrave; propos du num&eacute;ro de
4391     version du serveur sont contr&ocirc;l&eacute;s &agrave; l'aide de la directive
4392     <directive module="core">ServerTokens</directive>.</p>
4393 </usage>
4394 <seealso><directive module="core">ServerTokens</directive></seealso>
4395 </directivesynopsis>
4396
4397 <directivesynopsis>
4398 <name>ServerTokens</name>
4399 <description>Configure l'en-t&ecirc;te <code>Server</code> de la r&eacute;ponse
4400 HTTP</description>
4401 <syntax>ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full</syntax>
4402 <default>ServerTokens Full</default>
4403 <contextlist><context>server config</context></contextlist>
4404
4405 <usage>
4406     <p>Cette directive permet de contr&ocirc;ler le contenu de l'en-t&ecirc;te
4407     <code>Server</code> inclus dans la r&eacute;ponse envoy&eacute;e au client : cet
4408     en-t&ecirc;te peut contenir le type de syst&egrave;me d'exploitation du serveur,
4409     ainsi que des informations &agrave; propos des modules compil&eacute;s avec le
4410     serveur.</p>
4411
4412     <dl>
4413         <dt><code>ServerTokens Full</code> (ou non sp&eacute;cifi&eacute;)</dt>
4414
4415         <dd>Le serveur envoie par exemple : <code>Server: Apache/2.4.2
4416         (Unix) PHP/4.2.2 MyMod/1.2</code></dd>
4417
4418         <dt><code>ServerTokens Prod[uctOnly]</code></dt>
4419
4420       <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server:
4421       Apache</code></dd>
4422
4423       <dt><code>ServerTokens Major</code></dt>
4424
4425       <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server:
4426       Apache/2</code></dd>
4427
4428       <dt><code>ServerTokens Minor</code></dt>
4429
4430       <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server:
4431       Apache/2.4</code></dd>
4432
4433       <dt><code>ServerTokens Min[imal]</code></dt>
4434
4435       <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server:
4436       Apache/2.4.2</code></dd>
4437
4438       <dt><code>ServerTokens OS</code></dt>
4439
4440       <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server:
4441       Apache/2.4.2 (Unix)</code></dd>
4442
4443       
4444       
4445     </dl>
4446
4447     <p>Cette d&eacute;finition s'applique &agrave; l'ensemble du serveur et ne peut
4448     &ecirc;tre activ&eacute;e ou d&eacute;sactiv&eacute;e pour tel ou tel serveur virtuel.</p>
4449
4450     <p>Dans les versions post&eacute;rieures &agrave; 2.0.44, cette directive contr&ocirc;le
4451     aussi les informations fournies par la directive <directive
4452     module="core">ServerSignature</directive>.</p>
4453
4454     <note>D&eacute;finir <directive>ServerTokens</directive> &agrave; une
4455     valeur inf&eacute;rieure &agrave; <code>minimal</code> n'est pas
4456     recommand&eacute; car le d&eacute;bogage des probl&egrave;mes
4457     interop&eacute;rationnels n'en sera alors que plus difficile. Notez
4458     aussi que la d&eacute;sactivation de l'en-t&ecirc;te Server:
4459     n'am&eacute;liore en rien la s&eacute;curit&eacute; de votre
4460     serveur ; le concept de "s&eacute;curit&eacute; par
4461     l'obscurit&eacute;" est un mythe et conduit &agrave;
4462     une mauvaise perception de ce qu'est la s&eacute;curit&eacute;.</note>
4463
4464
4465 </usage>
4466 <seealso><directive module="core">ServerSignature</directive></seealso>
4467 </directivesynopsis>
4468
4469 <directivesynopsis>
4470 <name>SetHandler</name>
4471 <description>Force le traitement des fichiers sp&eacute;cifi&eacute;s par un
4472 gestionnaire particulier</description>
4473 <syntax>SetHandler <var>nom gestionnaire</var>|None</syntax>
4474 <contextlist><context>server config</context><context>virtual
4475 host</context>
4476 <context>directory</context><context>.htaccess</context>
4477 </contextlist>
4478 <override>FileInfo</override>
4479
4480 <usage>
4481     <p>Lorsqu'elle se situe &agrave; l'int&eacute;rieur d'un fichier
4482     <code>.htaccess</code>, ou d'une section <directive type="section"
4483     module="core">Directory</directive> ou <directive type="section"
4484     module="core">Location</directive>, cette directive force le
4485     traitement de tous les fichiers sp&eacute;cifi&eacute;s par le <a
4486     href="../handler.html">gestionnaire</a> d&eacute;fini par l'argument
4487     <var>nom gestionnaire</var>. Par exemple, dans le cas d'un
4488     r&eacute;pertoire dont vous voulez interpr&eacute;ter le contenu comme des
4489     fichiers de r&egrave;gles d'images cliquables, sans tenir compte des
4490     extensions, vous pouvez ajouter la ligne suivante dans un fichier
4491     <code>.htaccess</code> de ce r&eacute;pertoire :</p>
4492
4493     <highlight language="config">SetHandler imap-file</highlight>
4494
4495     <p>Autre exemple : si vous voulez que le serveur affiche un
4496     compte-rendu d'&eacute;tat chaque fois qu'une URL du type <code>http://nom
4497     serveur/status</code> est appel&eacute;e, vous pouvez ajouter ceci dans
4498     <code>httpd.conf</code> :</p>
4499
4500     <highlight language="config">
4501 &lt;Location "/status"&gt;
4502   SetHandler server-status
4503 &lt;/Location&gt;
4504     </highlight>
4505
4506     <p>Vous pouvez aussi utiliser cette directive pour associer un
4507     gestionnaire &agrave; des fichiers poss&egrave;dant une extension de nom de
4508     fichier particuli&egrave;re. Par exemple :</p>
4509
4510     <highlight language="config">
4511 &lt;FilesMatch \.php$&gt;
4512     SetHandler application/x-httpd-php
4513 &lt;/FilesMatch&gt;
4514     </highlight>
4515
4516     <p>Vous pouvez &eacute;craser la d&eacute;finition ant&eacute;rieure d'une directive
4517     <directive>SetHandler</directive> en utilisant la valeur
4518     <code>None</code>.</p>
4519
4520     <note><title>Note</title>
4521     <p>Comme <directive>SetHandler</directive> l'emporte sur la
4522     d&eacute;finition des gestionnaires par d&eacute;faut, le comportement habituel
4523     consistant &agrave; traiter les URLs se terminant par un slash (/) comme
4524     des r&eacute;pertoires ou des fichiers index est d&eacute;sactiv&eacute;.</p></note>
4525 </usage>
4526
4527 <seealso><directive module="mod_mime">AddHandler</directive></seealso>
4528
4529 </directivesynopsis>
4530
4531 <directivesynopsis>
4532 <name>SetInputFilter</name>
4533 <description>D&eacute;finit les filtres par lesquels vont passer les requ&ecirc;tes
4534 client et les donn&eacute;es POST</description>
4535 <syntax>SetInputFilter <var>filtre</var>[;<var>filtre</var>...]</syntax>
4536 <contextlist><context>server config</context><context>virtual
4537 host</context>
4538 <context>directory</context><context>.htaccess</context>
4539 </contextlist>
4540 <override>FileInfo</override>
4541
4542 <usage>
4543     <p>La directive <directive>SetInputFilter</directive> permet de
4544     d&eacute;finir le ou les filtres par lesquels vont passer les requ&ecirc;tes
4545     client et les donn&eacute;es POST au moment o&ugrave; le serveur les re&ccedil;oit. Cette
4546     d&eacute;finition vient en ajout &agrave; tout autre filtre d&eacute;fini en
4547     quelqu'endroit que ce soit, y compris via la directive <directive
4548     module="mod_mime">AddInputFilter</directive>.</p>
4549
4550     <p>Si la directive comporte plusieurs filtres, ils doivent &ecirc;tre
4551     s&eacute;par&eacute;s par des points-virgules, et sp&eacute;cifi&eacute;s selon l'ordre dans
4552     lequel vous souhaitez les voir agir sur les contenus.</p>
4553 </usage>
4554 <seealso>documentation des <a
4555 href="../filter.html">Filtres</a></seealso>
4556 </directivesynopsis>
4557
4558 <directivesynopsis>
4559 <name>SetOutputFilter</name>
4560 <description>D&eacute;finit les filtres par lesquels vont passer les r&eacute;ponses
4561 du serveur</description>
4562 <syntax>SetOutputFilter <var>filtre</var>[;<var>filtre</var>...]</syntax>
4563 <contextlist><context>server config</context><context>virtual
4564 host</context>
4565 <context>directory</context><context>.htaccess</context>
4566 </contextlist>
4567 <override>FileInfo</override>
4568
4569 <usage>
4570     <p>La directive <directive>SetOutputFilter</directive> permet de
4571     d&eacute;finir les filtres par lesquels vont passer les r&eacute;ponses du serveur
4572     avant d'&ecirc;tre envoy&eacute;es au client. Cette d&eacute;finition vient en ajout &agrave;
4573     tout autre filtre d&eacute;fini en quelqu'endroit que ce soit, y compris
4574     via la directive <directive
4575     module="mod_mime">AddOutputFilter</directive>.</p>
4576
4577     <p>Par exemple, la configuration suivante va traiter tous les
4578     fichiers du r&eacute;pertoire <code>/www/data/</code> comme des inclusions
4579     c&ocirc;t&eacute; serveur (SSI) :</p>
4580
4581     <highlight language="config">
4582 &lt;Directory "/www/data/"&gt;
4583   SetOutputFilter INCLUDES
4584 &lt;/Directory&gt;
4585     </highlight>
4586
4587     <p>Si la directive comporte plusieurs filtres, ils doivent &ecirc;tre
4588     s&eacute;par&eacute;s par des points-virgules, et sp&eacute;cifi&eacute;s selon l'ordre dans
4589     lequel vous souhaitez les voir agir sur les contenus.</p>
4590 </usage>
4591 <seealso><a href="../filter.html">Filters</a> documentation</seealso>
4592 </directivesynopsis>
4593
4594 <directivesynopsis>
4595 <name>TimeOut</name>
4596 <description>Temps pendant lequel le serveur va attendre certains
4597 &eacute;v&egrave;nements avant de consid&eacute;rer qu'une requ&ecirc;te a &eacute;chou&eacute;</description>
4598 <syntax>TimeOut <var>secondes</var></syntax>
4599 <default>TimeOut 60</default>
4600 <contextlist><context>server config</context><context>virtual
4601 host</context></contextlist>
4602
4603 <usage>
4604     <p>La directive <directive>TimeOut</directive> permet de d&eacute;finir le
4605     temps maximum pendant lequel Apache httpd va attendre des entr&eacute;es/sorties
4606     selon les circonstances :</p>
4607
4608     <ol>
4609       <li>Lors de la lecture de donn&eacute;es en provenance du client, le
4610       temps maximum jusqu'&agrave; l'arriv&eacute;e d'un paquet TCP si le tampon est
4611       vide.</li>
4612
4613       <li>Lors de l'&eacute;criture de donn&eacute;es destin&eacute;es au client, le temps
4614       maximum jusqu'&agrave; l'arriv&eacute;e de l'accus&eacute;-r&eacute;ception d'un paquet si le
4615       tampon d'envoi est plein.</li>
4616
4617       <li>Avec <module>mod_cgi</module> et <module>mod_cgid</module>, le temps d'attente maximum des
4618       sorties d'un script CGI.</li>
4619
4620       <li>Avec <module>mod_ext_filter</module>, le temps d'attente
4621       maximum des sorties d'un processus de filtrage.</li>
4622
4623       <li>Avec <module>mod_proxy</module>, la valeur du d&eacute;lai par d&eacute;faut
4624       si <directive module="mod_proxy">ProxyTimeout</directive> n'est
4625       pas d&eacute;fini.</li>
4626     </ol>
4627
4628 </usage>
4629 </directivesynopsis>
4630
4631 <directivesynopsis>
4632 <name>TraceEnable</name>
4633 <description>D&eacute;termine le comportement des requ&ecirc;tes
4634 <code>TRACE</code></description>
4635 <syntax>TraceEnable <var>[on|off|extended]</var></syntax>
4636 <default>TraceEnable on</default>
4637 <contextlist><context>server config</context><context>virtual host</context></contextlist>
4638
4639 <usage>
4640     <p>Cette directive l'emporte sur le comportement de
4641     <code>TRACE</code> pour le noyau du serveur et
4642     <module>mod_proxy</module>. La d&eacute;finition par d&eacute;faut
4643     <code>TraceEnable on</code> permet des requ&ecirc;tes <code>TRACE</code>
4644     selon la RFC 2616, qui interdit d'ajouter tout corps &agrave; la requ&ecirc;te.
4645     La d&eacute;finition <code>TraceEnable off</code> indique au noyau du
4646     serveur et &agrave; <module>mod_proxy</module> de retourner un code
4647     d'erreur <code>405</code> (M&eacute;thode non autoris&eacute;e) au client.</p>
4648
4649     <p>En fait, et &agrave; des fins de test et de diagnostic seulement, on
4650     peut autoriser l'ajout d'un corps de requ&ecirc;te &agrave; l'aide de la
4651     d&eacute;finition non standard <code>TraceEnable extended</code>. Le noyau
4652     du serveur (dans le cas d'un serveur d'origine) va limiter la taille
4653     du corps de requ&ecirc;te &agrave; 64k (plus 8k pour les en-t&ecirc;tes de
4654     fractionnement si <code>Transfer-Encoding: chunked</code> est
4655     utilis&eacute;). Le noyau du serveur va reproduire l'ensemble des en-t&ecirc;tes,
4656     y compris les en-t&ecirc;tes de fractionnement avec le corps de la
4657     r&eacute;ponse. Dans le cas d'un serveur mandataire, la taille du corps de
4658     requ&ecirc;te n'est pas limit&eacute;e &agrave; 64k.</p>
4659
4660     <note><title>Note</title>
4661     <p>Bien que certains pr&eacute;tendent le contraire, <code>TRACE</code> ne
4662     constitue pas une vuln&eacute;rabilit&eacute; en mati&egrave;re de s&eacute;curit&eacute;, et il n'y a
4663     aucune raison suffisante pour le d&eacute;sactiver, ce qui rendrait
4664     votre serveur non conforme.</p>
4665     </note>
4666 </usage>
4667 </directivesynopsis>
4668
4669 <directivesynopsis>
4670 <name>UnDefine</name>
4671 <description>Invalide la d&eacute;finition d'une variable</description>
4672 <syntax>UnDefine <var>nom-variable</var></syntax>
4673 <contextlist><context>server config</context></contextlist>
4674
4675 <usage>
4676     <p>Annule l'effet d'une directive <directive
4677     module="core">Define</directive> ou d'un argument <code>-D</code> de
4678     <program>httpd</program> en invalidant l'existence de la variable
4679     correspondante.</p>
4680     <p>On peut utiliser cette directive pour inverser l'effet d'une
4681     section <directive module="core" type="section">IfDefine</directive>
4682     sans avoir &agrave; modifier les arguments <code>-D</code> dans les scripts
4683     de d&eacute;marrage.</p>
4684 </usage>
4685 </directivesynopsis>
4686
4687 <directivesynopsis>
4688 <name>UseCanonicalName</name>
4689 <description>D&eacute;finit la mani&egrave;re dont le serveur d&eacute;termine son propre nom
4690 et son port</description>
4691 <syntax>UseCanonicalName On|Off|DNS</syntax>
4692 <default>UseCanonicalName Off</default>
4693 <contextlist><context>server config</context><context>virtual
4694 host</context>
4695 <context>directory</context></contextlist>
4696
4697 <usage>
4698     <p>Dans de nombreuses situations, Apache httpd doit construire une URL
4699     <em>auto-identifiante</em> -- c'est &agrave; dire une URL qui fait
4700     r&eacute;f&eacute;rence au serveur lui-m&ecirc;me. Avec <code>UseCanonicalName
4701     On</code>, Apache httpd va utiliser le nom d'h&ocirc;te et le port sp&eacute;cifi&eacute;s par
4702     la directive <directive module="core">ServerName</directive> pour
4703     construire le nom canonique du serveur. Ce nom est utilis&eacute; dans
4704     toutes les URLs auto-identifiantes, et affect&eacute; aux variables
4705     <code>SERVER_NAME</code> et <code>SERVER_PORT</code> dans les
4706     programmes CGI.</p>
4707
4708     <p>Avec <code>UseCanonicalName Off</code>, Apache httpd va construire ses
4709     URLs auto-identifiantes &agrave; l'aide du nom d'h&ocirc;te et du port fournis
4710     par le client, si ce dernier en a fourni un (dans la n&eacute;gative,
4711     Apache utilisera le nom canonique, de la m&ecirc;me mani&egrave;re que
4712     ci-dessus). Ces valeurs sont les m&ecirc;mes que celles qui sont utilis&eacute;es
4713     pour impl&eacute;menter les <a
4714     href="../vhosts/name-based.html">serveurs virtuels &agrave; base de
4715     nom</a>, et sont disponibles avec les m&ecirc;mes clients. De m&ecirc;me, les
4716     variables CGI <code>SERVER_NAME</code> et <code>SERVER_PORT</code>
4717     seront affect&eacute;es des valeurs fournies par le client.</p>
4718
4719     <p>Cette directive peut s'av&eacute;rer utile, par exemple, sur un serveur
4720     intranet auquel les utilisateurs se connectent en utilisant des noms
4721     courts tels que <code>www</code>. Si les utilisateurs tapent un nom
4722     court suivi d'une URL qui fait r&eacute;f&eacute;rence &agrave; un r&eacute;pertoire, comme
4723     <code>http://www/splat</code>, <em>sans le slash terminal</em>, vous
4724     remarquerez qu'Apache httpd va les rediriger vers
4725     <code>http://www.example.com/splat/</code>. Si vous avez activ&eacute;
4726     l'authentification, ceci va obliger l'utilisateur &agrave; s'authentifier
4727     deux fois (une premi&egrave;re fois pour <code>www</code> et une seconde
4728     fois pour <code>www.example.com</code> -- voir <a
4729     href="http://wiki.apache.org/httpd/FAQ#Why_does_Apache_ask_for_my_password_twice_before_serving_a_file.3F">la
4730     foire aux questions sur ce sujet pour plus d'informations</a>).
4731     Par contre, si <directive>UseCanonicalName</directive> est d&eacute;finie &agrave;
4732     <code>Off</code>, Apache httpd redirigera l'utilisateur vers
4733     <code>http://www/splat/</code>.</p>
4734
4735     <p>Pour l'h&eacute;bergement virtuel en masse &agrave; base d'adresse IP, on
4736     utilise une troisi&egrave;me option, <code>UseCanonicalName
4737     DNS</code>, pour supporter les clients anciens qui ne
4738     fournissent pas d'en-t&ecirc;te <code>Host:</code>. Apache httpd effectue alors
4739     une recherche DNS inverse sur l'adresse IP du serveur auquel le
4740     client s'est connect&eacute; afin de construire ses URLs
4741     auto-identifiantes.</p>
4742
4743     <note type="warning"><title>Avertissement</title>
4744     <p>Les programmes CGI risquent d'&ecirc;tre perturb&eacute;s par cette option
4745     s'ils tiennent compte de la variable <code>SERVER_NAME</code>. Le
4746     client est pratiquement libre de fournir la valeur qu'il veut comme
4747     nom d'h&ocirc;te. Mais si le programme CGI n'utilise
4748     <code>SERVER_NAME</code> que pour construire des URLs
4749     auto-identifiantes, il ne devrait pas y avoir de probl&egrave;me.</p>
4750     </note>
4751 </usage>
4752 <seealso><directive module="core">UseCanonicalPhysicalPort</directive></seealso>
4753 <seealso><directive module="core">ServerName</directive></seealso>
4754 <seealso><directive module="mpm_common">Listen</directive></seealso>
4755 </directivesynopsis>
4756
4757 <directivesynopsis>
4758 <name>UseCanonicalPhysicalPort</name>
4759 <description>D&eacute;finit la mani&egrave;re dont le serveur
4760 d&eacute;termine son propre port</description>
4761 <syntax>UseCanonicalPhysicalPort On|Off</syntax>
4762 <default>UseCanonicalPhysicalPort Off</default>
4763 <contextlist><context>server config</context><context>virtual
4764 host</context>
4765 <context>directory</context></contextlist>
4766
4767 <usage>
4768     <p>Dans de nombreuses situations, Apache httpd doit construire une URL
4769     <em>auto-identifiante</em> -- c'est &agrave; dire une URL qui fait
4770     r&eacute;f&eacute;rence au serveur lui-m&ecirc;me. Avec <code>UseCanonicalPhysicalPort
4771     On</code>, Apache httpd va fournir le num&eacute;ro de port physique r&eacute;el utilis&eacute;
4772     par la requ&ecirc;te en tant que port potentiel, pour construire le port
4773     canonique afin que le serveur puisse alimenter la directive
4774     <directive module="core">UseCanonicalName</directive>. Avec
4775     <code>UseCanonicalPhysicalPort Off</code>, Apache httpd n'utilisera pas le
4776     num&eacute;ro de port physique r&eacute;el, mais au contraire se r&eacute;f&eacute;rera aux
4777     informations de configuration pour construire un num&eacute;ro de port
4778     valide.</p>
4779
4780     <note><title>Note</title>
4781     <p>L'ordre dans lequel s'effectue la recherche quand on utilise le
4782     port physique est le suivant :</p>
4783      <dl>
4784      <dt><code>UseCanonicalName On</code></dt>
4785      <dd>
4786      <ol>
4787       <li>Port indiqu&eacute; dans <directive module="core">Servername</directive></li>
4788       <li>Port physique</li>
4789       <li>Port par d&eacute;faut</li>
4790      </ol>
4791      </dd>
4792      <dt><code>UseCanonicalName Off | DNS</code></dt>
4793      <dd>
4794      <ol>
4795       <li>Port sp&eacute;cifi&eacute; dans l'en-t&ecirc;te <code>Host:</code></li>
4796       <li>Port physique</li>
4797       <li>Port sp&eacute;cifi&eacute; par <directive module="core">Servername</directive></li>
4798       <li>Port par d&eacute;faut</li>
4799      </ol>
4800      </dd>
4801      </dl>
4802
4803     <p>Avec <code>UseCanonicalPhysicalPort Off</code>, on reprend
4804     l'ordre ci-dessus en supprimant "Port physique".</p>
4805     </note>
4806
4807 </usage>
4808 <seealso><directive module="core">UseCanonicalName</directive></seealso>
4809 <seealso><directive module="core">ServerName</directive></seealso>
4810 <seealso><directive module="mpm_common">Listen</directive></seealso>
4811 </directivesynopsis>
4812
4813 <directivesynopsis type="section">
4814 <name>VirtualHost</name>
4815 <description>Contient des directives qui ne s'appliquent qu'&agrave; un nom
4816 d'h&ocirc;te sp&eacute;cifique ou &agrave; une adresse IP</description>
4817 <syntax>&lt;VirtualHost
4818     <var>adresse IP</var>[:<var>port</var>] [<var>adresse
4819     IP</var>[:<var>port</var>]] ...&gt; ...
4820     &lt;/VirtualHost&gt;</syntax>
4821 <contextlist><context>server config</context></contextlist>
4822
4823 <usage>
4824     <p>Les balises <directive type="section">VirtualHost</directive> et
4825     <code>&lt;/VirtualHost&gt;</code> permettent de rassembler un groupe
4826     de directives qui ne s'appliquent qu'&agrave; un serveur virtuel
4827     particulier. Toute directive autoris&eacute;e dans un contexte de serveur
4828     virtuel peut &ecirc;tre utilis&eacute;e. Lorsque le serveur re&ccedil;oit un requ&ecirc;te
4829     pour un document h&eacute;berg&eacute; par un serveur virtuel particulier, il
4830     applique les directives de configuration rassembl&eacute;es dans la section
4831     <directive type="section">VirtualHost</directive>. <var>adresse
4832     IP</var> peut &ecirc;tre une des entit&eacute;s suivantes, &eacute;ventuellement suivies
4833     d'un caract&egrave;re ':' et d'un num&eacute;ro de port (ou *) :</p>
4834
4835     <ul>
4836       <li>L'adresse IP du serveur virtuel ;</li>
4837
4838       <li>Un nom de domaine enti&egrave;rement qualifi&eacute; correspondant &agrave;
4839       l'adresse IP du serveur virtuel (non recommand&eacute;) ;</li>
4840
4841       <li>Le caract&egrave;re <code>*</code>, qui agit comme un
4842       caract&egrave;re g&eacute;n&eacute;rique, et correspond &agrave; toute adresse IP.</li>
4843
4844       <li>La cha&icirc;ne <code>_default_</code>, dont la signification est
4845       identique &agrave; celle du caract&egrave;re <code>*</code></li>
4846
4847     </ul>
4848
4849     <highlight language="config">
4850 &lt;VirtualHost 10.1.2.3:80&gt;
4851   ServerAdmin webmaster@host.example.com
4852   DocumentRoot /www/docs/host.example.com
4853   ServerName host.example.com
4854   ErrorLog logs/host.example.com-error_log
4855   TransferLog logs/host.example.com-access_log
4856 &lt;/VirtualHost&gt;
4857     </highlight>
4858
4859
4860     <p>Les adresses IPv6 doivent &ecirc;tre entour&eacute;es de crochets car dans le
4861     cas contraire, un &eacute;ventuel port optionnel ne pourrait pas &ecirc;tre
4862     d&eacute;termin&eacute;. Voici un exemple de serveur virtuel avec adresse IPv6
4863     :</p>
4864
4865     <highlight language="config">
4866 &lt;VirtualHost [2001:db8::a00:20ff:fea7:ccea]:80&gt;
4867   ServerAdmin webmaster@host.example.com
4868   DocumentRoot /www/docs/host.example.com
4869   ServerName host.example.com
4870   ErrorLog logs/host.example.com-error_log
4871   TransferLog logs/host.example.com-access_log
4872 &lt;/VirtualHost&gt;
4873     </highlight>
4874
4875     <p>Chaque serveur virtuel doit correspondre &agrave; une adresse IP, un
4876     port ou un nom d'h&ocirc;te sp&eacute;cifique ; dans le premier cas, le serveur
4877     doit &ecirc;tre configur&eacute; pour recevoir les paquets IP de plusieurs
4878     adresses (si le serveur n'a qu'une interface r&eacute;seau, on peut
4879     utiliser &agrave; cet effet la commande <code>ifconfig alias</code> -- si
4880     votre syst&egrave;me d'exploitation le permet).</p>
4881
4882     <note><title>Note</title>
4883     <p>L'utilisation de la directive <directive
4884     type="section">VirtualHost</directive> n'affecte en rien les
4885     adresses IP sur lesquelles Apache httpd est en &eacute;coute. Vous devez vous
4886     assurer que les adresses des serveurs virtuels sont bien incluses
4887     dans la liste des adresses pr&eacute;cis&eacute;es par la directive <directive
4888     module="mpm_common">Listen</directive>.</p>
4889     </note>
4890     
4891     <p>Tout bloc <directive
4892     type="section">VirtualHost</directive> doit comporter une directive
4893     <directive module="core">ServerName</directive>. Dans le cas
4894     contraire, le serveur virtuel h&eacute;ritera de la valeur de la directive
4895     <directive module="core">ServerName</directive> issue de la
4896     configuration du serveur principal.</p>
4897
4898     <p>A l'arriv&eacute;e d'une requ&ecirc;te, le serveur tente de la
4899     faire prendre en compte par la section <directive
4900     type="section">VirtualHost</directive> qui correspond le mieux en ne
4901     se basant que sur la paire adresse IP/port. Les cha&icirc;nes sans
4902     caract&egrave;res g&eacute;n&eacute;riques l'emportent sur celles qui en contiennent. Si
4903     aucune correspondance du point de vue de l'adresse IP/port n'est
4904     trouv&eacute;e, c'est la configuration du serveur "principal" qui sera
4905     utilis&eacute;e.</p>
4906     
4907     <p>Si plusieurs serveurs virtuels correspondent du point de vue de
4908     l'adresse IP/port, le serveur s&eacute;lectionne celui qui correspond le
4909     mieux du point de vue du nom d'h&ocirc;te de la requ&ecirc;te. Si aucune
4910     correspondance du point de vue du nom d'h&ocirc;te n'est trouv&eacute;e, c'est le
4911     premier serveur virtuel dont l'adresse IP/port correspond qui sera
4912     utilis&eacute;. Par voie de cons&eacute;quence, le premier serveur virtuel
4913     comportant une certaine paire adresse IP/port est le serveur virtuel
4914     par d&eacute;faut pour cette paire adresse IP/port.</p>
4915
4916     <note type="warning"><title>S&eacute;curit&eacute;</title>
4917     <p>Voir le document sur les <a
4918     href="../misc/security_tips.html">conseils &agrave; propos de s&eacute;curit&eacute;</a>
4919     pour une description d&eacute;taill&eacute;e des raisons pour lesquelles la
4920     s&eacute;curit&eacute; de votre serveur pourrait &ecirc;tre compromise, si le r&eacute;pertoire
4921     contenant les fichiers journaux est inscriptible par tout autre
4922     utilisateur que celui qui d&eacute;marre le serveur.</p>
4923     </note>
4924 </usage>
4925 <seealso><a href="../vhosts/">Documentation des serveurs virtuels
4926 du serveur HTTP Apache</a></seealso>
4927 <seealso><a href="../dns-caveats.html">Probl&egrave;mes concernant le DNS et
4928 le serveur HTTP Apache</a></seealso>
4929 <seealso><a href="../bind.html">D&eacute;finition des adresses et ports
4930 qu'utilise le serveur HTTP Apache</a></seealso>
4931 <seealso><a href="../sections.html">Comment fonctionnent les sections
4932 &lt;Directory&gt;, &lt;Location&gt; et &lt;Files&gt;</a> pour une
4933 explication de la mani&egrave;re dont ces diff&eacute;rentes sections se combinent
4934 entre elles &agrave; la r&eacute;ception d'une requ&ecirc;te</seealso>
4935 </directivesynopsis>
4936
4937 <directivesynopsis>
4938 <name>RegisterHttpMethod</name>
4939 <description>Enregistrement de m&eacute;thodes HTTP non standards</description>
4940 <syntax>RegisterHttpMethod <var>m&eacute;thode</var> [<var>m&eacute;thode</var> [...]]</syntax>
4941 <contextlist><context>server config</context></contextlist>
4942
4943 <usage>
4944 <p>Normalement, les m&eacute;thodes HTTP non conformes aux RFCs correspondantes
4945 sont rejet&eacute;es au cours du traitement de la requ&ecirc;te par HTTPD. Pour
4946 &eacute;viter ceci, les modules peuvent enregistrer les m&eacute;thodes HTTP non
4947 standards qu'ils supportent. La directive
4948 <directive>RegisterHttpMethod</directive> permet d'enregistrer de telles
4949 m&eacute;thodes manuellement. Ceci peut s'av&eacute;rer utile si de telle m&eacute;thodes
4950 doivent &ecirc;tre utilis&eacute;es dans un traitement externe, comme un script CGI.</p>
4951 </usage>
4952 </directivesynopsis>
4953
4954 <directivesynopsis>
4955 <name>Warning</name>
4956 <description>Message d'avertissement personnalisable en provenance de
4957 l'interpr&eacute;tation du fichier de configuration</description>
4958 <syntax>Warning <var>message</var></syntax>
4959 <contextlist><context>server config</context><context>virtual host</context>
4960 <context>directory</context><context>.htaccess</context>
4961 </contextlist>
4962 <compatibility>Disponible &agrave; partir de la version 2.5 du serveur HTTP
4963 Apache.</compatibility>
4964
4965 <usage>
4966     <p>Cette directive permet de signaler la d&eacute;tection d'un probl&egrave;me de
4967     configuration en g&eacute;n&eacute;rant un message d'avertissement
4968     personnalisable. L'interpr&eacute;tation du fichier de configuration n'est
4969     pas interrompue. Un exemple typique d'utilisation est la
4970     v&eacute;rification de la d&eacute;finition de certaines options d&eacute;finies par
4971     l'utilisateur, et l'envoi d'un avertissement &eacute;ventuel.</p>
4972
4973     <highlight language="config">
4974 # Exemple
4975 # signale que ReverseProxy n'est pas d&eacute;fini
4976 &lt;IfDefine !ReverseProxy&gt;
4977   Warning "le mandataire inverse n'a pas &eacute;t&eacute; sp&eacute;cifi&eacute;, veuillez corriger
4978   si n&eacute;cessaire"
4979 &lt;/IfDefine&gt;
4980
4981 &lt;IfDefine ReverseProxy&gt;
4982   # d&eacute;finition de la configuration personnalis&eacute;e du mandataire
4983 &lt;/IfDefine&gt;
4984     </highlight>
4985
4986 </usage>
4987 </directivesynopsis>
4988
4989 <directivesynopsis>
4990 <name>MergeTrailers</name>
4991 <description>D&eacute;termine si les donn&eacute;es suppl&eacute;mentaires (trailers) sont
4992 fusionn&eacute;es avec les en-t&ecirc;tes</description>
4993 <syntax>MergeTrailers [on|off]</syntax>
4994 <default>MergeTrailers off</default>
4995 <contextlist><context>server config</context><context>virtual host</context></contextlist>
4996 <compatibility>Disponible &agrave; partir de la version 2.4.10 du serveur HTTP
4997 Apache</compatibility>
4998
4999 <usage>
5000     <p>Cette directive permet de contr&ocirc;ler la fusion des donn&eacute;es HTTP
5001     suppl&eacute;mentaires (trailers) avec la repr&eacute;sentation interne des
5002     en-t&ecirc;tes. Cette fusion intervient lorsque le corps de la requ&ecirc;te a
5003     &eacute;t&eacute; enti&egrave;rement re&ccedil;u, bien longtemps apr&egrave;s que la majeure partie du
5004     traitement des en-t&ecirc;tes ait une chance de pouvoir examiner ou
5005     modifier les en-t&ecirc;tes de la requ&ecirc;te.</p>
5006     <p>Cette option a &eacute;t&eacute; introduite dans un souci de compatibilit&eacute; avec
5007     les versions ant&eacute;rieures &agrave; 2.4.10, o&ugrave; les donn&eacute;es suppl&eacute;mentaires
5008     &eacute;taient syst&eacute;matiquement fusionn&eacute;es avec les en-t&ecirc;tes de la requ&ecirc;te.</p>
5009 </usage>
5010 </directivesynopsis>
5011
5012
5013 </modulesynopsis>