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