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