2 <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
3 <?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
4 <!-- English Revision: 1242913:1297959 (outdated) -->
5 <!-- French translation : Lucien GENTIS -->
6 <!-- Reviewed by : Vincent Deffontaines -->
9 Licensed to the Apache Software Foundation (ASF) under one or more
10 contributor license agreements. See the NOTICE file distributed with
11 this work for additional information regarding copyright ownership.
12 The ASF licenses this file to You under the Apache License, Version 2.0
13 (the "License"); you may not use this file except in compliance with
14 the License. You may obtain a copy of the License at
16 http://www.apache.org/licenses/LICENSE-2.0
18 Unless required by applicable law or agreed to in writing, software
19 distributed under the License is distributed on an "AS IS" BASIS,
20 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21 See the License for the specific language governing permissions and
22 limitations under the License.
25 <modulesynopsis metafile="core.xml.meta">
28 <description>Fonctionnalités de base du serveur HTTP Apache toujours
29 disponibles</description>
33 <name>AcceptFilter</name>
34 <description>Permet d'optimiser la configuration d'une socket pour
35 l'écoute d'un protocole</description>
36 <syntax>AcceptFilter <var>protocole</var> <var>filtre
37 d'acceptation</var></syntax>
38 <contextlist><context>server config</context></contextlist>
39 <compatibility>Disponible depuis la version 2.3.3 sous Windows et 2.1.5
40 sur les autres plates-formes.</compatibility>
43 <p>Cette directive permet d'effectuer une optimisation de la socket
44 d'écoute d'un type de protocole en fonction du système
45 d'exploitation. Le but premier est de faire en sorte que le noyau
46 n'envoie pas de socket au processus du serveur jusqu'à ce que
47 des données soient reçues, ou qu'une requête HTTP complète soit mise
48 en tampon. Seuls les <a
49 href="http://www.freebsd.org/cgi/man.cgi?query=accept_filter&
50 sektion=9">Filtres d'acceptation de FreeBSD</a>, le filtre plus
51 primitif <code>TCP_DEFER_ACCEPT</code> sous Linux, et la version
52 optimisée d'AcceptEx() de Windows sont actuellement supportés.</p>
54 <p>L'utilisation de l'argument <code>none</code> va désactiver tout
55 filtre d'acceptation pour ce protocole. Ceci s'avère utile pour les
56 protocoles qui nécessitent l'envoi de données par le serveur en
57 premier, comme <code>ftp:</code> ou <code>nntp</code>:</p>
58 <example>AcceptFilter nntp none</example>
60 <p>Les noms de protocoles par défaut sont <code>https</code> pour le
61 port 443 et <code>http</code> pour tous les autres ports. Pour
62 spécifier un autre protocole à utiliser avec un port en écoute,
63 ajoutez l'argument <var>protocol</var> à la directive <directive
64 module="mpm_common">Listen</directive>.</p>
66 <p>Sous FreeBSD, les valeurs par défaut sont :</p>
68 AcceptFilter http httpready <br/>
69 AcceptFilter https dataready
72 <p>Le filtre d'acceptation <code>httpready</code> met en tampon des
73 requêtes HTTP entières au niveau du noyau. Quand une requête
74 entière a été reçue, le noyau l'envoie au serveur. Voir la page de
76 href="http://www.freebsd.org/cgi/man.cgi?query=accf_http&
77 sektion=9">accf_http(9)</a> pour plus de détails. Comme les requêtes
78 HTTPS sont chiffrées, celles-ci n'autorisent que le filtre <a
79 href="http://www.freebsd.org/cgi/man.cgi?query=accf_data&
80 sektion=9">accf_data(9)</a>.</p>
82 <p>Sous Linux, les valeurs par défaut sont :</p>
84 AcceptFilter http data <br/>
85 AcceptFilter https data
88 <p>Le filtre <code>TCP_DEFER_ACCEPT</code> de Linux ne supporte pas
89 la mise en tampon des requêtes http. Toute valeur autre que
90 <code>none</code> active le filtre <code>TCP_DEFER_ACCEPT</code>
91 pour ce protocole. Pour plus de détails, voir la page de
93 href="http://homepages.cwi.nl/~aeb/linux/man2html/man7/
94 tcp.7.html">tcp(7)</a>.</p>
96 <p>Sous Windows, les valeurs par défaut sont :</p>
98 AcceptFilter http data <br/>
99 AcceptFilter https data
102 <p>Le module MPM pour Windows mpm_winnt utilise la directive
103 AcceptFilter comme commutateur de l'API AcceptEx(), et ne supporte
104 pas la mise en tampon du protocole http. Deux valeurs utilisent
105 l'API Windows AcceptEx() et vont recycler les sockets réseau entre
106 les connexions. <code>data</code> attend jusqu'à ce que les données
107 aient été transmises comme décrit plus haut, et le tampon de données
108 initiales ainsi que les adresses réseau finales sont tous extraits
109 grâce à une seule invocation d'AcceptEx(). <code>connect</code>
110 utilise l'API AcceptEx(), extrait aussi les adresses réseau finales,
111 mais à l'instar de <code>none</code>, la valeur <code>connect</code>
112 n'attend pas la transmission des données initiales.</p>
114 <p>Sous Windows, <code>none</code> utilise accept() au lieu
115 d'AcceptEx(), et ne recycle pas les sockets entre les connexions.
116 Ceci s'avère utile pour les interfaces réseau dont le pilote est
117 défectueux, ainsi que pour certains fournisseurs de réseau comme les
118 pilotes vpn, ou les filtres anti-spam, anti-virus ou
122 <seealso><directive>Protocol</directive></seealso>
126 <name>AcceptPathInfo</name>
127 <description>Les ressources acceptent des informations sous forme d'un
128 nom de chemin en fin de requête.</description>
129 <syntax>AcceptPathInfo On|Off|Default</syntax>
130 <default>AcceptPathInfo Default</default>
131 <contextlist><context>server config</context>
132 <context>virtual host</context><context>directory</context>
133 <context>.htaccess</context></contextlist>
134 <override>FileInfo</override>
135 <compatibility>Disponible dans Apache httpd version 2.0.30 et
136 supérieures</compatibility>
140 <p>Cette directive permet de définir si les requêtes contenant des
141 informations sous forme d'un nom de chemin suivant le nom d'un
142 fichier réel (ou un fichier qui n'existe pas dans un répertoire qui
143 existe) doivent être acceptées ou rejetées. Les scripts peuvent
144 accéder à cette information via la variable d'environnement
145 <code>PATH_INFO</code>.</p>
147 <p>Supposons par exemple que <code>/test/</code> pointe vers un
148 répertoire qui ne contient que le fichier <code>here.html</code>.
149 Les requêtes pour <code>/test/here.html/more</code> et
150 <code>/test/nothere.html/more</code> vont affecter la valeur
151 <code>/more</code> à la variable d'environnement
152 <code>PATH_INFO</code>.</p>
154 <p>L'argument de la directive <directive>AcceptPathInfo</directive>
155 possède trois valeurs possibles :</p>
157 <dt><code>Off</code></dt><dd>Une requête ne sera acceptée que si
158 elle correspond à un chemin qui existe. Par conséquent, une requête
159 contenant une information de chemin après le nom de fichier réel
160 comme <code>/test/here.html/more</code> dans l'exemple ci-dessus
161 renverra une erreur "404 NOT FOUND".</dd>
163 <dt><code>On</code></dt><dd>Une requête sera acceptée si la partie
164 principale du chemin correspond à un fichier existant. Dans
165 l'exemple ci-dessus <code>/test/here.html/more</code>, la requête
166 sera acceptée si <code>/test/here.html</code> correspond à un nom de
169 <dt><code>Default</code></dt><dd>Le traitement des requêtes est
170 déterminé par le <a
171 href="../handler.html">gestionnaire</a> responsable de la requête.
172 Le gestionnaire de base pour les fichiers normaux rejette par défaut
173 les requêtes avec <code>PATH_INFO</code>. Les gestionnaires qui
174 servent des scripts, comme<a
175 href="mod_cgi.html">cgi-script</a> et <a
176 href="mod_isapi.html">isapi-handler</a>, acceptent en général par
177 défaut les requêtes avec <code>PATH_INFO</code>.</dd>
180 <p>Le but premier de la directive <code>AcceptPathInfo</code> est de
181 vous permettre de remplacer le choix du gestionnaire d'accepter ou
182 de rejeter <code>PATH_INFO</code>. Ce remplacement est nécessaire
183 par exemple, lorsque vous utilisez un <a
184 href="../filter.html">filtre</a>, comme <a
185 href="mod_include.html">INCLUDES</a>, pour générer un contenu basé
186 sur <code>PATH_INFO</code>. Le gestionnaire de base va en général
187 rejeter la requête, et vous pouvez utiliser la configuration
188 suivante pour utiliser un tel script :</p>
191 <Files "mes-chemins.shtml"><br />
193 Options +Includes<br />
194 SetOutputFilter INCLUDES<br />
195 AcceptPathInfo On<br />
204 <name>AccessFileName</name>
205 <description>Nom du fichier de configuration distribué</description>
206 <syntax>AccessFileName <var>nom-du-fichier</var>
207 [<var>nom-du-fichier</var>] ...</syntax>
208 <default>AccessFileName .htaccess</default>
209 <contextlist><context>server config</context><context>virtual
214 <p>Au cours du traitement d'une requête, le serveur recherche le
215 premier fichier de configuration existant à partir de la liste
216 de noms dans chaque répertoire composant le chemin du document, à
217 partir du moment où les fichiers de configuration distribués sont <a
218 href="#allowoverride">activés pour ce répertoire</a>. Par exemple
225 <p>avant de renvoyer le document
226 <code>/usr/local/web/index.html</code>, le serveur va rechercher les
227 fichiers <code>/.acl</code>, <code>/usr/.acl</code>,
228 <code>/usr/local/.acl</code> et <code>/usr/local/web/.acl</code>
229 pour y lire d'éventuelles directives, à moins quelles n'aient été
230 désactivées avec</p>
233 <Directory /><br />
235 AllowOverride None<br />
240 <seealso><directive module="core">AllowOverride</directive></seealso>
241 <seealso><a href="../configuring.html">Fichiers de configuration</a></seealso>
242 <seealso><a href="../howto/htaccess.html">Fichiers .htaccess</a></seealso>
246 <name>AddDefaultCharset</name>
247 <description>Paramètre jeu de caractères par défaut à ajouter quand le
248 type de contenu d'une réponse est <code>text/plain</code> ou
249 <code>text/html</code></description>
250 <syntax>AddDefaultCharset On|Off|<var>jeu de caractères</var></syntax>
251 <default>AddDefaultCharset Off</default>
252 <contextlist><context>server config</context>
253 <context>virtual host</context><context>directory</context>
254 <context>.htaccess</context></contextlist>
255 <override>FileInfo</override>
258 <p>Cette directive spécifie une valeur par défaut pour le paramètre
259 jeu de caractères du type de média (le nom d'un codage de
260 caractères) à ajouter à une réponse, si et seulement si le type de
261 contenu de la réponse est soit <code>text/plain</code>, soit
262 <code>text/html</code>. Ceci va remplacer
263 tout jeu de caractères spécifié dans le corps de la réponse via un
264 élément <code>META</code>, bien que cet effet dépende en fait
265 souvent de la configuration du client de l'utilisateur. La
266 définition de <code>AddDefaultCharset Off</code> désactive cette
267 fonctionnalité. <code>AddDefaultCharset On</code> ajoute un jeu de
268 caractères par défaut de <code>iso-8859-1</code>. Toute autre valeur
269 peut être définie via le paramètre <var>jeu de caractères</var>, qui
270 doit appartenir à la liste des <a
271 href="http://www.iana.org/assignments/character-sets">valeurs de
272 jeux de caractères enregistrés par l'IANA</a> à utiliser dans les
273 types de média Internet (types MIME).
277 AddDefaultCharset utf-8
280 <p>La directive <directive>AddDefaultCharset</directive> ne doit
281 être utilisée que lorsque toutes les ressources textes auxquelles
282 elle s'applique possèdent le jeu de caractère spécifié, et qu'il est
283 trop contraignant de définir leur jeu de caractères
284 individuellement. Un exemple de ce type est l'ajout du paramètre jeu
285 de caractères aux ressources comportant un contenu généré, comme les
286 scripts CGI hérités qui peuvent être vulnérables à des attaques de
287 type cross-site scripting à cause des données utilisateurs incluses
288 dans leur sortie. Notez cependant qu'une meilleur solution consiste
289 à corriger (ou supprimer) ces scripts, car la définition d'un jeu de
290 caractères par défaut ne protège pas les utilisateurs qui ont activé
291 la fonctionnalité "Détection automatique de l'encodage des
292 caractères" dans leur navigateur.</p>
294 <seealso><directive module="mod_mime">AddCharset</directive></seealso>
298 <name>AllowEncodedSlashes</name>
299 <description>Détermine si les séparateurs de chemin encodés sont
300 autorisés à transiter dans les URLs tels quels</description>
301 <syntax>AllowEncodedSlashes On|Off|NoDecode</syntax>
302 <default>AllowEncodedSlashes Off</default>
303 <contextlist><context>server config</context><context>virtual
306 <compatibility>Disponible dans Apache httpd version 2.0.46 et
307 supérieures. L'option NoDecode est disponible depuis la version
308 2.3.12.</compatibility>
311 <p>La directive <directive>AllowEncodedSlashes</directive> permet
312 l'utilisation des URLs contenant des séparateurs de chemin
313 encodés dans la partie chemin
314 (<code>%2F</code> pour <code>/</code> et même <code>%5C</code> pour
315 <code>\</code> sur les systèmes concernés).</p>
317 <p>Avec la valeur par défaut, <code>Off</code>, de telles URLs sont
318 refusées et provoquent le renvoi d'une erreur 404 (Not found).</p>
320 <p>Avec la valeur <code>On</code>, ces URLs sont acceptées, et les
321 slashes encodés sont décodés comme tout autre caractère codé.</p>
323 <p>Avec la valeur <code>NoDecode</code>, ces URLs sont acceptées,
324 mais les slashes codés ne sont pas décodés et laissés dans leur état
327 <p>Définir <directive>AllowEncodedSlashes</directive> à
328 <code>On</code> est surtout utile en association avec
329 <code>PATH_INFO</code>.</p>
331 <note><title>Note</title>
332 <p>Si le codage des slashes dans la partie chemin est nécessaire,
333 l'utilisation de l'option <code>NoDecode</code> est fortement
334 recommandée par mesure de sécurité. Permettre le décodage des
335 slashes pourrait éventuellement induire l'autorisation de chemins
339 <seealso><directive module="core">AcceptPathInfo</directive></seealso>
343 <name>AllowOverride</name>
344 <description>Types de directives autorisées dans les fichiers
345 <code>.htaccess</code></description>
346 <syntax>AllowOverride All|None|<var>type directive</var>
347 [<var>type directive</var>] ...</syntax>
348 <default>AllowOverride None à partir de la version 2.3.9, AllowOverride
349 All pour les versions antérieures</default>
350 <contextlist><context>directory</context></contextlist>
353 <p>Lorsque le serveur trouve un fichier <code>.htaccess</code> (dont
354 le nom est défini par la directive <directive
355 module="core">AccessFileName</directive>), il doit savoir lesquelles
356 des directives placées dans ce fichier sont autorisées à modifier la
357 configuration préexistante.</p>
359 <note><title>Valable seulement dans les sections
360 <Directory></title>
361 La directive <directive>AllowOverride</directive> ne peut être
362 utilisée que dans les sections <directive type="section"
363 module="core">Directory</directive> définies sans expressions
364 rationnelles, et non dans les sections <directive
365 type="section" module="core">Location</directive>, <directive
366 module="core" type="section">DirectoryMatch</directive> ou
367 <directive type="section" module="core">Files</directive>.
370 <p>Lorsque cette directive et la directive <directive
371 module="core">AllowOverrideList</directive> sont définies à <code>None</code>, les
372 fichiers <a href="#accessfilename">.htaccess</a> sont totalement
373 ignorés. Dans ce cas, le serveur n'essaiera même pas de lire les
374 fichiers <code>.htaccess</code> du système de fichiers.</p>
376 <p>Lorsque cette directive est définie à <code>All</code>, toute
377 directive valable dans le <a
378 href="directive-dict.html#Context">Contexte</a> .htaccess sera
379 autorisée dans les fichiers <code>.htaccess</code>.</p>
381 <p>L'argument <var>type directive</var> peut contenir les
382 groupements de directives suivants :</p>
389 Permet l'utilisation des directives d'autorisation (<directive
390 module="mod_authn_dbm">AuthDBMGroupFile</directive>,
391 <directive module="mod_authn_dbm">AuthDBMUserFile</directive>,
392 <directive module="mod_authz_groupfile">AuthGroupFile</directive>,
393 <directive module="mod_authn_core">AuthName</directive>,
394 <directive module="mod_authn_core">AuthType</directive>, <directive
395 module="mod_authn_file">AuthUserFile</directive>, <directive
396 module="mod_authz_core">Require</directive>, <em>etc...</em>).</dd>
401 Permet l'utilisation des directives qui contrôlent les types de
402 documents (directives <directive
403 module="core">ErrorDocument</directive>, <directive
404 module="core">ForceType</directive>, <directive
405 module="mod_negotiation">LanguagePriority</directive>,
406 <directive module="core">SetHandler</directive>, <directive
407 module="core">SetInputFilter</directive>, <directive
408 module="core">SetOutputFilter</directive>, et directives du
409 module <module>mod_mime</module> Add* et Remove*), des metadonnées
410 des documents (<directive
411 module="mod_headers">Header</directive>, <directive
412 module="mod_headers">RequestHeader</directive>, <directive
413 module="mod_setenvif">SetEnvIf</directive>, <directive
414 module="mod_setenvif">SetEnvIfNoCase</directive>, <directive
415 module="mod_setenvif">BrowserMatch</directive>, <directive
416 module="mod_usertrack">CookieExpires</directive>, <directive
417 module="mod_usertrack">CookieDomain</directive>, <directive
418 module="mod_usertrack">CookieStyle</directive>, <directive
419 module="mod_usertrack">CookieTracking</directive>, <directive
420 module="mod_usertrack">CookieName</directive>), des directives du
421 module <module>mod_rewrite</module> <directive
422 module="mod_rewrite">RewriteEngine</directive>, <directive
423 module="mod_rewrite">RewriteOptions</directive>, <directive
424 module="mod_rewrite">RewriteBase</directive>, <directive
425 module="mod_rewrite">RewriteCond</directive>, <directive
426 module="mod_rewrite">RewriteRule</directive>) et de la directive
427 <directive module="mod_actions">Action</directive> du module
428 <module>mod_actions</module>.
434 Permet l'utilisation des directives qui contrôlent l'indexation
435 des répertoires (<directive
436 module="mod_autoindex">AddDescription</directive>,
437 <directive module="mod_autoindex">AddIcon</directive>, <directive
438 module="mod_autoindex">AddIconByEncoding</directive>,
439 <directive module="mod_autoindex">AddIconByType</directive>,
440 <directive module="mod_autoindex">DefaultIcon</directive>, <directive
441 module="mod_dir">DirectoryIndex</directive>, <directive
442 module="mod_autoindex">FancyIndexing</directive>, <directive
443 module="mod_autoindex">HeaderName</directive>, <directive
444 module="mod_autoindex">IndexIgnore</directive>, <directive
445 module="mod_autoindex">IndexOptions</directive>, <directive
446 module="mod_autoindex">ReadmeName</directive>,
447 <em>etc...</em>).</dd>
452 Permet l'utilisation des directives contrôlant l'accès au serveur
454 module="mod_authz_host">Allow</directive>, <directive
455 module="mod_authz_host">Deny</directive> et <directive
456 module="mod_authz_host">Order</directive>).</dd>
458 <dt>Nonfatal=[Override|Unknown|All]</dt>
461 Permet d'utiliser l'option AllowOverride pour rendre les erreurs
462 de syntaxe non fatales dans les fichiers .htaccess : au lieu de
463 causer une Internal Server Error, les directives non autorisées ou
464 non reconnues seront ignorées et un avertissement enregistré dans
467 <li><strong>Nonfatal=Override</strong> rend les directives
468 interdite par AllowOverride non fatales.</li>
469 <li><strong>Nonfatal=Unknown</strong> rend les directives
470 inconnues non fatales. Sont concernées les erreurs de frappe
471 et les directives implémentées par un module non chargé.</li>
472 <li><strong>Nonfatal=All</strong> rend toutes les directives
473 précédentes non fatales.</li>
475 <p>Notez qu'une erreur de syntaxe dans une directive valide
476 causera toujours une internal server error.</p>
477 <note type="warning"><title>Sécurité</title>
478 Les erreurs non fatales peuvent être à l'origine de problèmes
479 de sécurité pour les utilisateurs de fichiers .htaccess. Par
480 exemple, si AllowOverride interdit AuthConfig, toute
481 configuration utilisateur destinée à restreindre l'accès à un
482 site ne sera pas prise en compte.
486 <dt>Options[=<var>Option</var>,...]</dt>
489 Permet l'utilisation des directives contrôlant les fonctionnalités
490 spécifiques d'un répertoire (<directive
491 module="core">Options</directive> et <directive
492 module="mod_include">XBitHack</directive>). "Options" doit être
493 suivi d'un signe "égal", puis d'une liste d'options séparées par des
494 virgules (pas d'espaces) ; ces options doivent être définies à
495 l'aide de la commande <directive
496 module="core">Options</directive>.
498 <note><title>Désactivation implicite des options</title>
499 <p>Bien que la liste des options disponibles dans les fichiers
500 .htaccess puisse être limitée par cette directive, tant qu'un
501 directive <directive module="core">Options</directive> est
502 autorisée, toute autre option héritée peut être désactivée en
503 utilisant la syntaxe non-relative. En d'autres termes, ce
504 mécanisme ne peut pas forcer une option spécifique à rester
505 <em>activée</em> tout en permettant à toute autre option d'être
515 AllowOverride AuthConfig Indexes
518 <p>Dans l'exemple ci-dessus, toutes les directives qui ne font
519 partie ni du groupe <code>AuthConfig</code>, ni du groupe
520 <code>Indexes</code>, provoquent une erreur "internal
523 <note><p>Pour des raisons de sécurité et de performance, ne
524 définissez pas <code>AllowOverride</code> à autre chose que
525 <code>None</code> dans votre bloc <code><Directory /></code>.
526 Recherchez plutôt (ou créez) le bloc <code><Directory></code>
527 qui se réfère au répertoire où vous allez précisément placer un
528 fichier <code>.htaccess</code>.</p>
531 <seealso><directive module="core">AccessFileName</directive></seealso>
532 <seealso><directive module="core">AllowOverrideList</directive></seealso>
533 <seealso><a href="../configuring.html">Fichiers de configuration</a></seealso>
534 <seealso><a href="../howto/htaccess.html">Fichiers .htaccess</a></seealso>
538 <name>AllowOverrideList</name>
539 <description>Directives autorisées dans les fichiers <code>.htaccess</code></description>
540 <syntax>AllowOverrideList None|<var>directive</var>
541 [<var>directive-type</var>] ...</syntax>
542 <default>AllowOverrideList None</default>
543 <contextlist><context>directory</context></contextlist>
546 <p>Lorsque le serveur trouve un fichier <code>.htaccess</code>
547 (comme spécifié par la directive <directive
548 module="core">AccessFileName</directive>), il doit savoir lesquelles
549 des directives déclarées dans ce fichier peuvent remplacer des
550 directives des fichiers de configuration du serveur.</p>
552 <note><title>Seulement disponible dans les sections <Directory></title>
553 La directive <directive>AllowOverrideList</directive> n'est
554 disponible que dans les sections <directive type="section"
555 module="core">Directory</directive> spécifiées sans expressions
559 <p>Lorsque cette directive et la directive <directive
560 module="core">AllowOverride</directive> sont définies à
561 <code>None</code>, les fichiers <a
562 href="#accessfilename">.htaccess</a> sont totalement ignorés. Dans
563 ce cas, le serveur ne cherchera même pas à lire des fichiers
564 <code>.htaccess</code> dans le système de fichiers.</p>
569 AllowOverride None<br />
570 AllowOverrideList Redirect RedirectMatch
573 <p>Dans l'exemple ci-dessus, seules les directives
574 <code>Redirect</code> et <code>RedirectMatch</code> sont autorisées.
575 Toutes les autres provoqueront une erreur interne du serveur.</p>
580 AllowOverride AuthConfig<br />
581 AllowOverrideList CookieTracking CookieName
584 <p>Dans l'exemple ci-dessus, la directive <directive
585 module="core">AllowOverride</directive> autorise les directives du
586 groupement <code>AuthConfig</code>, et
587 <directive>AllowOverrideList</directive> n'autorise que deux
588 directives du groupement <code>FileInfo</code>. Toutes les autres
589 provoqueront une erreur interne du serveur.</p>
592 <seealso><directive module="core">AccessFileName</directive></seealso>
593 <seealso><directive module="core">AllowOverride</directive></seealso>
594 <seealso><a href="../configuring.html">Fichiers de configuration</a></seealso>
595 <seealso><a href="../howto/htaccess.html">Fichiers .htaccess</a></seealso>
599 <name>CGIMapExtension</name>
600 <description>Technique permettant de localiser l'interpréteur des
601 scripts CGI</description>
602 <syntax>CGIMapExtension <var>chemin CGI</var> <var>.extension</var></syntax>
603 <contextlist><context>directory</context><context>.htaccess</context>
605 <override>FileInfo</override>
606 <compatibility>NetWare uniquement</compatibility>
609 <p>Cette directive permet de contrôler la manière dont Apache httpd trouve
610 l'interpréteur servant à exécuter les scripts CGI. Par exemple, avec
611 la définition <code>CGIMapExtension sys:\foo.nlm .foo</code>, tous
612 les fichiers scripts CGI possédant une extension <code>.foo</code>
613 seront passés à l'interpréteur FOO.</p>
618 <name>ContentDigest</name>
619 <description>Active la génération d'un en-tête <code>Content-MD5</code>
620 dans la réponse HTTP</description>
621 <syntax>ContentDigest On|Off</syntax>
622 <default>ContentDigest Off</default>
623 <contextlist><context>server config</context><context>virtual
625 <context>directory</context><context>.htaccess</context>
627 <override>Options</override>
628 <status>Expérimental</status>
631 <p>Cette directive active la génération d'un en-tête
632 <code>Content-MD5</code> selon les définitions des RFC 1864 et
635 <p>MD5 est un algorithme permettant de générer un condensé (parfois
636 appelé "empreinte") à partir de données d'une taille aléatoire ; le
637 degré de précision est tel que la moindre altération des données
638 d'origine entraîne une altération de l'empreinte.</p>
640 <p>L'en-tête <code>Content-MD5</code> permet de vérifier
641 l'intégrité de la réponse HTTP dans son ensemble. Un serveur mandataire
642 ou un client peut utiliser cet en-tête pour rechercher une
643 éventuelle modification accidentelle de la réponse au cours de sa
644 transmission. Exemple d'en-tête :</p>
647 Content-MD5: AuLb7Dp1rqtRtxz2m9kRpA==
650 <p>Notez que des problèmes de performances peuvent affecter votre
651 serveur, car l'empreinte est générée pour chaque requête (il n'y a
652 pas de mise en cache).</p>
654 <p>L'en-tête <code>Content-MD5</code> n'est envoyé qu'avec les
655 documents servis par le module <module>core</module>, à l'exclusion
656 de tout autre module. Ainsi, les documents SSI, les sorties de
657 scripts CGI, et les réponses à des requêtes partielles (byte range)
658 ne comportent pas cet en-tête.</p>
663 <name>DefaultType</name>
664 <description>Les seuls effets de cette directive sont des émissions
665 d'avertissements si sa valeur est différente de <code>none</code>. Dans
666 les versions précédentes, DefaultType permettait de spécifier un type de
667 média à assigner par défaut au contenu d'une réponse pour lequel aucun
668 autre type de média n'avait été trouvé.
670 <syntax>DefaultType <var>type média|none</var></syntax>
671 <default>DefaultType none</default>
672 <contextlist><context>server config</context><context>virtual
674 <context>directory</context><context>.htaccess</context>
676 <override>FileInfo</override>
677 <compatibility>L'argument <code>none</code> est disponible dans les
678 versions d'Apache httpd 2.2.7 et supérieures. Tous les autres choix sont
679 DESACTIVÉS à partir des version 2.3.x.</compatibility>
682 <p>Cette directive a été désactivée. Pour la compatibilité
683 ascendante avec les anciens fichiers de configuration, elle peut
684 être spécifiée avec la valeur <code>none</code>, c'est à dire sans
685 type de médium par défaut. Par exemple :</p>
690 <p><code>DefaultType None</code> n'est disponible que dans les
691 versions d'Apache 2.2.7 et supérieures.</p>
693 <p>Utilisez le fichier de configuration mime.types et la directive
694 <directive module="mod_mime">AddType</directive> pour configurer
695 l'assignement d'un type de médium via les extensions de fichiers, ou
696 la directive <directive module="core">ForceType</directive> pour
697 attribuer un type de médium à des ressources spécifiques. Dans le
698 cas contraire, le serveur enverra sa réponse sans champ d'en-tête
699 Content-Type, et le destinataire devra déterminer lui-même le type
700 de médium.</p>
706 <description>Permet de définir une variable</description>
707 <syntax>Define <var>nom-paramètre</var> [<var>valeur-paramètre</var>]</syntax>
708 <contextlist><context>server config</context><context>virtual host</context>
709 <context>directory</context></contextlist>
712 <p>Avec un seul paramètre, l'effet de la directive
713 <directive>Define</directive> est identique à celui de l'argument
714 <code>-D</code> du programme <program>httpd</program>. Il permet de
715 modifier le comportement des sections <directive module="core"
716 type="section">IfDefine</directive> sans avoir à ajouter d'argument
717 <code>-D</code> au sein des scripts de démarrage.</p>
719 <p>De plus, le second paramètre permet d'affecter une valeur à la
720 variable définie par le premier. Cette variable peut être référencée
721 dans le fichier de configuration via la syntaxe <code>${VAR}</code>.
722 La portée de la variable est toujours globale, et n'est jamais
723 limitée à la section de configuration courante.</p>
726 <IfDefine TEST><br/>
727 Define servername test.example.com<br/>
728 </IfDefine><br/>
729 <IfDefine !TEST><br/>
730 Define servername www.example.com<br/>
731 Define SSL<br/>
732 </IfDefine><br/>
735 <p>Le caractère ":" est interdit dans les noms de variables afin
736 d'éviter les conflits avec la syntaxe de la directive <directive
737 module="mod_rewrite">RewriteMap</directive>.</p>
741 <directivesynopsis type="section">
742 <name>Directory</name>
743 <description>Regroupe un ensemble de directives qui ne s'appliquent
744 qu'au répertoire concerné du système de fichiers, à ses
745 sous-répertoires, et à leur contenu.</description>
746 <syntax><Directory <var>chemin répertoire</var>>
747 ... </Directory></syntax>
748 <contextlist><context>server config</context><context>virtual
753 <p>Les balises <directive type="section">Directory</directive> et
754 <code></Directory></code> permettent de regrouper un ensemble
755 de directives qui ne s'appliquent qu'au répertoire précisé,
756 à ses sous-répertoires, et aux fichiers situés dans ces
757 sous-répertoires. Toute directive
758 autorisée dans un contexte de répertoire peut être utilisée.
759 <var>chemin répertoire</var> est soit le chemin absolu d'un
760 répertoire, soit une chaîne de caractères avec caractères génériques
761 utilisant la comparaison Unix de style shell. Dans une chaîne de
762 caractères avec caractères génériques, <code>?</code> correspond à
763 un caractère quelconque, et <code>*</code> à toute chaîne de
764 caractères. Les intervalles de caractères <code>[]</code> sont aussi
765 autorisés. Aucun caractère générique ne peut remplacer le caractère
766 `/', si bien que l'expression <code><Directory
767 /*/public_html></code> ne conviendra pas pour le chemin
768 * <code>/home/user/public_html</code>, alors que <code><Directory
769 /home/*/public_html></code> conviendra. Exemple :</p>
772 <Directory /usr/local/httpd/htdocs><br />
774 Options Indexes FollowSymLinks<br />
780 <p>Soyez prudent avec l'argument <var>chemin répertoire</var> : il
781 doit correspondre exactement au chemin du système de fichier
782 qu'Apache httpd utilise pour accéder aux fichiers. Les directives
783 comprises dans une section <code><Directory></code> ne
784 s'appliqueront pas aux fichiers du même répertoire auxquels on
785 aura accédé via un chemin différent, per exemple via un lien
789 <p> Les <glossary ref="regex">Expressions rationnelles</glossary>
790 peuvent aussi être utilisées en ajoutant le caractère
791 <code>~</code>. Par exemple :</p>
794 <Directory ~ "^/www/.*/[0-9]{3}">
797 <p>pourra correspondre à tout répertoire situé dans /www/ et dont le
798 nom se compose de trois chiffres.</p>
800 <p>Si plusieurs sections <directive
801 type="section">Directory</directive> (sans expression rationnelle)
802 correspondent au répertoire (ou à un de ses parents) qui contient le
803 document, les directives de la section <directive
804 type="section">Directory</directive> dont le chemin est le plus
805 court sont appliquées en premier, en s'intercalant avec les
806 directives des fichiers <a href="#accessfilename">.htaccess</a>. Par
810 <Directory /><br />
812 AllowOverride None<br />
814 </Directory><br />
816 <Directory /home><br />
818 AllowOverride FileInfo<br />
823 <p>l'accès au document <code>/home/web/dir/doc.html</code> emprunte
824 le chemin suivant :</p>
827 <li>Aplication de la directive <code>AllowOverride None</code>
828 (qui désactive les fichiers <code>.htaccess</code>).</li>
830 <li>Application de la directive <code>AllowOverride
831 FileInfo</code> (pour le répertoire <code>/home</code>).</li>
833 <li>Application de toute directive <code>FileInfo</code> qui se
834 trouverait dans d'éventuels fichiers <code>/home/.htaccess</code>,
835 <code>/home/web/.htaccess</code> ou
836 <code>/home/web/dir/.htaccess</code>, dans cet ordre.</li>
839 <p>Les directives associées aux répertoires sous forme d'expressions
840 rationnelles ne sont prises en compte qu'une fois toutes les
841 directives des sections sans expressions rationnelles appliquées.
842 Alors, tous les répertoires avec expressions rationnelles sont
843 testés selon l'ordre dans lequel ils apparaissent dans le fichier de
844 configuration. Par exemple, avec</p>
847 <Directory ~ abc$><br />
849 # ... directives here ...<br />
854 <p>la section avec expression rationnelle ne sera prise en compte
855 qu'après les sections <directive
856 type="section">Directory</directive> sans expression rationnelle
857 et les fichiers <code>.htaccess</code>. Alors, l'expression
858 rationnelle conviendra pour <code>/home/abc/public_html/abc</code>
859 et la section <directive type="section">Directory</directive>
860 correspondante s'appliquera.</p>
862 <p><strong>Notez que la politique d'accès par défaut
863 dans les sections <code><Directory /></code> consiste à
864 autoriser tout accès sans restriction. Ceci signifie qu'Apache httpd va servir tout fichier
865 correspondant à une URL. Il est recommandé de modifier cette
866 situation à l'aide d'un bloc du style</strong></p>
869 <Directory /><br />
871 Require all denied<br />
876 <p><strong>puis d'affiner la configuration pour les répertoires que vous
877 voulez rendre accessibles. Voir la page <a
878 href="../misc/security_tips.html">Conseils à propos de sécurité</a>
879 pour plus de détails.</strong></p>
881 <p>Les sections <directive type="section">Directory</directive> se situent
882 dans le fichier <code>httpd.conf</code>. Les directives <directive
883 type="section">Directory</directive> ne peuvent pas être imbriquées
884 et ne sont pas autorisées dans les sections <directive module="core"
885 type="section">Limit</directive> ou <directive module="core"
886 type="section">LimitExcept</directive>.</p>
888 <seealso><a href="../sections.html">Comment fonctionnent les sections
889 <Directory>, <Location> et <Files></a> pour des
890 explications à propos de la manière dont ces différentes sections se
891 combinent entre elles à la réception d'une requête</seealso>
894 <directivesynopsis type="section">
895 <name>DirectoryMatch</name>
896 <description>Regroupe des directives qui s'appliquent au contenu de répertoires
897 du système de fichiers correspondant à une expression rationnelle</description>
898 <syntax><DirectoryMatch <var>regex</var>>
899 ... </DirectoryMatch></syntax>
900 <contextlist><context>server config
901 </context><context>virtual host</context>
905 <p>Les balises <directive type="section">DirectoryMatch</directive>
906 et <code></DirectoryMatch></code> permettent de regrouper un
907 ensemble de directives qui ne s'appliqueront qu'au répertoire
908 précisé (et aux fichiers qu'il contient), comme pour la section <directive
909 module="core" type="section">Directory</directive>. Cependant, le
910 répertoire est précisé sous la forme d'une <glossary
911 ref="regex">expression rationnelle</glossary>. Par exemple :</p>
914 <DirectoryMatch "^/www/(.+/)?[0-9]{3}">
917 <p>conviendrait pour les sous-répertoires de <code>/www/</code> dont
918 le nom se compose de trois chiffres.</p>
920 <note><title>Compatibilité</title>
921 Avant la version 2.3.9, cette directive s'appliquait aussi aux
922 sous-répertoires (comme la directive <directive module="core"
923 type="section">Directory</directive>), et ne tenait pas compte du
924 symbole de fin de ligne ($). Depuis la version 2.3.9, seuls les
925 répertoires qui correspondent à l'expression sont affectés par les
926 directives contenues dans la section.
929 <note><title>slash de fin</title>
930 Cette directive s'applique aux requêtes pour des répertoires avec
931 ou sans slash de fin ; les expressions contenant un symbole de fin
932 de ligne ($) doivent donc faire l'objet d'une attention
936 <seealso><directive type="section" module="core">Directory</directive>
937 pour une description de la manière dont les expressions rationnelles
938 sont traitées en présence d'autres sections <directive
939 type="section">Directory</directive> sans expressions rationnelles</seealso>
941 href="../sections.html">Comment fonctionnent les sections
942 <Directory>, <Location> et <Files></a> pour une
943 explication à propos de la manière dont ces différentes sections se
944 combinent entre elles à la réception d'une requête</seealso>
948 <name>DocumentRoot</name>
949 <description>Racine principale de l'arborescence des documents visible
950 depuis Internet</description>
951 <syntax>DocumentRoot <var>chemin répertoire</var></syntax>
952 <default>DocumentRoot /usr/local/apache/htdocs</default>
953 <contextlist><context>server config</context><context>virtual
958 <p>Cette directive permet de définir le répertoire à partir duquel
959 <program>httpd</program> va servir les fichiers. S'il ne correspond
960 pas à un <directive module="mod_alias">Alias</directive>, le chemin
961 de l'URL sera ajouté par le serveur à la racine des documents afin
962 de construire le chemin du document recherché. Exemple :</p>
965 DocumentRoot /usr/web
968 <p>un accès à <code>http://my.example.com/index.html</code> se
969 réfère alors à <code>/usr/web/index.html</code>. Si <var>chemin
970 répertoire</var> n'est pas un chemin absolu, il est considéré comme
971 relatif au chemin défini par la directive <directive
972 module="core">ServerRoot</directive>.</p>
974 <p>Le répertoire défini par la directive
975 <directive>DocumentRoot</directive> ne doit pas comporter de slash
978 <seealso><a href="../urlmapping.html#documentroot">Mise en
979 correspondance des URLs avec le système de fichiers</a></seealso>
982 <directivesynopsis type="section">
984 <description>Contient des directives qui ne s'appliquent que si la
985 condition correspondant à la section <directive type="section"
986 module="core">If</directive> ou <directive type="section"
987 module="core">ElseIf</directive> précédente n'est pas satisfaite par la
988 requête à l'exécution</description>
989 <syntax><Else> ... </Else></syntax>
990 <contextlist><context>server config</context><context>virtual host</context>
991 <context>directory</context><context>.htaccess</context>
993 <override>All</override>
996 <p>La section <directive type="section">Else</directive> applique
997 les directives qu'elle contient si et seulement si les conditions
998 correspondant à la section <directive type="section">If</directive>
999 ou <directive type="section">ElseIf</directive> immédiatement
1000 supérieure et dans la même portée n'ont pas été satisfaites. Par
1004 <If "-z req('Host')"><br/>
1012 <p>La condition de la section <directive
1013 type="section">If</directive> serait satisfaite pour les requêtes
1014 HTTP/1.0 sans en-tête <var>Host:</var>, alors que celle de la section
1015 <directive type="section">Else</directive> le serait pour les
1016 requêtes comportant un en-tête <var>Host:</var>.</p>
1019 <seealso><directive type="section" module="core">If</directive></seealso>
1020 <seealso><directive type="section" module="core">ElseIf</directive></seealso>
1021 <seealso><a href="../sections.html">Fonctionnement des sections <Directory>, <Location>,
1022 <Files></a> pour une explication de la manière dont ces
1023 différentes section se combinent entre elles lorsqu'une requête est
1024 reçue. Les directives <directive type="section">If</directive>,
1025 <directive type="section">ElseIf</directive>, et <directive
1026 type="section">Else</directive> s'appliquent en dernier.</seealso>
1027 </directivesynopsis>
1029 <directivesynopsis type="section">
1031 <description>Contient des directives qui ne s'appliquent que si la
1032 condition correspondante est satisfaite par une requête à l'exécution,
1033 alors que la condition correspondant à la section <directive
1034 type="section" module="core">If</directive> ou <directive
1035 type="section">ElseIf</directive> précédente ne l'était pas.</description>
1036 <syntax><ElseIf <var>expression</var>> ... </ElseIf></syntax>
1037 <contextlist><context>server config</context><context>virtual host</context>
1038 <context>directory</context><context>.htaccess</context>
1040 <override>All</override>
1043 <p>La section <directive type="section">ElseIf</directive> applique
1044 les directives qu'elle contient si et seulement si d'une part la
1045 condition correspondante est satisfaite, et d'autre part la condition
1046 correspondant à la section <directive type="section">If</directive>
1047 ou <directive type="section">ElseIf</directive> de la même portée ne
1048 l'est pas. Par exemple, dans :</p>
1051 <If "-R '10.1.0.0/16'"><br/>
1054 <ElseIf "-R '10.0.0.0/8'"><br/>
1056 </ElseIf><br/>
1062 <p>La condition correspondant à la section <directive
1063 type="section">ElseIf</directive> est satisfaite si l'adresse
1064 distante de la requête appartient au sous-réseau 10.0.0.0/8, mais
1065 pas si elle appartient au sous-réseau 10.1.0.0/16.</p>
1068 <seealso><a href="../expr.html">Les expressions dans le serveur HTTP
1069 Apache</a>, pour une référence complète et d'autres exemples.</seealso>
1070 <seealso><directive type="section" module="core">If</directive></seealso>
1071 <seealso><directive type="section" module="core">Else</directive></seealso>
1072 <seealso><a href="../sections.html">Fonctionnement des sections <Directory>, <Location>,
1073 <Files></a> pour une explication de la manière dont ces
1074 différentes section se combinent entre elles lorsqu'une requête est
1075 reçue. Les directives <directive type="section">If</directive>,
1076 <directive type="section">ElseIf</directive>, et <directive
1077 type="section">Else</directive> s'appliquent en dernier.</seealso>
1078 </directivesynopsis>
1081 <name>EnableMMAP</name>
1082 <description>Utilise la projection en mémoire (Memory-Mapping) pour
1083 lire les fichiers pendant qu'ils sont servis</description>
1084 <syntax>EnableMMAP On|Off</syntax>
1085 <default>EnableMMAP On</default>
1086 <contextlist><context>server config</context><context>virtual
1088 <context>directory</context><context>.htaccess</context>
1090 <override>FileInfo</override>
1093 <p>Cette directive définit si <program>httpd</program> peut utiliser
1094 la projection en mémoire (Memory-Mapping) quand il doit lire le contenu
1095 d'un fichier pendant qu'il est servi. Par défaut, lorsque le
1096 traitement d'une requête requiert l'accès aux données contenues dans
1097 un fichier -- par exemple, pour servir un fichier interprété par le
1098 serveur à l'aide de <module>mod_include</module> -- Apache httpd projette
1099 le fichier en mémoire si le système d'exploitation le permet.</p>
1101 <p>Cette projection en mémoire induit parfois une amélioration des
1102 performances. Sur certains systèmes cependant, il est préférable de
1103 désactiver la projection en mémoire afin d'éviter certains problèmes
1104 opérationnels :</p>
1107 <li>Sur certains systèmes multi-processeurs, la projection en
1108 mémoire peut dégrader les performances du programme
1109 <program>httpd</program>.</li>
1110 <li>S'il fait l'objet d'une projection en mémoire par
1111 <program>httpd</program>, la suppression ou la troncature d'un
1112 fichier peut provoquer un crash de <program>httpd</program> avec une
1113 erreur de segmentation.</li>
1116 <p>Pour les configurations de serveur sujettes à ce genre de
1117 problème, il est préférable de désactiver la projection en mémoire
1118 des fichiers servis en spécifiant :</p>
1124 <p>Pour les montages NFS, cette fonctionnalité peut être
1125 explicitement désactivée pour les fichiers concernés en spécifiant
1129 <Directory "/chemin vers montage NFS">
1136 </directivesynopsis>
1139 <name>EnableSendfile</name>
1140 <description>Utilise le support sendfile du noyau pour servir les
1141 fichiers aux clients</description>
1142 <syntax>EnableSendfile On|Off</syntax>
1143 <default>EnableSendfile Off</default>
1144 <contextlist><context>server config</context><context>virtual
1146 <context>directory</context><context>.htaccess</context>
1148 <override>FileInfo</override>
1149 <compatibility>Disponible dans les versions 2.0.44 et
1150 supérieures. Par défaut à Off depuis la version 2.3.9.</compatibility>
1153 <p>Cette directive définit si le programme <program>httpd</program>
1154 peut utiliser le support sendfile du noyau pour transmettre le
1155 contenu des fichiers aux clients. Par défaut, lorsque le traitement
1156 d'une requête ne requiert pas l'accès aux données contenues dans un
1157 fichier -- par exemple, pour la transmission d'un fichier statique
1158 -- Apache httpd utilise sendfile pour transmettre le contenu du fichier
1159 sans même lire ce dernier, si le système d'exploitation le
1162 <p>Ce mécanisme sendfile évite la séparation des opérations de
1163 lecture et d'envoi, ainsi que les réservations de tampons. sur
1164 certains systèmes cependant, ou sous certains systèmes de fichiers,
1165 il est préférable de désactiver cette fonctionnalité afin d'éviter
1166 certains problèmes opérationnels :</p>
1169 <li>Certains systèmes peuvent présenter un support sendfile
1170 défectueux que le système de compilation n'a pas détecté, en
1171 particulier si les exécutables ont été compilés sur une autre
1172 machine, puis copiés sur la première avec un support sendfile
1173 défectueux.</li>
1174 <li>Sous Linux, l'utilisation de sendfile induit des bogues lors de
1175 la récupération des paquets de vérification TCP (TCP-checksum) avec
1176 certaines cartes réseau lorsqu'on utilise IPv6.</li>
1177 <li>Sous Linux sur Itanium, <code>sendfile</code> peut s'avérer incapable de
1178 traiter les fichiers de plus de 2 Go.</li>
1179 <li>Avec un montage réseau de <directive
1180 module="core">DocumentRoot</directive> (par exemple NFS, SMB, CIFS,
1182 noyau peut s'avérer incapable de servir un fichier de ce montage
1183 réseau en passant par son propre cache.</li>
1186 <p>Pour les configurations de serveur non sujettes à ce genre de
1187 problème, vous pouvez activer cette fonctionnalité en
1188 spécifiant :</p>
1194 <p>Pour les montages réseau, cette fonctionnalité peut être
1195 explicitement désactivée pour les fichiers concernés en spécifiant
1199 <Directory "/chemin vers montage réseau">
1205 <p>Veuillez noter que la configuration de la directive
1206 <directive>EnableSendfile</directive> dans un contexte de répertoire
1207 ou de fichier .htaccess n'est pas supportée par
1208 <module>mod_cache_disk</module>. Le module ne prend en compte la
1209 définition de <directive>EnableSendfile</directive> que dans un
1213 </directivesynopsis>
1217 <description>Interrompt la lecture de la configuration avec un message
1218 d'erreur personnalisé</description>
1219 <syntax>Error <var>message</var></syntax>
1220 <contextlist><context>server config</context><context>virtual host</context>
1221 <context>directory</context><context>.htaccess</context>
1223 <compatibility>à partir de la version 2.3.9</compatibility>
1226 <p>Si une erreur peut être détectée dans la configuration, souvent
1227 un module manquant, cette
1228 directive peut être utilisée pour générer un message d'erreur
1229 personnalisé, et interrompre la lecture de la configuration. </p>
1231 <example><title>Exemple</title>
1232 # vérification du chargement de mod_include<br />
1233 <IfModule !include_module><br />
1234 Error mod_foo nécessite mod_include. Chargez-le via LoadModule.<br />
1235 </IfModule><br />
1237 # vérification de la définition de SSL ou (exclusif) NOSSL<br />
1238 <IfDefine SSL><br />
1239 <IfDefine NOSSL><br />
1240 Error SSL et NOSSL sont définies. Vous devez définir soit l'une,
1242 </IfDefine><br />
1243 </IfDefine><br />
1244 <IfDefine !SSL><br />
1245 <IfDefine !NOSSL><br />
1246 Error Vous devez définir une et une seule des deux variables SSL
1248 </IfDefine><br />
1249 </IfDefine><br />
1253 </directivesynopsis>
1256 <name>ErrorDocument</name>
1257 <description>Document que le serveur renvoie au client en cas
1258 d'erreur</description>
1259 <syntax>ErrorDocument <var>code erreur</var> <var>document</var></syntax>
1260 <contextlist><context>server config</context><context>virtual
1262 <context>directory</context><context>.htaccess</context>
1264 <override>FileInfo</override>
1267 <p>Apache httpd peut traiter les problèmes et les erreurs de quatre
1268 manières,</p>
1271 <li>afficher un simple message d'erreur au contenu fixe</li>
1273 <li>afficher un message personnalisé</li>
1275 <li>rediriger vers un <var>chemin d'URL</var> local pour traiter
1276 le problème ou l'erreur</li>
1278 <li>rediriger vers une <var>URL</var> externe pour traiter
1279 le problème ou l'erreur</li>
1282 <p>La première option constitue le comportement par défaut; pour
1283 choisir une des trois autres options, il faut configurer Apache à
1284 l'aide de la directive <directive>ErrorDocument</directive>, suivie
1285 du code de la réponse HTTP et d'une URL ou d'un message. Apache
1286 httpd fournit parfois des informations supplémentaires à propos du
1287 problème ou de l'erreur.</p>
1289 <p>Les URLs peuvent commencer par un slash (/) pour les chemins web
1290 locaux (relatifs au répertoire défini par la directive <directive
1291 module="core">DocumentRoot</directive>), ou se présenter sous la
1292 forme d'une URL complète que le client pourra résoudre.
1293 Alternativement, un message à afficher par le navigateur pourra être
1294 fourni. Exemples :</p>
1297 ErrorDocument 500 http://foo.example.com/cgi-bin/tester<br />
1298 ErrorDocument 404 /cgi-bin/bad_urls.pl<br />
1299 ErrorDocument 401 /subscription_info.html<br />
1300 ErrorDocument 403 "Désolé, vous n'avez pas l'autorisation d'accès
1302 ErrorDocument 403 Interdit!
1305 <p>De plus, on peut spécifier la valeur spéciale <code>default</code>
1306 pour indiquer l'utilisation d'un simple message d'Apache httpd codé en
1307 dur. Bien que non nécessaire dans des circonstances normales, la
1308 spécification de la valeur <code>default</code> va permettre de
1309 rétablir l'utilisation du simple message d'Apache httpd codé en dur pour
1310 les configurations qui sans cela, hériteraient d'une directive
1311 <directive>ErrorDocument</directive> existante.</p>
1314 ErrorDocument 404 /cgi-bin/bad_urls.pl<br /><br />
1315 <Directory /web/docs><br />
1317 ErrorDocument 404 default<br />
1322 <p>Notez que lorsque vous spécifiez une directive
1323 <directive>ErrorDocument</directive> pointant vers une URL distante
1324 (c'est à dire tout ce qui commence par le préfixe http), le serveur
1326 envoyer une redirection au client afin de lui indiquer où trouver le
1327 document, même dans le cas où ce document se trouve sur le serveur
1328 local. Ceci a de nombreuses conséquences dont la plus importante
1329 réside dans le fait que le client ne recevra pas le code d'erreur
1330 original, mais au contraire un code de statut de redirection. Ceci
1331 peut en retour semer la confusion chez les robots web et divers
1332 clients qui tentent de déterminer la validité d'une URL en examinant
1333 le code de statut. De plus, si vous utilisez une URL distante avec
1334 <code>ErrorDocument 401</code>, le client ne saura pas qu'il doit
1335 demander un mot de passe à l'utilisateur car il ne recevra pas le
1336 code de statut 401. C'est pourquoi, <strong>si vous utilisez une
1337 directive <code>ErrorDocument 401</code>, elle devra faire référence
1338 à un document par le biais d'un chemin local.</strong></p>
1340 <p>Microsoft Internet Explorer (MSIE) ignore par défaut les messages
1341 d'erreur générés par le serveur lorsqu'ils sont trop courts et
1342 remplacent ses propres messages d'erreur "amicaux". Le seuil de
1343 taille varie en fonction du type d'erreur, mais en général, si la
1344 taille de votre message d'erreur est supérieure à 512 octets, il y a
1345 peu de chances pour que MSIE l'occulte, et il sera affiché par ce
1346 dernier. Vous trouverez d'avantage d'informations dans l'article de
1347 la base de connaissances Microsoft <a
1348 href="http://support.microsoft.com/default.aspx?scid=kb;en-us;Q294807"
1351 <p>Bien que la plupart des messages d'erreur internes originaux
1352 puissent être remplacés, ceux-ci sont cependant conservés dans
1353 certaines circonstances sans tenir compte de la définition de la
1354 directive <directive module="core">ErrorDocument</directive>. En
1355 particulier, en cas de détection d'une requête mal formée, le
1356 processus de traitement normal des requêtes est immédiatement
1357 interrompu, et un message d'erreur interne est renvoyé, ceci afin de
1358 se prémunir contre les problèmes de sécurité liés aux requêtes mal
1361 <p>Si vous utilisez mod_proxy, il est en général préférable
1362 d'activer <directive
1363 module="mod_proxy">ProxyErrorOverride</directive> afin d'être en
1364 mesure de produire des messages d'erreur personnalisés pour le
1365 compte de votre serveur d'origine. Si vous n'activez pas
1366 ProxyErrorOverride, Apache httpd ne générera pas de messages d'erreur
1367 personnalisés pour le contenu mandaté.</p>
1371 <seealso><a href="../custom-error.html">documentation sur la
1372 personnalisation des réponses</a></seealso>
1373 </directivesynopsis>
1376 <name>ErrorLog</name>
1377 <description>Définition du chemin du journal des erreurs</description>
1378 <syntax> ErrorLog <var>chemin fichier</var>|syslog[:<var>facility</var>]</syntax>
1379 <default>ErrorLog logs/error_log (Unix) ErrorLog logs/error.log (Windows and OS/2)</default>
1380 <contextlist><context>server config</context><context>virtual
1385 <p>La directive <directive>ErrorLog</directive> permet de définir le
1386 nom du fichier dans lequel le serveur va journaliser toutes les
1387 erreurs qu'il rencontre. Si le <var>chemin fichier</var> n'est pas
1388 absolu, il est considéré comme relatif au chemin défini par la
1389 directive <directive module="core">ServerRoot</directive>.</p>
1391 <example><title>Exemple</title>
1392 ErrorLog /var/log/httpd/error_log
1395 <p>Si le <var>chemin fichier</var> commence par une barre verticale
1396 "<code>(|)</code>", il est considéré comme une commande à lancer pour traiter la
1397 journalisation de l'erreur.</p>
1399 <example><title>Exemple</title>
1400 ErrorLog "|/usr/local/bin/erreurs_httpd"
1403 <p>Voir les notes à propos des <a href="../logs.html#piped">journaux
1404 redirigés</a> pour plus d'informations.</p>
1406 <p>L'utilisation de <code>syslog</code> à la place d'un nom de
1407 fichier active la journalisation via syslogd(8) si le système le
1408 supporte. Le dispositif syslog par défaut est <code>local7</code>,
1409 mais vous pouvez le modifier à l'aide de la syntaxe
1410 <code>syslog:<var>facility</var></code>, où <var>facility</var> peut
1411 être remplacé par un des noms habituellement documentés dans la page
1412 de man syslog(1). Le dispositif syslog <code>local7</code> est
1413 global, et si il est modifié dans un serveur virtuel, le dispositif
1414 final spécifié affecte l'ensemble du serveur</p>
1416 <example><title>Exemple</title>
1417 ErrorLog syslog:user
1420 <p>SECURITE : Voir le document <a
1421 href="../misc/security_tips.html#serverroot">conseils à propos de
1422 sécurité</a> pour des détails sur les raisons pour lesquelles votre
1423 sécurité peut être compromise si le répertoire contenant les
1424 fichiers journaux présente des droits en écriture pour tout autre
1425 utilisateur que celui sous lequel le serveur est démarré.</p>
1426 <note type="warning"><title>Note</title>
1427 <p>Lors de la spécification d'un chemin de fichier sur les
1428 plates-formes non-Unix, on doit veiller à n'utiliser que des
1429 slashes (/), même si la plate-forme autorise l'utilisation des
1430 anti-slashes (\). Et d'une manière générale, il est recommandé de
1431 n'utiliser que des slashes (/) dans les fichiers de
1435 <seealso><directive module="core">LogLevel</directive></seealso>
1436 <seealso><a href="../logs.html">Fichiers journaux du serveur HTTP Apache</a></seealso>
1437 </directivesynopsis>
1440 <name>ErrorLogFormat</name>
1441 <description>Spécification du format des entrées du journal des erreurs</description>
1442 <syntax> ErrorLogFormat [connection|request] <var>format</var></syntax>
1443 <contextlist><context>server config</context><context>virtual host</context>
1445 <compatibility>Disponible depuis la version 2.3.9 d'Apache</compatibility>
1448 <p>La directive <directive>ErrorLogFormat</directive> permet de
1449 spécifier quelles informations supplémentaires vont être enregistrées
1450 dans le journal des erreurs en plus du message habituel.</p>
1452 <example><title>Exemple simple</title>
1453 ErrorLogFormat "[%t] [%l] [pid %P] %F: %E: [client %a] %M"
1456 <p>La spécification de <code>connection</code> ou
1457 <code>request</code> comme premier paramètre permet de définir des
1458 formats supplémentaires, ce qui a pour effet de journaliser des
1459 informations additionnelles lorsque le premier message est
1460 enregistré respectivement pour une connexion ou une requête
1461 spécifique. Ces informations additionnelles ne sont enregistrées
1462 qu'une seule fois par connexion/requête. Si le traitement d'une
1463 connexion ou d'une requête ne génère aucun message dans le journal,
1464 alors aucune information additionnelle n'est enregistrée.</p>
1466 <p>Il peut arriver que certains items de la chaîne de format ne
1467 produisent aucune sortie. Par exemple, l'en-tête Referer n'est
1468 présent que si le message du journal est associé à une requête et s'il
1469 est généré à un moment où l'en-tête Referer a déjà été lu par le
1470 client. Si aucune sortie n'est générée, le comportement par défaut
1471 consiste à supprimer tout ce qui se trouve entre l'espace précédent
1472 et le suivant. Ceci implique que la ligne de journalisation est
1473 divisée en champs ne contenant pas d'espace séparés par des espaces.
1474 Si un item de la chaîne de format ne génère aucune sortie,
1475 l'ensemble du champ est omis. Par exemple, si l'adresse distante
1476 <code>%a</code> du format <code>[%t] [%l] [%a] %M </code> n'est
1477 pas disponible, les crochets qui l'entourent ne seront eux-mêmes pas
1478 enregistrés. Il est possible d'échapper les espaces par un anti-slash
1479 afin qu'ils ne soient pas considérés comme séparateurs de champs.
1480 La combinaison '% ' (pourcentage espace) est un délimiteur de
1481 champ de taille nulle qui ne génère aucune sortie.</p>
1483 <p>Ce comportement peut être changé en ajoutant des modificateurs à
1484 l'item de la chaîne de format. Le modificateur <code>-</code>
1485 (moins) provoque l'enregistrement d'un signe moins si l'item
1486 considéré ne génère aucune sortie. Pour les formats à enregistrement
1487 unique par connexion/requête, il est aussi possible d'utiliser le
1488 modificateur <code>+</code> (plus). Si un item ne générant aucune
1489 sortie possède le modificateur plus, la ligne dans son ensemble est
1492 <p>Un modificateur de type entier permet d'assigner un niveau de
1493 sévérité à un item de format. L'item considéré ne
1494 sera journalisé que si la sévérité du message n'est pas
1495 plus haute que le niveau de sévérité spécifié. Les
1496 valeurs possibles vont de 1 (alert) à 15 (trace8), en passant par 4
1497 (warn) ou 7 (debug).</p>
1499 <p>Par exemple, voici ce qui arriverait si vous ajoutiez des
1500 modificateurs à l'item <code>%{Referer}i</code> qui enregistre le
1501 contenu de l'en-tête <code>Referer</code>.</p>
1503 <table border="1" style="zebra">
1504 <columnspec><column width=".3"/><column width=".7"/></columnspec>
1506 <tr><th>Item modifié</th><th>Signification</th></tr>
1509 <td><code>%-{Referer}i</code></td>
1510 <td>Enregistre le caractère <code>-</code> si l'en-tête
1511 <code>Referer</code> n'est pas défini.</td>
1515 <td><code>%+{Referer}i</code></td>
1516 <td>N'enregistre rien si l'en-tête
1517 <code>Referer</code> n'est pas défini.</td>
1521 <td><code>%4{Referer}i</code></td>
1522 <td>N'enregistre le contenu de l'en-tête <code>Referer</code> que si
1523 la sévérité du message de journalisation est supérieure à 4.</td>
1528 <p>Certains items de format acceptent des paramètres supplémentaires
1529 entre accolades.</p>
1531 <table border="1" style="zebra">
1532 <columnspec><column width=".2"/><column width=".8"/></columnspec>
1534 <tr><th>Chaîne de format</th> <th>Description</th></tr>
1536 <tr><td><code>%%</code></td>
1537 <td>Le signe pourcentage</td></tr>
1539 <tr><td><code>%a</code></td>
1540 <td>Adresse IP et port clients</td></tr>
1542 <tr><td><code>%{c}a</code></td>
1543 <td>Port et adresse IP sous-jacents du correspondant pour la
1544 connexion (voir le module
1545 <module>mod_remoteip</module>)</td></tr>
1547 <tr><td><code>%A</code></td>
1548 <td>Adresse IP et port locaux</td></tr>
1550 <tr><td><code>%{<em>name</em>}e</code></td>
1551 <td>Variable d'environnement de requête <em>name</em></td></tr>
1553 <tr><td><code>%E</code></td>
1554 <td>Etat d'erreur APR/OS et chaîne</td></tr>
1556 <tr><td><code>%F</code></td>
1557 <td>Nom du fichier source et numéro de ligne de l'appel du
1560 <tr><td><code>%{<em>name</em>}i</code></td>
1561 <td>En-tête de requête <em>name</em></td></tr>
1563 <tr><td><code>%k</code></td>
1564 <td>Nombre de requêtes persistantes pour cette connexion</td></tr>
1566 <tr><td><code>%l</code></td>
1567 <td>Sévérité du message</td></tr>
1569 <tr><td><code>%L</code></td>
1570 <td>Identifiant journal de la requête</td></tr>
1572 <tr><td><code>%{c}L</code></td>
1573 <td>Identifiant journal de la connexion</td></tr>
1575 <tr><td><code>%{C}L</code></td>
1576 <td>Identifiant journal de la connexion si utilisé dans la
1577 portée de la connexion, vide sinon</td></tr>
1579 <tr><td><code>%m</code></td>
1580 <td>Nom du module qui effectue la journalisation du message</td></tr>
1582 <tr><td><code>%M</code></td>
1583 <td>Le message effectif</td></tr>
1585 <tr><td><code>%{<em>name</em>}n</code></td>
1586 <td>Note de requête <em>name</em></td></tr>
1588 <tr><td><code>%P</code></td>
1589 <td>Identifiant du processus courant</td></tr>
1591 <tr><td><code>%T</code></td>
1592 <td>Identifiant du thread courant</td></tr>
1594 <tr><td><code>%{g}T</code></td>
1595 <td>Identifiant unique de thread système du thread courant
1596 (l'identifiant affiché par la commande <code>top</code> par
1597 exemple ; seulement sous Linux pour l'instant)</td></tr>
1599 <tr><td><code>%t</code></td>
1600 <td>L'heure courante</td></tr>
1602 <tr><td><code>%{u}t</code></td>
1603 <td>L'heure courante avec les microsecondes</td></tr>
1605 <tr><td><code>%{cu}t</code></td>
1606 <td>L'heure courante au format compact ISO 8601, avec les
1607 microsecondes</td></tr>
1609 <tr><td><code>%v</code></td>
1610 <td>Le nom de serveur canonique <directive
1611 module="core">ServerName</directive> du serveur courant.</td></tr>
1613 <tr><td><code>%V</code></td>
1614 <td>Le nom de serveur du serveur qui sert la requête en accord
1615 avec la définition de la directive <directive module="core"
1616 >UseCanonicalName</directive>.</td></tr>
1618 <tr><td><code>\ </code> (anti-slash espace)</td>
1619 <td>Espace non délimiteur</td></tr>
1621 <tr><td><code>% </code> (pourcentage espace)</td>
1622 <td>Délimiteur de champ (aucune sortie)</td></tr>
1625 <p>L'item de format identifiant journal <code>%L</code> génère un
1626 identifiant unique pour une connexion ou une requête. Il peut servir
1627 à déterminer quelles lignes correspondent à la même connexion ou
1628 requête ou quelle requête est associée à tel connexion. Un item de
1629 format <code>%L</code> est aussi disponible dans le module
1630 <module>mod_log_config</module>, mais il permet dans ce contexte de
1631 corréler les entrées du journal des accès avec celles du journal des
1632 erreurs. Si le module <module>mod_unique_id</module> est chargé,
1633 c'est son identifiant unique qui sera utilisé comme identifiant de
1634 journal pour les requêtes.</p>
1636 <example><title>Exemple (format par défaut)</title>
1637 ErrorLogFormat "[%{u}t] [%-m:%l] [pid %P:tid %T] %7F: %E: [client\ %a]
1638 %M% ,\ referer\ %{Referer}i"
1641 <p>Cet exemple renverrait un message d'erreur du style :</p>
1644 [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
1647 <p>Notez que, comme indiqué plus haut, certains champs sont
1648 totalement supprimés s'ils n'ont pas été définis.</p>
1650 <example><title>Exemple (similaire au format 2.2.x)</title>
1651 ErrorLogFormat "[%t] [%l] %7F: %E: [client\ %a]
1652 %M% ,\ referer\ %{Referer}i"
1655 <example><title>Exemple avancé avec identifiants journal de
1656 requête/connexion</title>
1657 ErrorLogFormat "[%{uc}t] [%-m:%-l] [R:%L] [C:%{C}L] %7F: %E: %M"<br/>
1658 ErrorLogFormat request "[%{uc}t] [R:%L] Request %k on C:%{c}L pid:%P tid:%T"<br/>
1659 ErrorLogFormat request "[%{uc}t] [R:%L] UA:'%+{User-Agent}i'"<br/>
1660 ErrorLogFormat request "[%{uc}t] [R:%L] Referer:'%+{Referer}i'"<br/>
1661 ErrorLogFormat connection "[%{uc}t] [C:%{c}L] local\ %a remote\ %A"<br/>
1665 <seealso><directive module="core">ErrorLog</directive></seealso>
1666 <seealso><directive module="core">LogLevel</directive></seealso>
1667 <seealso><a href="../logs.html">Fichiers journaux du serveur HTTP Apache</a></seealso>
1668 </directivesynopsis>
1671 <name>ExtendedStatus</name>
1672 <description>Extrait des informations d'état étendues pour chaque
1673 requête</description>
1674 <syntax>ExtendedStatus On|Off</syntax>
1675 <default>ExtendedStatus Off</default>
1676 <contextlist><context>server config</context></contextlist>
1680 <p>Cette option permet d'extraire des données supplémentaires
1681 concernant la requête en cours de traitement pour un processus
1682 donné, ainsi qu'un résumé d'utilisation ; vous pouvez accéder à
1683 ces variables pendant l'exécution en configurant
1684 <module>mod_status</module>. Notez que d'autres modules sont
1685 susceptibles de s'appuyer sur ce tableau de bord.</p>
1687 <p>Cette directive s'applique au serveur dans son ensemble, et ne
1688 peut pas être activée/désactivée pour un serveur virtuel
1689 particulier. Notez que l'extraction des informations d'état étendues
1690 peut ralentir le serveur. Notez aussi que cette définition ne peut
1691 pas être modifiée au cours d'un redémarrage graceful.</p>
1694 <p>Notez que le chargement de <module>mod_status</module> définit
1695 automatiquement ExtendedStatus à On, et que d'autres modules tiers
1696 sont susceptibles d'en faire de même. De tels modules ont besoin
1697 d'informations détaillées à propos de l'état de tous les processus.
1698 Depuis la version 2.3.6, <module>mod_status</module> a définit la
1699 valeur par défaut à On, alors qu'elle était à Off dans les versions
1700 antérieures.</p>
1705 </directivesynopsis>
1708 <name>FileETag</name>
1709 <description>Caractéristiques de fichier utilisées lors de la génération
1710 de l'en-tête de réponse HTTP ETag pour les fichiers statiques</description>
1711 <syntax>FileETag <var>composant</var> ...</syntax>
1712 <default>FileETag MTime Size</default>
1713 <contextlist><context>server config</context><context>virtual
1715 <context>directory</context><context>.htaccess</context>
1717 <override>FileInfo</override>
1718 <compatibility>La valeur par défaut était "INode MTime Size"
1719 dans les versions 2.3.14 et antérieures.</compatibility>
1723 La directive <directive>FileETag</directive> définit les
1724 caractéristiques de fichier utilisées lors de la génération de
1725 l'en-tête de réponse HTTP <code>ETag</code> (entity tag) quand le
1726 document est contenu dans un fichier statique(la valeur de
1728 est utilisée dans le cadre de la gestion du cache pour préserver la
1729 bande passante réseau). La directive
1730 <directive>FileETag</directive> vous permet maintenant de choisir
1731 quelles caractéristiques du fichier vont être utilisées, le cas
1732 échéant. Les mots-clés reconnus sont :
1736 <dt><strong>INode</strong></dt>
1737 <dd>Le numéro d'i-node du fichier sera inclus dans le processus de
1738 génération</dd>
1739 <dt><strong>MTime</strong></dt>
1740 <dd>La date et l'heure auxquelles le fichier a été modifié la
1741 dernière fois seront incluses</dd>
1742 <dt><strong>Size</strong></dt>
1743 <dd>La taille du fichier en octets sera incluse</dd>
1744 <dt><strong>All</strong></dt>
1745 <dd>Tous les champs disponibles seront utilisés. Cette définition
1746 est équivalente à : <example>FileETag INode MTime
1748 <dt><strong>None</strong></dt>
1749 <dd>Si le document se compose d'un fichier, aucun champ
1750 <code>ETag</code> ne sera inclus dans la réponse</dd>
1753 <p>Les mots-clés <code>INode</code>, <code>MTime</code>, et
1754 <code>Size</code> peuvent être préfixés par <code>+</code> ou
1755 <code>-</code>, ce qui permet de modifier les valeurs par défaut
1756 héritées d'un niveau de configuration plus général. Tout mot-clé
1757 apparaissant sans aucun préfixe annule entièrement et immédiatement
1758 les configurations héritées.</p>
1760 <p>Si la configuration d'un répertoire contient
1761 <code>FileETag INode MTime Size</code>, et si un de
1762 ses sous-répertoires contient <code>FileETag -INode</code>, la
1763 configuration de ce sous-répertoire (qui sera propagée vers tout
1764 sous-répertoire qui ne la supplante pas), sera équivalente à
1765 <code>FileETag MTime Size</code>.</p>
1766 <note type="warning"><title>Avertissement</title>
1767 Ne modifiez pas les valeurs par défaut pour les répertoires ou
1768 localisations où WebDAV est activé et qui utilisent
1769 <module>mod_dav_fs</module> comme fournisseur de stockage.
1770 <module>mod_dav_fs</module> utilise
1771 <code>MTime Size</code> comme format fixe pour les
1772 comparaisons de champs <code>ETag</code> dans les requêtes
1773 conditionnelles. Ces requêtes conditionnelles échoueront si le
1774 format <code>ETag</code> est modifié via la directive
1775 <directive>FileETag</directive>.
1777 <note><title>Inclusions côté serveur</title>
1778 Aucun champ ETag n'est généré pour les réponses interprétées par
1779 <module>mod_include</module>, car l'entité de la réponse peut
1780 changer sans modification de l'INode, du MTime, ou de la taille du
1781 fichier statique contenant les directives SSI.
1786 </directivesynopsis>
1788 <directivesynopsis type="section">
1790 <description>Contient des directives qui s'appliquent aux fichiers
1791 précisés</description>
1792 <syntax><Files <var>nom fichier</var>> ... </Files></syntax>
1793 <contextlist><context>server config</context><context>virtual
1795 <context>directory</context><context>.htaccess</context>
1797 <override>All</override>
1800 <p>La directive <directive type="section">Files</directive> limite
1801 la portée des directives qu'elle contient aux fichiers précisés.
1802 Elle est comparable aux directives <directive module="core"
1803 type="section">Directory</directive> et <directive module="core"
1804 type="section">Location</directive>. Elle doit se terminer par une
1805 balise <code></Files></code>. Les directives contenues dans
1806 cette section s'appliqueront à tout objet dont le nom de base (la
1807 dernière partie du nom de fichier) correspond au fichier spécifié.
1808 Les sections <directive type="section">Files</directive> sont
1809 traitées selon l'ordre dans lequel elles apparaissent dans le
1810 fichier de configuration, après les sections <directive module="core"
1811 type="section">Directory</directive> et la lecture des fichiers
1812 <code>.htaccess</code>, mais avant les sections <directive
1813 type="section" module="core">Location</directive>. Notez que les
1814 sections <directive type="section">Files</directive> peuvent être
1815 imbriquées dans les sections <directive type="section"
1816 module="core">Directory</directive> afin de restreindre la portion
1817 du système de fichiers à laquelle ces dernières vont
1820 <p>L'argument <var>filename</var> peut contenir un nom de fichier
1821 ou une chaîne de caractères avec caractères génériques, où
1822 <code>?</code> remplace un caractère, et <code>*</code> toute chaîne
1823 de caractères. On peut aussi utiliser les <glossary
1824 ref="regex">Expressions rationnelles</glossary> en ajoutant la
1825 caractère <code>~</code>. Par exemple :</p>
1828 <Files ~ "\.(gif|jpe?g|png)$">
1831 <p>correspondrait à la plupart des formats graphiques de l'Internet.
1832 Il est cependant préférable d'utiliser la directive <directive
1833 module="core" type="section">FilesMatch</directive>.</p>
1835 <p>Notez qu'à la différence des sections <directive type="section"
1836 module="core">Directory</directive> et <directive type="section"
1837 module="core">Location</directive>, les sections <directive
1838 type="section">Files</directive> peuvent être utilisées dans les
1839 fichiers <code>.htaccess</code>. Ceci permet aux utilisateurs de
1840 contrôler l'accès à leurs propres ressources, fichier par
1844 <seealso><a href="../sections.html">Comment fonctionnent les sections
1845 <Directory>, <Location> et <Files></a> pour une
1846 explication de la manière dont ces différentes sections se combinent
1847 entre elles à la réception d'une requête</seealso>
1848 </directivesynopsis>
1850 <directivesynopsis type="section">
1851 <name>FilesMatch</name>
1852 <description>Contient des directives qui s'appliquent à des fichiers
1853 spécifiés sous la forme d'expressions rationnelles</description>
1854 <syntax><FilesMatch <var>expression rationnelle</var>> ...
1855 </FilesMatch></syntax>
1856 <contextlist><context>server config</context><context>virtual
1858 <context>directory</context><context>.htaccess</context>
1860 <override>All</override>
1863 <p>La section <directive type="section">FilesMatch</directive>
1864 limite la portée des directives qu'elle contient aux fichiers
1865 spécifiés, tout comme le ferait une section <directive module="core"
1866 type="section">Files</directive>. Mais elle accepte aussi les
1867 <glossary ref="regex">expressions rationnelles</glossary>. Par
1871 <FilesMatch "\.(gif|jpe?g|png)$">
1874 <p>correspondrait à la plupart des formats graphiques de
1878 <seealso><a href="../sections.html">Comment fonctionnent les sections
1879 <Directory>, <Location> et <Files></a> pour une
1880 explication de la manière dont ces différentes sections se combinent
1881 entre elles à la réception d'une requête</seealso>
1882 </directivesynopsis>
1885 <name>ForceType</name>
1886 <description>Force le type de médium spécifié dans le champ d'en-tête
1887 HTTP Content-Type pour les fichiers correspondants</description>
1888 <syntax>ForceType <var>type médium</var>|None</syntax>
1889 <contextlist><context>directory</context><context>.htaccess</context>
1891 <override>FileInfo</override>
1892 <compatibility>Intégré dans le coeur d'Apache httpd depuis la version
1896 <p>Lorsqu'elle est placée dans un fichier <code>.htaccess</code> ou
1897 une section <directive type="section"
1898 module="core">Directory</directive>, <directive type="section"
1899 module="core">Location</directive>, ou <directive type="section"
1900 module="core">Files</directive>, cette directive force
1901 l'identification du type MIME des fichiers spécifiés à la valeur de
1902 l'argument <var>type médium</var>. Par exemple, si vous possédez un
1903 répertoire ne contenant que des fichiers GIF, et si vous ne voulez
1904 pas leur ajouter l'extension <code>.gif</code>, vous pouvez utiliser
1911 <p>Notez que cette directive l'emporte sur d'autres associations de
1912 type de médium indirectes définies dans mime.types ou via la
1913 directive <directive module="mod_mime">AddType</directive>.</p>
1915 <p>Vous pouvez aussi annuler toute définition plus générale de
1916 <directive>ForceType</directive> en affectant la valeur
1917 <code>None</code> à l'argument <var>type médium</var> :</p>
1920 # force le type MIME de tous les fichiers à image/gif:<br />
1921 <Location /images><br />
1923 ForceType image/gif<br />
1925 </Location><br />
1927 # mais utilise les méthodes classiques d'attribution du type MIME
1928 # dans le sous-répertoire suivant :<br />
1929 <Location /images/mixed><br />
1931 ForceType None<br />
1936 <p>A la base, cette directive écrase le type de contenu généré pour
1937 les fichiers statiques servis à partir du sytème de fichiers. Pour
1938 les ressources autres que les fichiers statiques pour lesquels le
1939 générateur de réponse spécifie en général un type de contenu, cette
1940 directive est ignorée.</p>
1943 </directivesynopsis>
1945 <name>GprofDir</name>
1946 <description>Répertoire dans lequel écrire les données de profiling
1947 gmon.out.</description>
1948 <syntax>GprofDir <var>/tmp/gprof/</var>|<var>/tmp/gprof/</var>%</syntax>
1949 <contextlist><context>server config</context><context>virtual host</context>
1953 <p>Lorsque le serveur a été compilé avec le support du profiling
1954 gprof, la directive <directive>GprofDir</directive> permet de
1955 spécifier dans quel répertoire les fichiers <code>gmon.out</code>
1956 doivent être écrits lorsque le processus s'arrête. Si l'argument se
1957 termine par un caractère pourcentage ('%'), des sous-répertoires
1958 sont créés pour chaque identifiant de processus.</p>
1960 <p>Cette directive ne fonctionne actuellement qu'avec le MPM
1961 <module>prefork</module>.</p>
1963 </directivesynopsis>
1966 <name>HostnameLookups</name>
1967 <description>Active la recherche DNS sur les adresses IP des
1968 clients</description>
1969 <syntax>HostnameLookups On|Off|Double</syntax>
1970 <default>HostnameLookups Off</default>
1971 <contextlist><context>server config</context><context>virtual
1973 <context>directory</context></contextlist>
1976 <p>Cette directive active la recherche DNS afin de pouvoir
1977 journaliser les nom d'hôtes (et les passer aux programmes CGI et aux
1978 inclusions SSI via la variable <code>REMOTE_HOST</code>). La valeur
1979 <code>Double</code> déclenche une double recherche DNS inverse. En
1980 d'autres termes, une fois la recherche inverse effectuée, on lance
1981 une recherche directe sur le résultat de cette dernière. Au moins
1982 une des adresses IP fournies par la recherche directe doit
1983 correspondre à l'adresse originale (ce que l'on nomme
1984 <code>PARANOID</code> dans la terminologie "tcpwrappers").</p>
1986 <p>Quelle que soit la configuration, lorsqu'on utilise
1987 <module>mod_authz_host</module> pour contrôler l'accès en fonction
1988 du nom d'hôte, une double recherche DNS inverse est effectuée,
1989 sécurité oblige. Notez cependant que le résultat de cette double
1990 recherche n'est en général pas accessible, à moins que vous n'ayez
1991 spécifié <code>HostnameLookups Double</code>. Par exemple, si vous
1992 n'avez spécifié que <code>HostnameLookups On</code>, et si une
1993 requête concerne un objet protégé par des restrictions en fonction
1994 du nom d'hôte, quel que soit le résultat de la double recherche
1995 inverse, les programmes CGI ne recevront que le résultat de la
1996 recherche inverse simple dans la variable
1997 <code>REMOTE_HOST</code>.</p>
1999 <p>La valeur par défaut est <code>Off</code> afin de préserver le
2000 traffic réseau des sites pour lesquels la recherche inverse n'est
2001 pas vraiment nécessaire. Cette valeur par défaut est aussi bénéfique
2002 pour les utilisateurs finaux car il n'ont ainsi pas à subir de temps
2003 d'attente supplémentaires dus aux recherches DNS. Les sites
2004 fortement chargés devraient laisser cette directive à
2005 <code>Off</code>, car les recherches DNS peuvent prendre des temps
2006 très longs. Vous pouvez éventuellement utiliser hors ligne
2007 l'utilitaire <program>logresolve</program>, compilé par défaut dans
2008 le sous-répertoire <code>bin</code> de votre répertoire
2009 d'installation, afin de déterminer les noms d'hôtes associés aux
2010 adresses IP journalisées.</p>
2012 <p>Enfin, si vous avez des <a
2013 href="mod_authz_host.html#reqhost">directives Require à base de
2014 nom</a>, une recherche de nom d'hôte sera effectuée quelle que soit
2015 la définition de la directive <code>HostnameLookups</code>.</p>
2017 </directivesynopsis>
2019 <directivesynopsis type="section">
2021 <description>Contient des directives qui ne s'appliquent que si une
2022 condition est satisfaite au cours du traitement d'une
2023 requête</description>
2024 <syntax><If <var>expression</var>> ... </If></syntax>
2025 <contextlist><context>server config</context><context>virtual
2027 <context>directory</context><context>.htaccess</context>
2029 <override>All</override>
2032 <p>La directive <directive type="section">If</directive> évalue une
2033 expression à la volée, et applique les directives qu'elle contient
2034 si et seulement si l'expression renvoie la valeur "vrai". Par
2038 <If "-z req('Host')">
2041 <p>serait satisfaite pour les requêtes HTTP/1.0 sans en-tête
2042 <var>Host:</var>. Les expressions peuvent contenir différents
2043 opérateurs de type shell pour la comparaison de chaînes
2044 (<code>=</code>, <code>!=</code>, <code><</code>, ...), la
2045 comparaison d'entiers (<code>-eq</code>, <code>-ne</code>, ...), ou
2046 à usages divers (<code>-n</code>, <code>-z</code>, <code>-f</code>,
2047 ...). Les expressions rationnelles sont aussi supportées,</p>
2050 <If "%{QUERY_STRING} =~ /(delete|commit)=.*?elem/">
2053 <p>ainsi que les comparaison de modèles de type shell et de
2054 nombreuses autres opérations. Ces opérations peuvent être effectuées
2055 sur les en-têtes de requêtes (<code>req</code>), les variables
2056 d'environnement (<code>env</code>), et un grand nombre d'autres
2057 propriétés. La documentation complète est disponible dans <a
2058 href="../expr.html">Les expressions dans le serveur HTTP Apache</a>.</p>
2062 <seealso><a href="../expr.html">Les expressions dans le serveur HTTP
2063 Apache</a>, pour une référence complète et d'autres exemples.</seealso>
2064 <seealso><directive type="section" module="core">ElseIf</directive></seealso>
2065 <seealso><directive type="section" module="core">Else</directive></seealso>
2066 <seealso><a href="../sections.html">Comment fonctionnent les sections
2067 <Directory>, <Location> et <Files></a> pour une
2068 explication de la manière dont ces différentes sections se combinent
2069 entre elles à la réception d'une requête. Les
2070 directives <directive type="section">If</directive>, <directive
2071 type="section">ElseIf</directive>, et <directive
2072 type="section">Else</directive> s'appliquent en dernier.</seealso>
2073 </directivesynopsis>
2075 <directivesynopsis type="section">
2076 <name>IfDefine</name>
2077 <description>Contient des directives qui ne s'appliqueront que si un
2078 test retourne "vrai" au démarrage du serveur</description>
2079 <syntax><IfDefine [!]<var>paramètre</var>> ...
2080 </IfDefine></syntax>
2081 <contextlist><context>server config</context><context>virtual
2083 <context>directory</context><context>.htaccess</context>
2085 <override>All</override>
2088 <p>La section <code><IfDefine
2089 <var>test</var>>...</IfDefine></code> permet de
2090 conférer un caractère conditionnel à un ensemble de directives. Les
2091 directives situées à l'intérieur d'une section <directive
2092 type="section">IfDefine</directive> ne s'appliquent que si
2093 <var>test</var> est vrai. Si <var>test</var> est faux, tout ce qui
2094 se trouve entre les balises de début et de fin est ignoré.</p>
2096 <p><var>test</var> peut se présenter sous deux formes :</p>
2099 <li><var>nom paramètre</var></li>
2101 <li><code>!</code><var>nom paramètre</var></li>
2104 <p>Dans le premier cas, les directives situées entre les balises de
2105 début et de fin ne s'appliqueront que si le paramètre nommé <var>nom
2106 paramètre</var> est défini. Le second format inverse le test, et
2107 dans ce cas, les directives ne s'appliqueront que si <var>nom
2108 paramètre</var> n'est <strong>pas</strong> défini.</p>
2110 <p>L'argument <var>nom paramètre</var> est une définition qui peut
2111 être effectuée par la ligne de commande
2112 <program>httpd</program> via le paramètre
2113 <code>-D<var>paramètre</var></code> au démarrage du serveur, ou via la
2114 directive <directive module="core">Define</directive>.</p>
2116 <p>Les sections <directive type="section">IfDefine</directive>
2117 peuvent être imbriquées, ce qui permet d'implémenter un test
2118 multi-paramètres simple. Exemple :</p>
2121 httpd -DReverseProxy -DUseCache -DMemCache ...<br />
2124 <IfDefine ReverseProxy><br />
2126 LoadModule proxy_module modules/mod_proxy.so<br />
2127 LoadModule proxy_http_module modules/mod_proxy_http.so<br />
2128 <IfDefine UseCache><br />
2130 LoadModule cache_module modules/mod_cache.so<br />
2131 <IfDefine MemCache><br />
2133 LoadModule mem_cache_module modules/mod_mem_cache.so<br />
2135 </IfDefine><br />
2136 <IfDefine !MemCache><br />
2138 LoadModule cache_disk_module modules/mod_cache_disk.so<br />
2147 </directivesynopsis>
2149 <directivesynopsis type="section">
2150 <name>IfModule</name>
2151 <description>Contient des directives qui ne s'appliquent qu'en fonction
2152 de la présence ou de l'absence d'un module spécifique</description>
2153 <syntax><IfModule [!]<var>fichier module</var>|<var>identificateur
2154 module</var>> ... </IfModule></syntax>
2155 <contextlist><context>server config</context><context>virtual
2157 <context>directory</context><context>.htaccess</context>
2159 <override>All</override>
2160 <compatibility>Les identificateurs de modules sont disponibles dans les
2161 versions 2.1 et supérieures.</compatibility>
2164 <p>La section <code><IfModule
2165 <var>test</var>>...</IfModule></code> permet de conférer à
2166 des directives un caractère conditionnel basé sur la présence d'un
2167 module spécifique. Les directives situées dans une section
2168 <directive type="section">IfModule</directive> ne s'appliquent que
2169 si <var>test</var> est vrai. Si <var>test</var> est faux, tout ce
2170 qui se trouve entre les balises de début et de fin est ignoré.</p>
2172 <p><var>test</var> peut se présenter sous deux formes :</p>
2175 <li><var>module</var></li>
2177 <li>!<var>module</var></li>
2180 <p>Dans le premier cas, les directives situées entre les balises de
2181 début et de fin ne s'appliquent que si le module <var>module</var>
2182 est présent -- soit compilé avec le binaire Apache httpd, soit chargé
2183 dynamiquement via la directive <directive module="mod_so"
2184 >LoadModule</directive>. Le second format inverse le test, et dans
2185 ce cas, les directives ne s'appliquent que si <var>module</var>
2186 n'est <strong>pas</strong> présent.</p>
2188 <p>L'argument <var>module</var> peut contenir soit l'identificateur
2189 du module, soit le nom du fichier source du module. Par exemple,
2190 <code>rewrite_module</code> est un identificateur et
2191 <code>mod_rewrite.c</code> le nom du fichier source
2192 correspondant. Si un module comporte plusieurs fichiers sources,
2193 utilisez le nom du fichier qui contient la chaîne de caractères
2194 <code>STANDARD20_MODULE_STUFF</code>.</p>
2196 <p>Les sections <directive type="section">IfModule</directive>
2197 peuvent être imbriquées, ce qui permet d'implémenter des tests
2198 multi-modules simples.</p>
2200 <note>Cette section ne doit être utilisée que si votre fichier de
2201 configuration ne fonctionne qu'en fonction de la présence ou de
2202 l'absence d'un module spécifique. D'une manière générale, il n'est
2203 pas nécessaire de placer les directives à l'intérieur de sections
2204 <directive type="section">IfModule</directive>.</note>
2206 </directivesynopsis>
2209 <name>Include</name>
2210 <description>Inclut d'autres fichiers de configuration dans un des
2211 fichiers de configuration du serveur</description>
2212 <syntax>Include <var>chemin-fichier</var>|<var>chemin-répertoire</var>|<var>wildcard</var></syntax>
2213 <contextlist><context>server config</context><context>virtual
2215 <context>directory</context>
2217 <compatibility>Utilisation des caractères génériques dans la partie nom
2218 de fichier depuis la version 2.0.41, et dans la partie chemin depuis la
2219 version 2.3.6</compatibility>
2222 <p>Cette directive permet l'inclusion d'autres fichiers de
2223 configuration dans un des fichiers de configuration du serveur.</p>
2225 <p>On peut utiliser des caractères génériques de style Shell
2226 (<code>fnmatch()</code>) aussi bien dans la partie nom de fichier du
2227 chemin que dans la partie répertoires pour inclure plusieurs
2229 seule fois, selon leur ordre alphabétique. De plus, si la directive
2230 <directive>Include</directive> pointe vers un répertoire, Apache
2231 httpd inclura tous les fichiers de ce répertoire et de tous ces
2232 sous-répertoires. L'inclusion de répertoires entiers est cependant
2233 déconseillée, car il est fréquent d'oublier des fichiers
2234 temporaires dans un répertoire, ce qui causerait une erreur
2235 <program>httpd</program> en cas d'inclusion. Pour inclure des
2236 fichiers qui correspondent à un certain modèle, comme *.conf par
2237 exemple, nous vous recommandons d'utiliser plutôt la syntaxe avec
2238 caractères génériques comme ci-dessous.</p>
2240 <p>La directive <directive module="core">Include</directive>
2241 <strong>échouera avec un code d'erreur</strong> si une expression
2242 contenant des caractères génériques ne correspond à aucun fichier.
2243 Pour ignorer les expressions contenant des caractères génériques ne
2244 correspondant à aucun fichier, utilisez la directive <directive
2245 module="core">IncludeOptional</directive>.</p>
2247 <p>Le chemin fichier spécifié peut être soit un chemin absolu, soit
2248 un chemin relatif au répertoire défini par la directive <directive
2249 module="core">ServerRoot</directive>.</p>
2254 Include /usr/local/apache2/conf/ssl.conf<br />
2255 Include /usr/local/apache2/conf/vhosts/*.conf
2258 <p>ou encore, avec des chemins relatifs au répertoire défini par la
2259 directive <directive module="core">ServerRoot</directive> :</p>
2262 Include conf/ssl.conf<br />
2263 Include conf/vhosts/*.conf
2266 <p>On peut aussi insérer des caractères génériques dans la partie
2267 répertoires du chemin. Dans l'exemple suivant, la directive
2268 échouera si aucun sous-répertoire de conf/vhosts ne contient au
2269 moins un fichier *.conf :</p>
2272 Include conf/vhosts/*/*.conf
2275 <p>Par contre, dans l'exemple suivant, la directive sera simplement
2276 ignorée si aucun sous-répertoire de conf/vhosts ne contient au
2277 moins un fichier *.conf :</p>
2280 IncludeOptional conf/vhosts/*/*.conf
2285 <seealso><directive module="core">IncludeOptional</directive></seealso>
2286 <seealso><program>apachectl</program></seealso>
2287 </directivesynopsis>
2290 <name>IncludeOptional</name>
2291 <description>Inclusion de fichiers dans le fichier de configuration</description>
2292 <syntax>IncludeOptional
2293 <var>chemin-fichier</var>|<var>chemin-répertoire</var>|<var>wildcard</var></syntax>
2294 <contextlist><context>server config</context><context>virtual host</context>
2295 <context>directory</context>
2297 <compatibility>Disponible à partir de la version 2.3.6 du serveur HTTP
2298 Apache</compatibility>
2301 <p>Cette directive permet d'inclure des fichiers dans les fichiers
2302 de configuration du serveur. Elle fonctionne de manière identique à
2303 la directive <directive module="core">Include</directive>, à
2304 l'exception du fait que si l'expression avec caractères génériques
2305 wilcard ne correspond à aucun fichier ou répertoire, elle sera
2306 ignorée silencieusement au lieu de causer une erreur.</p>
2310 <seealso><directive module="core">Include</directive></seealso>
2311 <seealso><program>apachectl</program></seealso>
2312 </directivesynopsis>
2315 <name>KeepAlive</name>
2316 <description>Active les connexions HTTP persistantes</description>
2317 <syntax>KeepAlive On|Off</syntax>
2318 <default>KeepAlive On</default>
2319 <contextlist><context>server config</context><context>virtual
2324 <p>L'extension Keep-Alive de HTTP/1.0 et l'implémentation des
2325 connexions persistantes dans HTTP/1.1 ont rendu possibles des
2326 sessions HTTP de longue durée, ce qui permet de transmettre
2327 plusieurs requêtes via la même connexion TCP. Dans certains cas, le
2328 gain en rapidité pour des documents comportant de nombreuses images
2329 peut atteindre 50%. Pour activer les connexions persistantes,
2330 définissez <code>KeepAlive On</code>.</p>
2332 <p>Pour les clients HTTP/1.0, les connexions persistantes ne seront
2333 mises en oeuvre que si elles ont été spécialement demandées par un
2334 client. De plus, une connexion persistante avec un client HTTP/1.0
2335 ne peut être utilisée que si la taille du contenu est connue
2336 d'avance. Ceci implique que les contenus dynamiques comme les
2337 sorties CGI, les pages SSI, et les listings de répertoires générés
2338 par le serveur n'utiliseront en général pas les connexions
2339 persistantes avec les clients HTTP/1.0. Avec les clients HTTP/1.1,
2340 les connexions persistantes sont utilisées par défaut, sauf
2341 instructions contraires. Si le client le demande, le transfert par
2342 tronçons de taille fixe (chunked encoding) sera utilisé afin de
2343 transmettre un contenu de longueur inconnue via une connexion
2346 <p>Lorsqu'un client utilise une connexion persistante, elle comptera
2347 pour une seule requête pour la directive <directive
2348 module="mpm_common">MaxConnectionsPerChild</directive>, quel
2349 que soit le nombre de requêtes transmises via cette connexion.</p>
2352 <seealso><directive module="core">MaxKeepAliveRequests</directive></seealso>
2353 </directivesynopsis>
2356 <name>KeepAliveTimeout</name>
2357 <description>Durée pendant laquelle le serveur va attendre une requête
2358 avant de fermer une connexion persistante</description>
2359 <syntax>KeepAliveTimeout <var>nombre</var>[ms]</syntax>
2360 <default>KeepAliveTimeout 5</default>
2361 <contextlist><context>server config</context><context>virtual
2364 <compatibility>La spécification d'une valeur en millisecondes est
2365 possible depuis les versions 2.3.2 et supérieures d'Apache httpd</compatibility>
2368 <p>Le nombre de secondes pendant lesquelles Apache httpd va attendre une
2369 requête avant de fermer la connexion. Le délai peut être défini en
2370 millisecondes en suffixant sa valeur par ms. La valeur du délai
2371 spécifiée par la directive <directive
2372 module="core">Timeout</directive> s'applique dès qu'une requête a
2373 été reçue.</p>
2375 <p>Donner une valeur trop élévée à
2376 <directive>KeepAliveTimeout</directive> peut induire des problèmes
2377 de performances sur les serveurs fortement chargés. Plus le délai
2378 est élévé, plus nombreux seront les processus serveur en attente de
2379 requêtes de la part de clients inactifs.</p>
2381 <p>Dans un contexte de serveur virtuel à base de nom, c'est
2382 la valeur de la paire adresse IP/port du serveur virtuel qui
2383 correspond le mieux qui sera utilisée.</p>
2385 </directivesynopsis>
2387 <directivesynopsis type="section">
2389 <description>Limite les contrôles d'accès que la section contient à
2390 certaines méthodes HTTP</description>
2391 <syntax><Limit <var>méthode</var> [<var>méthode</var>] ... > ...
2392 </Limit></syntax>
2393 <contextlist><context>directory</context><context>.htaccess</context>
2395 <override>AuthConfig, Limit</override>
2398 <p>Les contrôles d'accès s'appliquent normalement à
2399 <strong>toutes</strong> les méthodes d'accès, et c'est en général le
2400 comportement souhaité. <strong>Dans le cas général, les directives
2401 de contrôle d'accès n'ont pas à être placées dans une section
2402 <directive type="section">Limit</directive>.</strong></p>
2404 <p>La directive <directive type="section">Limit</directive> a pour
2405 but de limiter les effets des contrôles d'accès aux méthodes HTTP
2406 spécifiées. Pour toutes les autres méthodes, les restrictions
2407 d'accès contenues dans la section <directive
2408 type="section">Limit</directive> <strong>n'auront aucun
2409 effet</strong>. L'exemple suivant n'applique les contrôles d'accès
2410 qu'aux méthodes <code>POST</code>, <code>PUT</code>, et
2411 <code>DELETE</code>, en laissant les autres méthodes sans protection
2415 <Limit POST PUT DELETE><br />
2417 Require valid-user<br />
2422 <p>La liste des noms de méthodes peut contenir une ou plusieurs
2423 valeurs parmi les suivantes : <code>GET</code>, <code>POST</code>,
2424 <code>PUT</code>, <code>DELETE</code>, <code>CONNECT</code>,
2425 <code>OPTIONS</code>, <code>PATCH</code>, <code>PROPFIND</code>,
2426 <code>PROPPATCH</code>, <code>MKCOL</code>, <code>COPY</code>,
2427 <code>MOVE</code>, <code>LOCK</code>, et <code>UNLOCK</code>.
2428 <strong>Le nom de méthode est sensible à la casse.</strong> Si la
2429 valeur <code>GET</code> est présente, les requêtes <code>HEAD</code>
2430 seront aussi concernées. La méthode <code>TRACE</code> ne peut pas
2431 être limitée (voir la directive <directive
2432 module="core">TraceEnable</directive>).</p>
2434 <note type="warning">Une section <directive
2435 type="section">LimitExcept</directive> doit toujours être préférée à
2436 une section <directive type="section">Limit</directive> pour la
2437 restriction d'accès, car une section <directive type="section"
2438 module="core">LimitExcept</directive> fournit une protection contre
2439 les méthodes arbitraires.</note>
2441 <p>Les directives <directive type="section">Limit</directive> et
2442 <directive type="section" module="core">LimitExcept</directive>
2443 peuvent être imbriquées. Dans ce cas, pour chaque niveau des
2444 directives <directive type="section">Limit</directive> ou <directive
2445 type="section" module="core">LimitExcept</directive>, ces dernières
2446 doivent restreindre l'accès pour les méthodes auxquelles les
2447 contrôles d'accès s'appliquent.</p>
2449 <note type="warning">Lorsqu'on utilise les directives <directive
2450 type="section">Limit</directive> ou <directive
2451 type="section">LimitExcept</directive> avec la directive <directive
2452 module="mod_authz_core">Require</directive>, la première directive
2453 <directive module="mod_authz_core">Require</directive> dont la
2454 condition est satisfaite autorise la requête, sans tenir compte de
2455 la présence d'autres directives <directive
2456 module="mod_authz_core">Require</directive>.</note>
2458 <p>Par exemple, avec la configuration suivante, tous les
2459 utilisateurs seront autorisés à effectuer des requêtes
2460 <code>POST</code>, et la directive <code>Require group
2461 editors</code> sera ignorée dans tous les cas :</p>
2464 <LimitExcept GET>
2468 </LimitExcept><br />
2471 Require group editors
2476 </directivesynopsis>
2478 <directivesynopsis type="section">
2479 <name>LimitExcept</name>
2480 <description>Applique les contrôles d'accès à toutes les méthodes HTTP,
2481 sauf celles qui sont spécifiées</description>
2482 <syntax><LimitExcept <var>méthode</var> [<var>méthode</var>] ... > ...
2483 </LimitExcept></syntax>
2484 <contextlist><context>directory</context><context>.htaccess</context>
2486 <override>AuthConfig, Limit</override>
2489 <p><directive type="section">LimitExcept</directive> et
2490 <code></LimitExcept></code> permettent de regrouper des
2491 directives de contrôle d'accès qui s'appliqueront à toutes les
2492 méthodes d'accès HTTP qui ne font <strong>pas</strong> partie de la
2493 liste des arguments ; en d'autres termes, elles ont un comportement
2494 opposé à celui de la section <directive type="section"
2495 module="core">Limit</directive>, et on peut les utiliser pour
2496 contrôler aussi bien les méthodes standards que les méthodes non
2497 standards ou non reconnues. Voir la documentation de la section
2498 <directive module="core" type="section">Limit</directive> pour plus
2499 de détails.</p>
2501 <p>Par exemple :</p>
2504 <LimitExcept POST GET><br />
2506 Require valid-user<br />
2508 </LimitExcept>
2512 </directivesynopsis>
2515 <name>LimitInternalRecursion</name>
2516 <description>Détermine le nombre maximal de redirections internes et de
2517 sous-requêtes imbriquées</description>
2518 <syntax>LimitInternalRecursion <var>nombre</var> [<var>nombre</var>]</syntax>
2519 <default>LimitInternalRecursion 10</default>
2520 <contextlist><context>server config</context><context>virtual
2523 <compatibility>Disponible à partir de la version 2.0.47 d'Apache httpd</compatibility>
2526 <p>Une redirection interne survient, par exemple, quand on utilise
2527 la directive <directive module="mod_actions">Action</directive> qui
2528 redirige en interne la requête d'origine vers un script CGI. Une
2529 sous-requête est le mécanisme qu'utilise Apache httpd pour déterminer ce
2530 qui se passerait pour un URI s'il faisait l'objet d'une requête. Par
2531 exemple, <module>mod_dir</module> utilise les sous-requêtes pour
2532 rechercher les fichiers listés dans la directive <directive
2533 module="mod_dir">DirectoryIndex</directive>.</p>
2535 <p>La directive <directive>LimitInternalRecursion</directive> permet
2536 d'éviter un crash du serveur dû à un bouclage infini de redirections
2537 internes ou de sous-requêtes. De tels bouclages sont dus en général
2538 à des erreurs de configuration.</p>
2540 <p>La directive accepte, comme arguments, deux limites qui sont
2541 évaluées à chaque requête. Le premier <var>nombre</var> est le
2542 nombre maximum de redirections internes qui peuvent se succéder. Le
2543 second <var>nombre</var> détermine la profondeur d'imbrication
2544 maximum des sous-requêtes. Si vous ne spécifiez qu'un seul
2545 <var>nombre</var>, il sera affecté aux deux limites.</p>
2547 <example><title>Exemple</title>
2548 LimitInternalRecursion 5
2551 </directivesynopsis>
2554 <name>LimitRequestBody</name>
2555 <description>limite la taille maximale du corps de la requête HTTP
2556 envoyée par le client</description>
2557 <syntax>LimitRequestBody <var>octets</var></syntax>
2558 <default>LimitRequestBody 0</default>
2559 <contextlist><context>server config</context><context>virtual
2561 <context>directory</context><context>.htaccess</context>
2563 <override>All</override>
2566 <p>Cette directive spécifie la taille maximale autorisée pour le
2567 corps d'une requête ; la valeur de l'argument <var>octets</var> va
2568 de 0 (pour une taille illimitée), à 2147483647 (2Go). Voir la note
2569 ci-dessous pour la limite d'applicabilité aux requêtes mandatées.</p>
2571 <p>La directive <directive>LimitRequestBody</directive> permet de
2572 définir une limite pour la taille maximale autorisée du corps d'une
2573 requête HTTP en tenant compte du contexte dans lequel la directive
2574 a été placée (c'est à dire au niveau du serveur, d'un répertoire,
2575 d'un fichier ou d'une localisation). Si la requête du client dépasse
2576 cette limite, le serveur répondra par un message d'erreur et ne
2577 traitera pas la requête. La taille du corps d'une requête normale va
2578 varier de manière importante en fonction de la nature de la
2579 ressource et des méthodes autorisées pour cette dernière. Les
2580 scripts CGI utilisent souvent le corps du message pour extraire les
2581 informations d'un formulaire. Les implémentations de la méthode
2582 <code>PUT</code> nécessitent une valeur au moins aussi élevée que la
2583 taille maximale des représentations que le serveur désire accepter
2584 pour cette ressource.</p>
2586 <p>L'administrateur du serveur peut utiliser cette directive pour
2587 contrôler plus efficacement les comportements anormaux des requêtes
2588 des clients, ce qui lui permettra de prévenir certaines formes
2589 d'attaques par déni de service.</p>
2591 <p>Si par exemple, vous autorisez le chargement de fichiers vers une
2592 localisation particulière, et souhaitez limiter la taille des
2593 fichiers chargés à 100Ko, vous pouvez utiliser la directive suivante
2597 LimitRequestBody 102400
2600 <note><p>Pour une description détaillée de la manière dont cette
2601 directive est interprétée par les requêtes mandatées, voir la
2602 documentation du module <module>mod_proxy</module>.</p>
2606 </directivesynopsis>
2609 <name>LimitRequestFields</name>
2610 <description>Limite le nombre de champs d'en-tête autorisés dans une
2611 requête HTTP</description>
2612 <syntax>LimitRequestFields <var>nombre</var></syntax>
2613 <default>LimitRequestFields 100</default>
2614 <contextlist><context>server config</context><context>virtual host</context></contextlist>
2617 <p><var>nombre</var> est un entier de 0 (nombre de champs illimité)
2618 à 32767. La valeur par défaut est définie à la compilation par la
2619 constante <code>DEFAULT_LIMIT_REQUEST_FIELDS</code> (100 selon la
2622 <p>La directive <directive>LimitRequestFields</directive> permet à
2623 l'administrateur du serveur de modifier le nombre maximum de champs
2624 d'en-tête autorisés dans une requête HTTP. Pour un serveur, cette
2625 valeur doit être supérieure au nombre de champs qu'une requête
2626 client normale peut contenir. Le nombre de champs d'en-tête d'une
2627 requête qu'un client utilise dépasse rarement 20, mais ce nombre
2628 peut varier selon les implémentations des clients, et souvent en
2629 fonction des extensions que les utilisateurs configurent dans leurs
2630 navigateurs pour supporter la négociation de contenu détaillée. Les
2631 extensions HTTP optionnelles utilisent souvent les
2632 champs d'en-tête des requêtes.</p>
2634 <p>L'administrateur du serveur peut utiliser cette directive pour
2635 contrôler plus efficacement les comportements anormaux des requêtes
2636 des clients, ce qui lui permettra de prévenir certaines formes
2637 d'attaques par déni de service. La valeur spécifiée doit être
2638 augmentée si les clients standards reçoivent une erreur du serveur
2639 indiquant que la requête comportait un nombre d'en-têtes trop
2642 <p>Par exemple :</p>
2645 LimitRequestFields 50
2648 <note type="warning"><title>Avertissement</title>
2649 <p>Dans le cas des serveurs virtuels à base de noms, la valeur de
2650 cette directive est extraite du serveur virtuel par défaut (le
2651 premier de la liste) pour la paire adresse IP/port.</p>
2655 </directivesynopsis>
2658 <name>LimitRequestFieldSize</name>
2659 <description>Dédinit la taille maximale autorisée d'un en-tête de
2660 requête HTTP</description>
2661 <syntax>LimitRequestFieldSize <var>octets</var></syntax>
2662 <default>LimitRequestFieldSize 8190</default>
2663 <contextlist><context>server config</context><context>virtual host</context></contextlist>
2666 <p>Cette directive permet de définir le nombre maximum
2667 d'<var>octets</var> autorisés dans un en-tête de requête HTTP.</p>
2669 <p>La directive <directive>LimitRequestFieldSize</directive> permet
2670 à l'administrateur du serveur de définir la taille
2671 maximale autorisée d'un en-tête de requête HTTP. Pour un serveur,
2672 cette valeur doit être suffisamment grande pour contenir tout
2673 en-tête d'une requête client normale. La taille d'un champ d'en-tête
2674 de requête normal va varier selon les implémentations des clients,
2675 et en fonction des extensions que les utilisateurs
2676 configurent dans leurs navigateurs pour supporter la négociation de
2677 contenu détaillée. Les en-têtes d'authentification SPNEGO peuvent
2678 atteindre une taille de 12392 octets.</p>
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.</p>
2685 <p>Par exemple ::</p>
2688 LimitRequestFieldSize 4094
2691 <note>Dans des conditions normales, la valeur par défaut de cette
2692 directive ne doit pas être modifiée. En outre, vous ne
2693 pouvez pas spécifier une valeur supérieure à 8190 sans modifier le
2694 code source et recompiler.</note>
2696 <note type="warning"><title>Avertissement</title>
2697 <p>Dans le cas des serveurs virtuels à base de noms, la valeur de
2698 cette directive est extraite du serveur virtuel par défaut (le
2699 premier de la liste) pour lequel la paire adresse IP/port
2700 correspond le mieux.</p>
2703 </directivesynopsis>
2706 <name>LimitRequestLine</name>
2707 <description>Définit la taille maximale d'une ligne de requête
2709 <syntax>LimitRequestLine <var>octets</var></syntax>
2710 <default>LimitRequestLine 8190</default>
2711 <contextlist><context>server config</context><context>virtual host</context></contextlist>
2714 <p>Cette directive permet de définir la taille maximale autorisée
2715 pour une ligne de requête HTTP en <var>octets</var>.</p>
2717 <p>La directive <directive>LimitRequestLine</directive> permet à
2718 l'administrateur du serveur de définir la taille
2719 maximale autorisée d'une ligne de requête HTTP client. Comme une
2720 requête comporte une méthode HTTP, un URI, et une version de
2721 protocole, la directive <directive>LimitRequestLine</directive>
2722 impose une restriction sur la longueur maximale autorisée pour un
2723 URI dans une requête au niveau du serveur. Pour un serveur, cette
2724 valeur doit être suffisamment grande pour référencer les noms de
2725 toutes ses ressources, y compris toutes informations pouvant être
2726 ajoutées dans la partie requête d'une méthode <code>GET</code>.</p>
2728 <p>L'administrateur du serveur peut utiliser cette directive pour
2729 contrôler plus efficacement les comportements anormaux des requêtes
2730 des clients, ce qui lui permettra de prévenir certaines formes
2731 d'attaques par déni de service.</p>
2733 <p>Par exemple :</p>
2736 LimitRequestLine 4094
2739 <note>Dans des conditions normales, la valeur par défaut de cette
2740 directive ne doit pas être modifiée. En outre, vous ne
2741 pouvez pas spécifier une valeur supérieure à 8190 sans modifier le
2742 code source et recompiler.</note>
2744 <note type="warning"><title>Avertissement</title>
2745 <p>Dans le cas des serveurs virtuels à base de noms, la valeur de
2746 cette directive est extraite du serveur virtuel par défaut (le
2747 premier de la liste) pour lequel la paire adresse IP/port
2748 correspond le mieux.</p>
2752 </directivesynopsis>
2755 <name>LimitXMLRequestBody</name>
2756 <description>Définit la taille maximale du corps d'une requête au format
2758 <syntax>LimitXMLRequestBody <var>octets</var></syntax>
2759 <default>LimitXMLRequestBody 1000000</default>
2760 <contextlist><context>server config</context><context>virtual
2762 <context>directory</context><context>.htaccess</context></contextlist>
2763 <override>All</override>
2766 <p>Taille maximale (en octets) du corps d'une requête au format XML.
2767 Une valeur de <code>0</code> signifie qu'aucune limite n'est
2773 LimitXMLRequestBody 0
2777 </directivesynopsis>
2779 <directivesynopsis type="section">
2780 <name>Location</name>
2781 <description>N'applique les directives contenues qu'aux URLs
2782 spécifiées</description>
2783 <syntax><Location
2784 <var>chemin URL</var>|<var>URL</var>> ... </Location></syntax>
2785 <contextlist><context>server config</context><context>virtual
2790 <p>La directive <directive type="section">Location</directive>
2791 limite la portée des directives contenues aux URLs définies par
2792 l'argument URL. Elle est similaire à la directive <directive
2793 type="section" module="core">Directory</directive>, et marque le
2794 début d'une section qui se termine par une directive
2795 <code></Location></code>. Les sections <directive
2796 type="section">Location</directive> sont traitées selon l'ordre dans
2797 lequel elles apparaissent dans le fichier de configuration, mais
2798 après les sections <directive
2799 type="section" module="core">Directory</directive> et la lecture des
2800 fichiers <code>.htaccess</code>, et après les sections <directive
2801 type="section" module="core">Files</directive>.</p>
2803 <p>Les sections <directive type="section">Location</directive>
2804 agissent complètement en dehors du système de fichiers. Ceci a de
2805 nombreuses conséquences. Parmi les plus importantes, on ne doit pas
2806 utiliser les sections <directive type="section">Location</directive>
2807 pour contrôler l'accès aux répertoires du système de fichiers. Comme
2808 plusieurs URLs peuvent correspondre au même répertoire du système de
2809 fichiers, un tel contrôle d'accès pourrait être contourné.</p>
2811 <p>Les directives que contient cette section seront appliquées aux
2812 requêtes si la partie chemin de l'URL satisfait à l'un au moins de
2813 ces critères :
2816 <li>Le chemin spécifié correspond exactement à la partie chemin de
2819 <li>Le chemin spécifié, qui se termine par un slash, est un
2820 préfixe de la partie chemin de l'URL (traité comme une racine du
2823 <li>Le chemin spécifié, si on lui ajoute un slash de fin, est un
2824 préfixe de la partie chemin de l'URL (aussi traité comme une racine du
2829 Dans l'exemple ci-dessous, où aucun slash de fin n'est utilisé, les
2830 directives contenues dans la section s'appliqueront à /private1,
2831 /private1/ et /private1/file.txt, mais pas à /private1other.
2834 <Location /private1>
2838 De même, dans l'exemple ci-dessous, où l'on utilise un slash de fin, les
2839 directives contenues dans la section s'appliqueront à /private2/ et
2840 à /private2/file.txt, mais pas à /private2other.
2843 <Location /private2<em>/</em>>
2847 <note><title>Quand utiliser la section <directive
2848 type="section">Location</directive></title>
2850 <p>Vous pouvez utiliser une section <directive
2851 type="section">Location</directive> pour appliquer des directives à
2852 des contenus situés en dehors du système de fichiers. Pour les
2853 contenus situés à l'intérieur du système de fichiers, utilisez
2854 plutôt les sections <directive
2855 type="section" module="core">Directory</directive> et <directive
2856 type="section" module="core">Files</directive>. <code><Location
2857 /></code> constitue une exception et permet d'appliquer aisément
2858 une configuration à l'ensemble du serveur.</p>
2861 <p>Pour toutes les requêtes originales (non mandatées), l'argument
2862 URL est un chemin d'URL de la forme
2863 <code>/chemin/</code>. <em>Aucun protocole, nom d'hôte, port, ou chaîne
2864 de requête ne doivent apparaître.</em> Pour les requêtes mandatées, l'URL
2865 spécifiée doit être de la forme
2866 <code>protocole://nom_serveur/chemin</code>, et vous devez inclure
2867 le préfixe.</p>
2869 <p>L'URL peut contenir des caractères génériques. Dans une chaîne
2870 avec caractères génériques, <code>?</code> correspond à un caractère
2871 quelconque, et <code>*</code> à toute chaîne de caractères. Les
2872 caractères génériques ne peuvent pas remplacer un / dans le chemin
2875 <p>On peut aussi utiliser les <glossary ref="regex">Expressions
2876 rationnelles</glossary>, moyennant l'addition d'un caractère
2877 <code>~</code>. Par exemple :</p>
2880 <Location ~ "/(extra|special)/data">
2883 <p>concernerait les URLs contenant les sous-chaîne
2884 <code>/extra/data</code> ou <code>/special/data</code>. La directive
2885 <directive type="section" module="core">LocationMatch</directive>
2886 présente un comportement identique à la version avec expressions
2887 rationnelles de la directive <directive
2888 type="section">Location</directive>, et son utilisation est
2889 préférable à l'utilisation de cette dernière pour la simple raison
2890 qu'il est difficile de distinguer <code>~</code> de <code>-</code>
2891 dans la plupart des fontes.</p>
2893 <p>La directive <directive type="section">Location</directive>
2894 s'utilise principalement avec la directive <directive
2895 module="core">SetHandler</directive>. Par exemple, pour activer les
2896 requêtes d'état, mais ne les autoriser que depuis des navigateurs
2897 appartenant au domaine <code>example.com</code>, vous pouvez
2901 <Location /status><br />
2903 SetHandler server-status<br />
2904 Require host example.com<br />
2909 <note><title>Note à propos du slash (/)</title>
2910 <p>La signification du caractère slash dépend de l'endroit où il
2911 se trouve dans l'URL. Les utilisateurs peuvent être habitués à
2912 son comportement dans le système de fichiers où plusieurs slashes
2913 successifs sont souvent réduits à un slash unique (en d'autres
2914 termes, <code>/home///foo</code> est identique à
2915 <code>/home/foo</code>). Dans l'espace de nommage des URLs, ce
2916 n'est cependant pas toujours le cas. Pour la directive <directive
2917 type="section" module="core">LocationMatch</directive> et la
2918 version avec expressions rationnelles de la directive <directive
2919 type="section">Location</directive>, vous devez spécifier
2920 explicitement les slashes multiples si telle est votre
2923 <p>Par exemple, <code><LocationMatch ^/abc></code> va
2924 correspondre à l'URL <code>/abc</code> mais pas à l'URL <code>
2925 //abc</code>. La directive <directive type="section"
2926 >Location</directive> sans expression rationnelle se comporte de
2927 la même manière lorsqu'elle est utilisée pour des requêtes
2928 mandatées. Par contre, lorsque la directive <directive
2929 type="section">Location</directive> sans expression rationnelle
2930 est utilisée pour des requêtes non mandatées, elle fera
2931 correspondre implicitement les slashes multiples à des slashes
2932 uniques. Par exemple, si vous spécifiez <code><Location
2933 /abc/def></code>, une requête de la forme
2934 <code>/abc//def</code> correspondra.</p>
2937 <seealso><a href="../sections.html">Comment fonctionnent les sections
2938 <Directory>, <Location> et <Files></a> pour une
2939 explication de la manière dont ces différentes sections se combinent
2940 entre elles à la réception d'une requête.</seealso>
2941 </directivesynopsis>
2943 <directivesynopsis type="section">
2944 <name>LocationMatch</name>
2945 <description>N'applique les directives contenues qu'aux URLs
2946 correspondant à une expression rationnelle</description>
2947 <syntax><LocationMatch
2948 <var>regex</var>> ... </LocationMatch></syntax>
2949 <contextlist><context>server config</context><context>virtual
2954 <p>La directive <directive type="section">LocationMatch</directive>
2955 limite la portée des directives contenues à l'URL spécifiée, de
2956 manière identique à la directive <directive module="core"
2957 type="section">Location</directive>. Mais son argument permettant de
2958 spécifier les URLs concernées est une <glossary
2959 ref="regex">expression rationnelle</glossary> au lieu d'une simple
2960 chaîne de caractères. Par exemple :</p>
2963 <LocationMatch "/(extra|special)/data">
2966 <p>correspondrait à toute URL contenant les sous-chaînes
2967 <code>/extra/data</code> ou <code>/special/data</code>.</p>
2969 <seealso><a href="../sections.html">Comment fonctionnent les sections
2970 <Directory>, <Location> et <Files></a> pour une
2971 explication de la manière dont ces différentes sections se combinent
2972 entre elles à la réception d'une requête.</seealso>
2973 </directivesynopsis>
2976 <name>LogLevel</name>
2977 <description>Contrôle la verbosité du journal des erreurs</description>
2978 <syntax>LogLevel [<var>module</var>:]<var>niveau</var>
2979 [<var>module</var>:<var>niveau</var>] ...
2981 <default>LogLevel warn</default>
2982 <contextlist><context>server config</context><context>virtual
2983 host</context><context>directory</context>
2985 <compatibility>La configuration du niveau de journalisation par module
2986 et par répertoire est disponible depuis la version 2.3.6 du serveur HTTP
2987 Apache</compatibility>
2989 <p>La directive <directive>LogLevel</directive> permet d'ajuster la
2990 verbosité des messages enregistrés dans les journaux d'erreur (voir
2991 la directive <directive module="core">ErrorLog</directive>
2992 directive). Les <var>niveau</var>x disponibles sont présentés
2993 ci-après, par ordre de criticité décroissante :</p>
2996 <columnspec><column width=".2"/><column width=".3"/><column width=".5"/>
2999 <th><strong>Niveau</strong> </th>
3001 <th><strong>Description</strong> </th>
3003 <th><strong>Exemple</strong> </th>
3007 <td><code>emerg</code> </td>
3009 <td>Urgences - le système est inutilisable.</td>
3011 <td>"Child cannot open lock file. Exiting"</td>
3015 <td><code>alert</code> </td>
3017 <td>Des mesures doivent être prises immédiatement.</td>
3019 <td>"getpwuid: couldn't determine user name from uid"</td>
3023 <td><code>crit</code> </td>
3025 <td>Conditions critiques.</td>
3027 <td>"socket: Failed to get a socket, exiting child"</td>
3031 <td><code>error</code> </td>
3035 <td>"Premature end of script headers"</td>
3039 <td><code>warn</code> </td>
3041 <td>Avertissements.</td>
3043 <td>"child process 1234 did not exit, sending another
3048 <td><code>notice</code> </td>
3050 <td>Evènement important mais normal.</td>
3052 <td>"httpd: caught SIGBUS, attempting to dump core in
3057 <td><code>info</code> </td>
3059 <td>Informations.</td>
3061 <td>"Server seems busy, (you may need to increase
3062 StartServers, or Min/MaxSpareServers)..."</td>
3066 <td><code>debug</code> </td>
3068 <td>Messages de débogage.</td>
3070 <td>"Opening config file ..."</td>
3073 <td><code>trace1</code> </td>
3075 <td>Messages de traces</td>
3077 <td>"proxy: FTP: control connection complete"</td>
3080 <td><code>trace2</code> </td>
3082 <td>Messages de traces</td>
3084 <td>"proxy: CONNECT: sending the CONNECT request to the remote proxy"</td>
3087 <td><code>trace3</code> </td>
3089 <td>Messages de traces</td>
3091 <td>"openssl: Handshake: start"</td>
3094 <td><code>trace4</code> </td>
3096 <td>Messages de traces</td>
3098 <td>"read from buffered SSL brigade, mode 0, 17 bytes"</td>
3101 <td><code>trace5</code> </td>
3103 <td>Messages de traces</td>
3105 <td>"map lookup FAILED: map=rewritemap key=keyname"</td>
3108 <td><code>trace6</code> </td>
3110 <td>Messages de traces</td>
3112 <td>"cache lookup FAILED, forcing new map lookup"</td>
3115 <td><code>trace7</code> </td>
3117 <td>Messages de traces, enregistrement d'une grande quantité de
3120 <td>"| 0000: 02 23 44 30 13 40 ac 34 df 3d bf 9a 19 49 39 15 |"</td>
3123 <td><code>trace8</code> </td>
3125 <td>Messages de traces, enregistrement d'une grande quantité de
3128 <td>"| 0000: 02 23 44 30 13 40 ac 34 df 3d bf 9a 19 49 39 15 |"</td>
3132 <p>Lorsqu'un niveau particulier est spécifié, les messages de tous
3133 les autres niveaux de criticité supérieure seront aussi enregistrés.
3134 <em>Par exemple</em>, si <code>LogLevel info</code> est spécifié,
3135 les messages de niveaux <code>notice</code> et <code>warn</code>
3136 seront aussi émis.</p>
3138 <p>Il est recommandé d'utiliser un niveau <code>crit</code> ou
3139 inférieur.</p>
3141 <p>Par exemple :</p>
3147 <note><title>Note</title>
3148 <p>Si la journalisation s'effectue directement dans un fichier,
3149 les messages de niveau <code>notice</code> ne peuvent pas être
3150 supprimés et sont donc toujours journalisés. Cependant, ceci ne
3151 s'applique pas lorsque la journalisation s'effectue vers
3152 <code>syslog</code>.</p>
3155 <p>Spécifier un niveau sans nom de module va attribuer ce niveau à
3156 tous les modules. Spécifier un niveau avec nom de module va
3157 attribuer ce niveau à ce module seulement. Il est possible de
3158 spécifier un module par le nom de son fichier source ou par son
3159 identificateur, avec ou sans le suffixe <code>_module</code>. Les
3160 trois spécifications suivantes sont donc équivalentes :</p>
3163 LogLevel info ssl:warn<br />
3164 LogLevel info mod_ssl.c:warn<br />
3165 LogLevel info ssl_module:warn<br />
3168 <p>Il est aussi possible d'attribuer un niveau de journalisation par
3169 répertoire :</p>
3173 <Directory /usr/local/apache/htdocs/app><br />
3174 LogLevel debug<br />
3179 La configuration du niveau de journalisation par répertoire
3180 n'affecte que les messages journalisés après l'interprétation de
3181 la requête et qui sont associés à cette dernière. Les messages
3182 de journalisation associés à la connexion ou au serveur ne sont
3183 pas affectés.
3186 </directivesynopsis>
3189 <name>MaxKeepAliveRequests</name>
3190 <description>Nombre de requêtes permises pour une connexion
3191 persistante</description>
3192 <syntax>MaxKeepAliveRequests <var>nombre</var></syntax>
3193 <default>MaxKeepAliveRequests 100</default>
3194 <contextlist><context>server config</context><context>virtual
3199 <p>La directive <directive>MaxKeepAliveRequests</directive> permet
3200 de limiter le nombre de requêtes autorisées par connexion lorsque
3201 <directive module="core" >KeepAlive</directive> est à "on". Si sa
3202 valeur est <code>0</code>, le nombre de requêtes autorisées est
3203 illimité. Il est recommandé de définir une valeur assez haute pour
3204 des performances du serveur maximales.</p>
3206 <p>Par exemple :</p>
3209 MaxKeepAliveRequests 500
3212 </directivesynopsis>
3215 <name>MaxRanges</name>
3216 <description>Nombre de segments de données autorisé avant le renvoi de
3217 l'intégralité de la ressource</description>
3218 <syntax>MaxRanges default | unlimited | none | <var>nombre de segments</var></syntax>
3219 <default>MaxRanges 200</default>
3220 <contextlist><context>server config</context><context>virtual host</context>
3221 <context>directory</context>
3223 <compatibility>Disponible depuis la version 2.3.15 du serveur HTTP
3224 Apache</compatibility>
3227 <p>La directive <directive>MaxRanges</directive> permet de limiter
3228 le nombre de segments de données que le serveur va renvoyer au
3229 client. Si un nombre de segments plus important est demandé, la
3230 ressource sera renvoyée dans son intégralité.</p>
3233 <dt><strong>default</strong></dt>
3234 <dd>Limite le nombre de segments de données à 200 (valeur par
3235 défaut définie à la compilation).</dd>
3237 <dt><strong>none</strong></dt>
3238 <dd>Les en-têtes Range sont ignorés.</dd>
3240 <dt><strong>unlimited</strong></dt>
3241 <dd>Le nombre de segments de données est illimité.</dd>
3243 <dt><var>nombre de segments</var></dt>
3244 <dd>Un nombre positif représentera la nombre de segments de
3245 données maximal que le serveur renverra au client.</dd>
3248 </directivesynopsis>
3251 <name>MaxRangeOverlaps</name>
3252 <description>Nombre de chevauchements de segments de données autorisé
3253 (par exemple <code>100-200,150-300</code>) avant le renvoi de la
3254 ressource complète</description>
3255 <syntax>MaxRangeOverlaps default | unlimited | none | <var>nombre de
3256 chevauchements</var></syntax>
3257 <default>MaxRangeOverlaps 20</default>
3258 <contextlist><context>server config</context><context>virtual host</context>
3259 <context>directory</context>
3261 <compatibility>Disponible depuis la version 2.3.15 du serveur HTTP
3262 Apache</compatibility>
3265 <p>La directive <directive>MaxRangeOverlaps</directive> permet
3266 de limiter le nombre de chevauchements de segments de données HTTP
3267 autorisé par le serveur. Si le nombre de
3268 chevauchements de segments demandé est supérieur au nombre maximal
3269 autorisé, la ressource sera renvoyée dans son intégralité.</p>
3272 <dt><strong>default</strong></dt>
3273 <dd>Limite le nombre de chevauchements de segments à la valeur
3274 par défaut 20 définie à la compilation.</dd>
3276 <dt><strong>none</strong></dt>
3277 <dd>Aucun chevauchement de segment n'est autorisé.</dd>
3279 <dt><strong>unlimited</strong></dt>
3280 <dd>Le nombre de chevauchements de segments est illimité.</dd>
3282 <dt><var>number-of-ranges</var></dt>
3283 <dd>Un nombre positif représente le nombre maximal de
3284 chevauchements de segments autorisé par le serveur.</dd>
3287 </directivesynopsis>
3290 <name>MaxRangeReversals</name>
3291 <description>Nombre d'inversions d'ordre autorisé dans la spécification des
3292 segments de données (par exemple <code>100-200,50-70</code>) avant le renvoi de la
3293 ressource complète</description>
3294 <syntax>MaxRangeReversals default | unlimited | none | <var>nombre
3295 d'inversions</var></syntax>
3296 <default>MaxRangeReversals 20</default>
3297 <contextlist><context>server config</context><context>virtual host</context>
3298 <context>directory</context>
3300 <compatibility>Disponible depuis la version 2.3.15 du serveur HTTP
3301 Apache</compatibility>
3304 <p>La directive <directive>MaxRangeReversals</directive> permet
3305 de limiter le nombre d'inversions d'ordre dans la spécification
3306 des segments de données HTTP
3307 autorisé par le serveur. Si le nombre
3308 d'inversions demandé est supérieur au nombre maximal
3309 autorisé, la ressource sera renvoyée dans son intégralité.</p>
3312 <dt><strong>default</strong></dt>
3313 <dd>Limite le nombre d'inversions à la valeur
3314 par défaut 20 définie à la compilation.</dd>
3316 <dt><strong>none</strong></dt>
3317 <dd>Aucune inversion n'est autorisée.</dd>
3319 <dt><strong>unlimited</strong></dt>
3320 <dd>Le nombre d'inversions est illimité.</dd>
3322 <dt><var>number-of-ranges</var></dt>
3323 <dd>Un nombre positif représente le nombre maximal
3324 d'inversions autorisé par le serveur.</dd>
3327 </directivesynopsis>
3331 <description>Définit les mécanismes de mutex et le repertoire du fichier
3332 verrou pour tous les mutex ou seulement les mutex spécifiés</description>
3333 <syntax>Mutex <var>mécanisme</var> [default|<var>nom-mutex</var>] ... [OmitPID]</syntax>
3334 <default>Mutex default</default>
3335 <contextlist><context>server config</context></contextlist>
3336 <compatibility>Disponible depuis la version 2.3.4 du serveur HTTP Apache</compatibility>
3339 <p>La directive <directive>Mutex</directive> permet de définir le
3340 mécanisme de mutex, et éventuellement le répertoire du fichier
3341 verrou que les modules et httpd utilisent pour sérialiser l'accès aux
3342 ressources. Spécifiez <code>default</code> comme premier argument
3343 pour modifier la configuration de tous les mutex ; spécifiez un nom
3344 de mutex (voir la table ci-dessous) comme premier argument pour
3345 ne modifier que la configuration de ce mutex.</p>
3347 <p>La directive <directive>Mutex</directive> est typiquement
3348 utilisée dans les situations exceptionnelles suivantes :</p>
3351 <li>choix d'un autre mécanisme de mutex lorsque le mécanisme par
3352 défaut sélectionné par <glossary>APR</glossary> présente un
3353 problème de fonctionnement ou de performances.</li>
3355 <li>choix d'un autre répertoire utilisé par les mutex à base de
3356 fichier lorsque le répertoire par défaut ne supporte pas le
3360 <note><title>Modules supportés</title>
3361 <p>Cette directive ne configure que les mutex qui ont été
3362 enregistrés avec le serveur de base via l'API
3363 <code>ap_mutex_register()</code>. Tous les modules fournis avec
3364 httpd supportent la directive <directive>Mutex</directive>, mais il
3365 n'en sera pas forcément de même pour les modules tiers.
3366 Reportez-vous à la documentation du module tiers considéré afin de
3367 déterminer le(s) nom(s) de mutex qui pourront être définis si la
3368 directive est supportée.</p>
3373 <p>Les <em>mécanismes</em> de mutex disponibles sont les suivants :</p>
3375 <li><code>default | yes</code>
3376 <p>C'est l'implémentation du verrouillage par défaut, telle
3377 qu'elle est définie par <glossary>APR</glossary>. On peut
3378 afficher l'implémentation du verrouillage par défaut via la
3379 commande <program>httpd</program> avec l'option <code>-V</code>.</p></li>
3381 <li><code>none | no</code>
3382 <p>Le mutex est désactivé, et cette valeur n'est permise pour un
3383 mutex que si le module indique qu'il s'agit d'un choix valide.
3384 Consultez la documentation du module pour plus d'informations.</p></li>
3386 <li><code>posixsem</code>
3387 <p>Une variante de mutex basée sur un sémaphore Posix.</p>
3389 <note type="warning"><title>Avertissement</title>
3390 <p>La propriété du sémaphore n'est pas restituée si un thread du
3391 processus gérant le mutex provoque une erreur de segmentation,
3392 ce qui provoquera un blocage du serveur web.</p>
3396 <li><code>sysvsem</code>
3397 <p>Une variante de mutex basée sur un sémaphore IPC SystemV.</p>
3399 <note type="warning"><title>Avertissement</title>
3400 <p>Il peut arriver que les sémaphores SysV soient conservés si le
3401 processus se crashe avant que le sémaphore ne soit supprimé.</p>
3404 <note type="warning"><title>Sécurité</title>
3405 <p>L'API des sémaphores permet les attaques par déni de service
3406 par tout programme CGI s'exécutant sous le même uid que le
3407 serveur web (autrement dit tous les programmes CGI, à moins que
3408 vous n'utilisiez un programme du style <program>suexec</program>
3409 ou <code>cgiwrapper</code>).</p>
3413 <li><code>sem</code>
3414 <p>Sélection de la "meilleure" implémentation des sémaphores
3415 disponible ; le choix s'effectue entre les sémaphores posix et
3416 IPC SystemV, dans cet ordre.</p></li>
3418 <li><code>pthread</code>
3419 <p>Une variante de mutex à base de mutex de thread Posix
3420 inter-processus.</p>
3422 <note type="warning"><title>Avertissement</title>
3423 <p>Sur la plupart des systèmes, si un processus enfant se
3424 termine anormalement alors qu'il détenait un mutex qui utilise
3425 cette implémentation, le serveur va se bloquer et cesser de
3426 répondre aux requêtes. Dans ce cas, un redémarrage manuel est
3427 nécessaire pour récupérer le mutex.</p>
3428 <p>Solaris constitue une exception notable, en ceci qu'il fournit
3429 un mécanisme qui permet en général de récupérer le mutex après
3430 l'arrêt anormal d'un processus enfant qui détenait le mutex.</p>
3431 <p>Si votre système implémente la fonction
3432 <code>pthread_mutexattr_setrobust_np()</code>, vous devriez
3433 pouvoir utiliser l'option <code>pthread</code> sans problème.</p>
3437 <li><code>fcntl:/chemin/vers/mutex</code>
3438 <p>Une variante de mutex utilisant un fichier verrou physique et
3439 la fonction <code>fcntl()</code>.</p>
3441 <note type="warning"><title>Avertissement</title>
3442 <p>Lorsqu'on utilise plusieurs mutex basés sur ce mécanisme dans
3443 un environnement multi-processus, multi-thread, des erreurs de
3444 blocage (EDEADLK) peuvent être rapportées pour des opérations de
3445 mutex valides si la fonction <code>fcntl()</code> ne gère pas
3446 les threads, comme sous Solaris.</p>
3450 <li><code>flock:/chemin/vers/mutex</code>
3451 <p>Méthode similaire à <code>fcntl:/chemin/vers/mutex</code>,
3452 mais c'est la fonction <code>flock()</code> qui est utilisée
3453 pour gérer le verrouillage par fichier.</p></li>
3455 <li><code>file:/chemin/vers/mutex</code>
3456 <p>Sélection de la "meilleure" implémentation de verrouillage
3457 par fichier disponible ; le choix s'effectue entre
3458 <code>fcntl</code> et <code>flock</code>, dans cet ordre.</p></li>
3461 <p>La plupart des mécanismes ne sont disponibles que sur les
3462 plate-formes où ces dernières et <glossary>APR</glossary> les
3463 supportent. Les mécanismes qui ne sont pas disponibles sur toutes
3464 les plate-formes sont <em>posixsem</em>,
3465 <em>sysvsem</em>, <em>sem</em>, <em>pthread</em>, <em>fcntl</em>,
3466 <em>flock</em>, et <em>file</em>.</p>
3468 <p>Avec les mécanismes à base de fichier <em>fcntl</em> et
3469 <em>flock</em>, le chemin, s'il est fourni, est un répertoire dans
3470 lequel le fichier verrou sera créé. Le répertoire par défaut est le
3471 répertoire httpd défini par la directive <directive
3472 module="core">ServerRoot</directive>. Utilisez toujours un système
3473 de fichiers local sur disque pour <code>/chemin/vers/mutex</code> et
3474 jamais un répertoire se trouvant dans un système de fichiers NFS ou
3475 AFS. Le nom de base du fichier se composera du type de mutex, d'une
3476 chaîne optionnelle correspondant à l'instance et fournie par le
3477 module ; et, sauf si le mot-clé <code>OmitPID</code> a été spécifié,
3478 l'identificateur du processus parent httpd sera ajouté afin de
3479 rendre le nom du fichier unique, évitant ainsi tout conflit lorsque
3480 plusieurs instances d'httpd partagent le même répertoire de
3481 verrouillage. Par exemple, si le nom de mutex est
3482 <code>mpm-accept</code>, et si le répertoire de verrouillage est
3483 <code>/var/httpd/locks</code>, le nom du fichier verrou pour
3484 l'instance httpd dont le processus parent a pour identifiant 12345
3485 sera <code>/var/httpd/locks/mpm-accept.12345</code>.</p>
3487 <note type="warning"><title>Sécurité</title>
3488 <p>Il est conseillé d'<em>éviter</em> de placer les fichiers mutex
3489 dans un répertoire où tout le monde peut écrire comme
3490 <code>/var/tmp</code>, car quelqu'un pourrait initier une attaque
3491 par déni de service et empêcher le serveur de démarrer en créant un
3492 fichier verrou possédant un nom identique à celui que le serveur va
3493 tenter de créer.</p>
3496 <p>La table suivante décrit les noms de mutex utilisés par httpd et
3497 ses modules associés.</p>
3499 <table border="1" style="zebra">
3503 <th>Ressource protégée</th>
3506 <td><code>mpm-accept</code></td>
3507 <td>modules MPM <module>prefork</module> et <module>worker</module></td>
3508 <td>connexions entrantes, afin d'éviter le problème de
3509 l'afflux de requêtes ; pour plus d'informations, voir la
3511 href="../misc/perf-tuning.html">Amélioration des
3512 performances</a></td>
3515 <td><code>authdigest-client</code></td>
3516 <td><module>mod_auth_digest</module></td>
3517 <td>liste de clients en mémoire partagée</td>
3520 <td><code>authdigest-opaque</code></td>
3521 <td><module>mod_auth_digest</module></td>
3522 <td>compteur en mémoire partagée</td>
3525 <td><code>ldap-cache</code></td>
3526 <td><module>mod_ldap</module></td>
3527 <td>cache de résultat de recherche LDAP</td>
3530 <td><code>rewrite-map</code></td>
3531 <td><module>mod_rewrite</module></td>
3532 <td>communication avec des programmes externes
3533 d'associations de valeurs, afin d'éviter les interférences
3534 d'entrées/sorties entre plusieurs requêtes</td>
3537 <td><code>ssl-cache</code></td>
3538 <td><module>mod_ssl</module></td>
3539 <td>cache de session SSL</td>
3542 <td><code>ssl-stapling</code></td>
3543 <td><module>mod_ssl</module></td>
3544 <td>cache de l'étiquetage OCSP ("OCSP stapling")</td>
3547 <td><code>watchdog-callback</code></td>
3548 <td><module>mod_watchdog</module></td>
3549 <td>fonction de rappel d'un module client particulier</td>
3553 <p>Le mot-clé <code>OmitPID</code> permet d'empêcher l'addition de
3554 l'identifiant du processus httpd parent au nom du fichier verrou.</p>
3557 <p>Dans l'exemple suivant, le mécanisme de mutex pour le mutex
3558 mpm-accept est modifié pour passer du mécanisme par défaut au
3559 mécanisme <code>fcntl</code>, avec le fichier verrou associé créé
3560 dans le répertoire <code>/var/httpd/locks</code>. Le mécanisme de
3561 mutex par défaut pour tous les autres mutex deviendra
3562 <code>sysvsem</code>.</p>
3565 Mutex sysvsem default<br />
3566 Mutex fcntl:/var/httpd/locks mpm-accept
3569 </directivesynopsis>
3572 <name>NameVirtualHost</name>
3573 <description>OBSOLETE : Définit une adresse IP pour les serveurs virtuels à base de
3575 <syntax>NameVirtualHost <var>adresse</var>[:<var>port</var>]</syntax>
3576 <contextlist><context>server config</context></contextlist>
3580 <p>Avant la version 2.3.11, il était nécessaire de définir une
3581 directive <directive>NameVirtualHost</directive> pour indiquer au
3582 serveur qu'une paire adresse IP/port particulière pouvait être
3583 utilisée comme serveur virtuel à base de nom. Depuis la version
3584 2.3.11, chaque fois qu'une paire adresse IP/port est utilisée dans
3585 plusieurs serveurs virtuels, l'hébergement virtuel à base de nom est
3586 automatiquement activé pour cette adresse.</p>
3588 <p>Cette directive n'a actuellement plus aucun effet.</p>
3591 <seealso><a href="../vhosts/">Documentation sur les serveurs
3592 virtuels</a></seealso>
3594 </directivesynopsis>
3597 <name>Options</name>
3598 <description>Définit les fonctionnalités disponibles pour un répertoire
3599 particulier</description>
3601 [+|-]<var>option</var> [[+|-]<var>option</var>] ...</syntax>
3602 <default>Options FollowSymlinks</default>
3603 <contextlist><context>server config</context><context>virtual
3605 <context>directory</context><context>.htaccess</context>
3607 <override>Options</override>
3608 <compatibility>Avec la version 2.3.11, la valeur par défaut passe de All
3609 à FollowSymlinks</compatibility>
3612 <p>La directive <directive>Options</directive> permet de définir
3613 les fonctionnalités de serveur disponibles pour un répertoire
3616 <p><var>option</var> peut être défini à <code>None</code>, auquel
3617 cas aucune fonctionnalité spécifique n'est activée, ou comprendre
3618 une ou plusieurs des options suivantes :</p>
3621 <dt><code>All</code></dt>
3623 <dd>Toutes les options excepté <code>MultiViews</code>.</dd>
3625 <dt><code>ExecCGI</code></dt>
3627 <dd>L'exécution de scripts CGI à l'aide du module
3628 <module>mod_cgi</module> est permise.</dd>
3630 <dt><code>FollowSymLinks</code></dt>
3634 Le serveur va suivre les liens symboliques dans le répertoire
3635 concerné. Il s'agit de la valeur par défaut.
3637 <p>Bien que le serveur suive les liens symboliques, il ne modifie
3638 <em>pas</em> le nom de chemin concerné défini par la section
3639 <directive type="section"
3640 module="core">Directory</directive>.</p>
3641 <p>Notez aussi que cette option <strong>est ignorée</strong> si
3642 elle est définie dans une section <directive type="section"
3643 module="core">Location</directive>.</p>
3644 <p>Le fait d'omettre cette option ne doit pas être considéré comme
3645 une mesure de sécurité efficace, car il existe toujours une
3646 situation de compétition (race condition) entre l'instant où l'on
3647 vérifie qu'un chemin n'est pas un lien symbolique, et l'instant où
3648 l'on utilise effectivement ce chemin.</p>
3651 <dt><code>Includes</code></dt>
3654 Les inclusions côté serveur (SSI) à l'aide du module
3655 <module>mod_include</module> sont autorisées.</dd>
3657 <dt><code>IncludesNOEXEC</code></dt>
3661 Les inclusions côté serveur (SSI) sont permises, mais <code>#exec
3662 cmd</code> et <code>#exec cgi</code> sont désactivés.
3663 L'utilisation de <code>#include virtual</code> pour les scripts
3664 CGI est cependant toujours possible depuis des répertoires
3665 définis par <directive
3666 module="mod_alias">ScriptAlias</directive>.</dd>
3668 <dt><code>Indexes</code></dt>
3671 Si une URL requise correspond au répertoire concerné, et si aucun
3672 <directive module="mod_dir">DirectoryIndex</directive> (<em>par
3673 exemple</em> <code>index.html</code>) n'est défini pour ce
3674 répertoire, le module <module>mod_autoindex</module> va renvoyer
3675 un listing formaté du répertoire.</dd>
3677 <dt><code>MultiViews</code></dt>
3680 Les vues multiples ("multiviews") à <a
3681 href="../content-negotiation.html">contenu négocié</a> à l'aide du
3682 module <module>mod_negotiation</module> sont autorisées.
3683 <note><title>Note</title> <p>Cette option est ignorée si elle est
3684 définie en tout autre endroit qu'une section <directive
3685 module="core" type="section">Directory</directive>, car
3686 <module>mod_negotiation</module> a besoin de ressources réelles
3687 pour effectuer ses comparaisons et ses évaluations.</p></note>
3691 <dt><code>SymLinksIfOwnerMatch</code></dt>
3693 <dd>Le serveur ne suivra que les liens symboliques qui renvoient
3694 vers un fichier ou un répertoire dont le propriétaire est le même
3697 <note><title>Note</title> <p>Cette option est ignorée si elle est
3698 définie dans une section <directive module="core"
3699 type="section">Location</directive>.</p>
3700 <p>Le fait d'omettre cette option ne doit pas être considéré comme
3701 une mesure de sécurité efficace, car il existe toujours une
3702 situation de compétition (race condition) entre l'instant où l'on
3703 vérifie qu'un chemin n'est pas un lien symbolique, et l'instant où
3704 l'on utilise effectivement ce chemin.</p></note>
3708 <p>Normalement, si plusieurs directives
3709 <directive>Options</directive> peuvent s'appliquer à un répertoire,
3710 c'est la plus spécifique qui est utilisée et les autres sont
3711 ignorées ; les options ne sont pas fusionnées (voir <a
3712 href="../sections.html#mergin">comment les sections sont
3713 fusionnées</a>). Elles le sont cependant si <em>toutes</em> les
3714 options de la directive <directive>Options</directive> sont
3715 précédées d'un symbole <code>+</code> ou <code>-</code>. Toute
3716 option précédée d'un <code>+</code> est ajoutée à la liste des
3717 options courantes de manière forcée et toute option précédée d'un
3718 <code>-</code> est supprimée de la liste des options courantes de la
3719 même manière.</p>
3721 <note><title>Note</title>
3722 <p>Mélanger des <directive>Options</directive> avec <code>+</code>
3723 ou <code>-</code> avec des <directive>Options</directive> sans
3724 <code>+</code> ou <code>-</code> constitue une erreur de syntaxe, et
3725 la vérification de la syntaxe au cours du démarrage du serveur fera
3726 échouer ce dernier.</p>
3729 <p>Par exemple, sans aucun symbole <code>+</code> et <code>-</code>
3733 <Directory /web/docs><br />
3735 Options Indexes FollowSymLinks<br />
3737 </Directory><br />
3739 <Directory /web/docs/spec><br />
3741 Options Includes<br />
3746 <p>ici, seule l'option <code>Includes</code> sera prise en compte
3747 pour le répertoire <code>/web/docs/spec</code>. Par contre, si la
3748 seconde directive <directive>Options</directive> utilise les
3749 symboles <code>+</code> et <code>-</code> :</p>
3752 <Directory /web/docs><br />
3754 Options Indexes FollowSymLinks<br />
3756 </Directory><br />
3758 <Directory /web/docs/spec><br />
3760 Options +Includes -Indexes<br />
3765 <p>alors, les options <code>FollowSymLinks</code> et
3766 <code>Includes</code> seront prises en compte pour le répertoire
3767 <code>/web/docs/spec</code>.</p>
3769 <note><title>Note</title>
3770 <p>L'utilisation de <code>-IncludesNOEXEC</code> ou
3771 <code>-Includes</code> désactive complètement les inclusions côté
3772 serveur sans tenir compte des définitions précédentes.</p>
3775 <p>En l'absence de toute définition d'options, la valeur par défaut
3776 est <code>FollowSymlinks</code>.</p>
3778 </directivesynopsis>
3781 <name>Protocol</name>
3782 <description>Protocole pour une socket d'écoute</description>
3783 <syntax>Protocol <var>protocole</var></syntax>
3784 <contextlist><context>server config</context><context>virtual host</context></contextlist>
3785 <compatibility>Disponible depuis la version 2.1.5 d'Apache, mais
3786 seulement depuis la version 2.3.3 sous Windows.</compatibility>
3789 <p>Cette directive permet de spécifier le protocole utilisé pour une
3790 socket d'écoute particulière. Le protocole sert à déterminer quel
3791 module doit traiter une requête, et d'appliquer les optimisations
3792 spécifiques au protocole via la directive
3793 <directive>AcceptFilter</directive>.</p>
3795 <p>Vous ne devez définir le protocole que si vous travaillez avec
3796 des ports non standards ; dans le cas général, le protocole
3797 <code>http</code> est associé au port 80 et le protocole
3798 <code>https</code> au port 443.</p>
3800 <p>Par exemple, si vous travaillez avec le protocole
3801 <code>https</code> sur un port non standard, spécifiez le protocole
3802 de manière explicite :</p>
3808 <p>Vous pouvez aussi spécifier le protocole via la directive
3809 <directive module="mpm_common">Listen</directive>.</p>
3811 <seealso><directive>AcceptFilter</directive></seealso>
3812 <seealso><directive module="mpm_common">Listen</directive></seealso>
3813 </directivesynopsis>
3817 <name>RLimitCPU</name>
3818 <description>Limite le temps CPU alloué aux processus initiés par les
3819 processus enfants d'Apache httpd</description>
3820 <syntax>RLimitCPU <var>secondes</var>|max [<var>secondes</var>|max]</syntax>
3821 <default>Non défini ; utilise les valeurs par défaut du système
3822 d'exploitation</default>
3823 <contextlist><context>server config</context><context>virtual
3825 <context>directory</context><context>.htaccess</context></contextlist>
3826 <override>All</override>
3829 <p>Prend 1 ou 2 paramètres. Le premier definit la limite de
3830 consommation de ressources pour tous les processus, et le second la
3831 consommation de ressources maximale. Les deux paramètres peuvent
3832 contenir soit un nombre, soit <code>max</code> pour indiquer au
3833 serveur que la limite de consommation correspond à la valeur
3834 maximale autorisée par la configuration du système d'exploitation.
3835 Pour augmenter la consommation maximale de ressources, le serveur
3836 doit s'exécuter en tant que <code>root</code>, ou se trouver dans sa
3837 phase de démarrage.</p>
3839 <p>Cette directive s'applique aux processus initiés par les
3840 processus enfants d'Apache httpd qui traitent les requêtes, et non aux
3841 processus enfants eux-mêmes. Sont concernés les scripts CGI et les
3842 commandes exec des SSI, mais en aucun cas les processus initiés par
3843 le processus parent d'Apache httpd comme les journalisations redirigées
3844 vers un programme.</p>
3846 <p>Les limites de ressources CPU sont exprimées en secondes par
3849 <seealso><directive module="core">RLimitMEM</directive></seealso>
3850 <seealso><directive module="core">RLimitNPROC</directive></seealso>
3851 </directivesynopsis>
3854 <name>RLimitMEM</name>
3855 <description>Limite la mémoire allouée aux processus initiés par les
3856 processus enfants d'Apache httpd</description>
3857 <syntax>RLimitMEM <var>octets</var>|max [<var>octets</var>|max]</syntax>
3858 <default>Non défini ; utilise les valeurs par défaut du système
3859 d'exploitation</default>
3860 <contextlist><context>server config</context><context>virtual
3862 <context>directory</context><context>.htaccess</context></contextlist>
3863 <override>All</override>
3866 <p>Prend 1 ou 2 paramètres. Le premier definit la limite de
3867 consommation de ressources pour tous les processus, et le second la
3868 consommation de ressources maximale. Les deux paramètres peuvent
3869 contenir soit un nombre, soit <code>max</code> pour indiquer au
3870 serveur que la limite de consommation correspond à la valeur
3871 maximale autorisée par la configuration du système d'exploitation.
3872 Pour augmenter la consommation maximale de ressources, le serveur
3873 doit s'exécuter en tant que <code>root</code>, ou se trouver dans sa
3874 phase de démarrage.</p>
3876 <p>Cette directive s'applique aux processus initiés par les
3877 processus enfants d'Apache httpd qui traitent les requêtes, et non aux
3878 processus enfants eux-mêmes. Sont concernés les scripts CGI et les
3879 commandes exec des SSI, mais en aucun cas les processus initiés par
3880 le processus parent d'Apache httpd comme les journalisations redirigées
3881 vers un programme.</p>
3883 <p>Les limites de ressources mémoire sont exprimées en octets par
3886 <seealso><directive module="core">RLimitCPU</directive></seealso>
3887 <seealso><directive module="core">RLimitNPROC</directive></seealso>
3888 </directivesynopsis>
3891 <name>RLimitNPROC</name>
3892 <description>Limite le nombre de processus qui peuvent être initiés par
3893 les processus initiés par les processus enfants d'Apache httpd</description>
3894 <syntax>RLimitNPROC <var>nombre</var>|max [<var>nombre</var>|max]</syntax>
3895 <default>Unset; uses operating system defaults</default>
3896 <contextlist><context>server config</context><context>virtual
3898 <context>directory</context><context>.htaccess</context></contextlist>
3899 <override>All</override>
3902 <p>Prend 1 ou 2 paramètres. Le premier definit la limite de
3903 consommation de ressources pour tous les processus, et le second la
3904 consommation de ressources maximale. Les deux paramètres peuvent
3905 contenir soit un nombre, soit <code>max</code> pour indiquer au
3906 serveur que la limite de consommation correspond à la valeur
3907 maximale autorisée par la configuration du système d'exploitation.
3908 Pour augmenter la consommation maximale de ressources, le serveur
3909 doit s'exécuter en tant que <code>root</code>, ou se trouver dans sa
3910 phase de démarrage.</p>
3912 <p>Cette directive s'applique aux processus initiés par les
3913 processus enfants d'Apache httpd qui traitent les requêtes, et non aux
3914 processus enfants eux-mêmes. Sont concernés les scripts CGI et les
3915 commandes exec des SSI, mais en aucun cas les processus initiés par
3916 le processus parent d'Apache httpd comme les journalisations redirigées
3917 vers un programme.</p>
3919 <p>Les limites des processus contrôlent le nombre de processus par
3922 <note><title>Note</title>
3923 <p>Si les processus CGI s'exécutent sous le même
3924 utilisateur que celui du serveur web, cette
3925 directive va limiter le nombre de processus que le serveur
3926 pourra lui-même créer. La présence de messages
3927 <strong><code>cannot fork</code></strong> dans le journal des
3928 erreurs indiquera que la limite est atteinte.</p>
3931 <seealso><directive module="core">RLimitMEM</directive></seealso>
3932 <seealso><directive module="core">RLimitCPU</directive></seealso>
3933 </directivesynopsis>
3936 <name>ScriptInterpreterSource</name>
3937 <description>Permet de localiser l'interpréteur des scripts
3939 <syntax>ScriptInterpreterSource Registry|Registry-Strict|Script</syntax>
3940 <default>ScriptInterpreterSource Script</default>
3941 <contextlist><context>server config</context><context>virtual
3943 <context>directory</context><context>.htaccess</context></contextlist>
3944 <override>FileInfo</override>
3945 <compatibility>Win32 seulement ;
3946 l'option <code>Registry-Strict</code> est disponible dans les versions
3947 2.0 et supérieures du serveur HTTP Apache</compatibility>
3950 <p>Cette directive permet de contrôler la méthode qu'utilise Apache
3951 httpd pour trouver l'interpréteur destiné à exécuter les scripts CGI. La
3952 définition par défaut est <code>Script</code> : ceci indique à
3953 Apache httpd qu'il doit utiliser l'interpréteur précisé dans la ligne
3954 shebang du script (la première ligne, commençant par
3955 <code>#!</code>). Sur les systèmes Win32, cette ligne ressemble
3956 souvent à ceci :</p>
3959 #!C:/Perl/bin/perl.exe
3962 <p>ou simplement, dans le cas où <code>perl</code> est dans le
3963 <code>PATH</code> :</p>
3969 <p>Avec <code>ScriptInterpreterSource Registry</code>, Windows va
3970 effectuer une recherche dans l'arborescence
3971 <code>HKEY_CLASSES_ROOT</code> de la base de registre avec comme
3972 mot-clé l'extension du fichier contenant le script (par exemple
3973 <code>.pl</code>). C'est la commande définie par la sous-clé de
3974 registre <code>Shell\ExecCGI\Command</code> ou, si elle n'existe
3975 pas, la sous-clé <code>Shell\Open\Command</code> qui est utilisée
3976 pour ouvrir le fichier du script. Si ces clés de registre ne sont
3977 pas trouvées, Apache httpd utilise la méthode de l'option
3978 <code>Script</code>.</p>
3980 <note type="warning"><title>Sécurité</title>
3981 <p>Soyez prudent si vous utilisez <code>ScriptInterpreterSource
3982 Registry</code> avec des répertoires faisant l'objet d'un <directive
3983 module="mod_alias">ScriptAlias</directive>, car Apache httpd va essayer
3984 d'exécuter <strong>tous</strong> les fichiers contenus dans
3985 celui-ci. L'option <code>Registry</code> peut causer des appels de
3986 programmes non voulus sur des fichiers non destinés à être exécutés.
3987 Par exemple, la commande par défaut open sur les fichiers
3988 <code>.htm</code> sur la plupart des systèmes Windows va lancer
3989 Microsoft Internet Explorer ; ainsi, toute requête HTTP pour un
3990 fichier <code>.htm</code> situé dans le répertoire des scripts
3991 va lancer le navigateur en arrière-plan sur le serveur, ce qui a
3992 toutes les chances de crasher votre système dans les minutes qui
3996 <p>L'option <code>Registry-Strict</code>, apparue avec la version
3997 2.0 du serveur HTTP Apache,
3998 agit de manière identique à <code>Registry</code>, mais n'utilise
3999 que la sous-clé <code>Shell\ExecCGI\Command</code>. La présence de
4000 la clé <code>ExecCGI</code> n'étant pas systématique, Elle doit être
4001 définie manuellement dans le registre Windows et évite ainsi tout
4002 appel de programme accidentel sur votre système.</p>
4004 </directivesynopsis>
4007 <name>SeeRequestTail</name>
4008 <description>Détermine si mod_status affiche les 63 premiers caractères
4009 d'une requête ou les 63 derniers, en supposant que la requête
4010 elle-même possède plus de 63 caractères.</description>
4011 <syntax>SeeRequestTail On|Off</syntax>
4012 <default>SeeRequestTail Off</default>
4013 <contextlist><context>server config</context></contextlist>
4014 <compatibility>Disponible depuis la version 2.2.7
4015 d'Apache httpd.</compatibility>
4018 <p>Avec <code>ExtendedStatus On</code>, mod_status affiche la
4019 véritable requête en cours de traitement. Pour des raisons
4020 historiques, seuls 63 caractères de la requête sont réellement
4021 stockés à des fins d'affichage. Cette directive permet de déterminer
4022 si ce sont les 63 premiers caractères qui seront stockés (c'est le
4023 comportement par défaut),
4024 ou si ce sont les 63 derniers. Ceci ne s'applique bien entendu que
4025 si la taille de la requête est de 64 caractères ou plus.</p>
4027 <p>Si Apache httpd traite la requête <code
4028 >GET /disque1/stockage/apache/htdocs/images/rep-images1/nourriture/pommes.jpg HTTP/1.1</code>
4029 , l'affichage de la requête par mod_status se présentera comme suit :
4034 <th>Off (défaut)</th>
4035 <td>GET /disque1/stockage/apache/htdocs/images/rep-images1/nourritu</td>
4039 <td>apache/htdocs/images/rep-images1/nourriture/pommes.jpg HTTP/1.1</td>
4045 </directivesynopsis>
4048 <name>ServerAdmin</name>
4049 <description>L'adresse électronique que le serveur inclut dans les
4050 messages d'erreur envoyés au client</description>
4051 <syntax>ServerAdmin <var>adresse électronique</var>|<var>URL</var></syntax>
4052 <contextlist><context>server config</context><context>virtual
4057 <p>La directive <directive>ServerAdmin</directive> permet de définir
4058 l'adresse de contact que le serveur va inclure dans tout message
4059 d'erreur qu'il envoie au client. Si le programme <code>httpd</code>
4060 ne reconnait pas l'argument fourni comme une URL, il suppose que
4061 c'est une <var>adresse électronique</var>, et lui ajoute le préfixe
4062 <code>mailto:</code> dans les cibles des hyperliens. Il est
4063 cependant recommandé d'utiliser exclusivement une adresse
4064 électronique, car de nombreux scripts CGI considèrent ceci comme
4065 implicite. Si vous utilisez une URL, elle doit pointer vers un autre
4066 serveur que vous contrôlez. Dans le cas contraire, les utilisateurs
4067 seraient dans l'impossibilité de vous contacter en cas de problème.</p>
4069 <p>Il peut s'avérer utile de définir une adresse dédiée à
4070 l'administration du serveur, par exemple :</p>
4073 ServerAdmin www-admin@foo.example.com
4075 <p>car les utilisateurs ne mentionnent pas systématiquement le
4076 serveur dont ils parlent !</p>
4078 </directivesynopsis>
4081 <name>ServerAlias</name>
4082 <description>Autres noms d'un serveur utilisables pour atteindre des
4083 serveurs virtuels à base de nom</description>
4084 <syntax>ServerAlias <var>nom serveur</var> [<var>nom serveur</var>]
4086 <contextlist><context>virtual host</context></contextlist>
4089 <p>La directive <directive>ServerAlias</directive> permet de définir
4090 les noms alternatifs d'un serveur utilisables pour atteindre des <a
4091 href="../vhosts/name-based.html">serveurs virtuels à base de
4092 nom</a>. La directive <directive>ServerAlias</directive> peut
4093 contenir des caractères génériques, si nécessaire.</p>
4096 <VirtualHost *:80><br />
4097 ServerName serveur.example.com<br />
4098 ServerAlias serveur serveur2.example.com serveur2<br />
4099 ServerAlias *.example.com<br />
4100 UseCanonicalName Off<br />
4102 </VirtualHost>
4105 <seealso><directive module="core">UseCanonicalName</directive></seealso>
4106 <seealso><a href="../vhosts/">Documentation sur les serveurs virtuels
4107 du serveur HTTP Apache</a></seealso>
4108 </directivesynopsis>
4111 <name>ServerName</name>
4112 <description>Nom d'hôte et port que le serveur utilise pour
4113 s'authentifier lui-même</description>
4114 <syntax>ServerName [<var>protocole</var>://]<var>nom de domaine
4115 entièrement qualifié</var>[:<var>port</var>]</syntax>
4116 <contextlist><context>server config</context><context>virtual
4121 <p>La directive <directive>ServerName</directive> permet de définir
4122 les protocole, nom d'hôte et port d'une requête que le serveur
4123 utilise pour s'authentifier lui-même. Ceci est utile lors de la
4124 création de redirections d'URLs.</p>
4126 <p>La directive <directive>ServerName</directive> permet aussi
4127 (éventuellement en conjonction avec la directive
4128 <directive>ServerAlias</directive>) d'identifier de manière unique
4129 un serveur virtuel, lorsqu'elle est utilisée dans un contexte de <a
4130 href="../vhosts/name-based.html">serveurs virtuels à base de
4133 <p>Par exemple, si le nom de la
4134 machine hébergeant le serveur web est
4135 <code>simple.example.com</code>, la machine possède l'alias
4136 DNS <code>www.example.com</code>, et si vous voulez que le serveur
4137 web s'identifie avec cet alias, vous devez utilisez la définition
4141 ServerName www.example.com
4144 <p>La directive <directive>ServerName</directive> peut apparaître à
4145 toutes les étapes de la définition du serveur. Toute occurrence
4146 annule cependant la précédente (pour ce serveur).</p>
4148 <p>Si la directive <directive>ServerName</directive> n'est pas
4149 définie, le serveur tente de déterminer le nom d'hôte en effectuant
4150 une recherche DNS inverse sur son adresse IP. Si la directive
4151 <directive>ServerName</directive> ne précise pas de port, le serveur
4152 utilisera celui de la requête entrante. Il est recommandé de
4153 spécifier un nom d'hôte et un port spécifiques à l'aide de la
4154 directive <directive>ServerName</directive> pour une fiabilité
4155 optimale et à titre préventif.</p>
4157 <p>Si vous définissez des <a
4158 href="../vhosts/name-based.html">serveurs virtuels à base de
4159 nom</a>, une directive <directive>ServerName</directive> située à
4160 l'intérieur d'une section <directive type="section"
4161 module="core">VirtualHost</directive> spécifiera quel nom d'hôte
4162 doit apparaître dans l'en-tête de requête <code>Host:</code> pour
4163 pouvoir atteindre ce serveur virtuel.</p>
4166 <p>Parfois, le serveur s'exécute en amont d'un dispositif qui
4167 implémente SSL, comme un mandataire inverse, un répartiteur de
4168 charge ou un boîtier dédié SSL. Dans ce cas, spécifiez le protocole
4169 <code>https://</code> et le port auquel les clients se connectent
4170 dans la directive <directive>ServerName</directive>, afin de
4171 s'assurer que le serveur génère correctement ses URLs
4172 d'auto-identification.
4175 <p>Voir la description des directives <directive
4176 module="core">UseCanonicalName</directive> et <directive
4177 module="core">UseCanonicalPhysicalPort</directive> pour les
4178 définitions qui permettent de déterminer si les URLs
4179 auto-identifiantes (par exemple via le module
4180 <module>mod_dir</module>) vont faire référence au port spécifié, ou
4181 au port indiqué dans la requête du client.
4184 <note type="warning">
4185 <p>Si la valeur de la directive <directive>ServerName</directive> ne
4186 peut pas être résolue en adresse IP, le démarrage du serveur
4187 provoquera un avertissement. <code>httpd</code> va alors utiliser le
4188 résultat de la commande système <code>hostname</code> pour
4189 déterminer le nom du serveur, ce qui ne correspondra pratiquement
4190 jamais au nom de serveur que vous souhaitez réellement.</p>
4192 httpd: Could not reliably determine the server's fully qualified domain name, using rocinante.local for ServerName
4198 <seealso><a href="../dns-caveats.html">Problèmes concernant le DNS et
4199 le serveur HTTP Apache</a></seealso>
4200 <seealso><a href="../vhosts/">Documentation sur les serveurs virtuels
4201 du serveur HTTP Apache</a></seealso>
4202 <seealso><directive module="core">UseCanonicalName</directive></seealso>
4203 <seealso><directive module="core">UseCanonicalPhysicalPort</directive></seealso>
4204 <seealso><directive module="core">ServerAlias</directive></seealso>
4205 </directivesynopsis>
4208 <name>ServerPath</name>
4209 <description>Nom de chemin d'URL hérité pour un serveur virtuel à base
4210 de nom accédé par un navigateur incompatible</description>
4211 <syntax>ServerPath <var>chemin d'URL</var></syntax>
4212 <contextlist><context>virtual host</context></contextlist>
4215 <p>La directive <directive>ServerPath</directive> permet de définir
4216 le nom de chemin d'URL hérité d'un hôte, à utiliser avec les <a
4217 href="../vhosts/">serveurs virtuels à base de nom</a>.</p>
4219 <seealso><a href="../vhosts/">Documentation sur les serveurs virtuels
4220 du serveur HTTP Apache</a></seealso>
4221 </directivesynopsis>
4224 <name>ServerRoot</name>
4225 <description>Racine du répertoire d'installation du
4226 serveur</description>
4227 <syntax>ServerRoot <var>chemin de répertoire</var></syntax>
4228 <default>ServerRoot /usr/local/apache</default>
4229 <contextlist><context>server config</context></contextlist>
4232 <p>La directive <directive>ServerRoot</directive> permet de définir
4233 le répertoire dans lequel le serveur est installé. En particulier,
4234 il contiendra les sous-répertoires <code>conf/</code> et
4235 <code>logs/</code>. Les chemins relatifs indiqués dans les autres
4236 directives (comme <directive
4237 module="core">Include</directive> ou <directive
4238 module="mod_so">LoadModule</directive>) seront définis par
4239 rapport à ce répertoire.</p>
4241 <example><title>Example</title>
4242 ServerRoot /home/httpd
4245 <p>La valeur par défaut de <directive>ServerRoot</directive> peut
4246 être modifiée via l'argument <code>--prefix</code> de la commande <a
4247 href="../programs/configure.html"><code>configure</code></a>, et de
4248 nombreuses distributions tierces du serveur proposent une valeur
4249 différente de celles listées ci-dessus.</p>
4252 <seealso><a href="../invoking.html">the <code>-d</code>
4253 options de <code>httpd</code></a></seealso>
4254 <seealso><a href="../misc/security_tips.html#serverroot">les conseils à
4255 propos de sécurité</a> pour des informations sur la manière de définir
4256 correctement les permissions sur le répertoire indiqué par la directive
4257 <directive>ServerRoot</directive></seealso>
4258 </directivesynopsis>
4261 <name>ServerSignature</name>
4262 <description>Définit un pied de page pour les documents générés par le
4263 serveur</description>
4264 <syntax>ServerSignature On|Off|EMail</syntax>
4265 <default>ServerSignature Off</default>
4266 <contextlist><context>server config</context><context>virtual
4268 <context>directory</context><context>.htaccess</context>
4270 <override>All</override>
4273 <p>La directive <directive>ServerSignature</directive> permet de
4274 définir une ligne de pied de page fixe pour les documents générés
4275 par le serveur (messages d'erreur, listings de répertoires ftp de
4276 <module>mod_proxy</module>, sorties de <module>mod_info</module>,
4277 etc...). Dans le cas d'une chaîne de mandataires, l'utilisateur n'a
4278 souvent aucun moyen de déterminer lequel des mandataires chaînés a
4279 généré un message d'erreur, et c'est une des raisons pour lesquelles
4280 on peut être amené à ajouter un tel pied de page.</p>
4282 <p>La valeur par défaut <code>Off</code> supprime la ligne de pied
4283 de page (et est ainsi compatible avec le comportement des
4284 versions 1.2 et antérieures d'Apache). la valeur <code>On</code>
4285 ajoute simplement une ligne contenant le numéro de version du
4286 serveur ainsi que le nom du serveur virtuel issu de la directive
4287 <directive module="core">ServerName</directive>, alors que la valeur
4288 <code>EMail</code> ajoute en plus une référence "mailto:" à
4289 l'administrateur du document référencé issu la directive
4290 <directive module="core">ServerAdmin</directive>.</p>
4292 <p>Après la version 2.0.44, les détails à propos du numéro de
4293 version du serveur sont contrôlés à l'aide de la directive
4294 <directive module="core">ServerTokens</directive>.</p>
4296 <seealso><directive module="core">ServerTokens</directive></seealso>
4297 </directivesynopsis>
4300 <name>ServerTokens</name>
4301 <description>Configure l'en-tête <code>Server</code> de la réponse
4303 <syntax>ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full</syntax>
4304 <default>ServerTokens Full</default>
4305 <contextlist><context>server config</context></contextlist>
4308 <p>Cette directive permet de contrôler le contenu de l'en-tête
4309 <code>Server</code> inclus dans la réponse envoyée au client : cet
4310 en-tête peut contenir le type de système d'exploitation du serveur,
4311 ainsi que des informations à propos des modules compilés avec le
4315 <dt><code>ServerTokens Full</code> (ou non spécifié)</dt>
4317 <dd>Le serveur envoie par exemple : <code>Server: Apache/2.4.1
4318 (Unix) PHP/4.2.2 MyMod/1.2</code></dd>
4323 <dt><code>ServerTokens Prod[uctOnly]</code></dt>
4325 <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server:
4328 <dt><code>ServerTokens Major</code></dt>
4330 <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server:
4331 Apache/2</code></dd>
4333 <dt><code>ServerTokens Minor</code></dt>
4335 <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server:
4336 Apache/2.4</code></dd>
4338 <dt><code>ServerTokens Min[imal]</code></dt>
4340 <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server:
4341 Apache/2.4.1</code></dd>
4343 <dt><code>ServerTokens OS</code></dt>
4345 <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server:
4346 Apache/2.4.1 (Unix)</code></dd>
4352 <p>Cette définition s'applique à l'ensemble du serveur et ne peut
4353 être activée ou désactivée pour tel ou tel serveur virtuel.</p>
4355 <p>Dans les versions postérieures à 2.0.44, cette directive contrôle
4356 aussi les informations fournies par la directive <directive
4357 module="core">ServerSignature</directive>.</p>
4359 <note>Définir <directive>ServerTokens</directive> à une
4360 valeur inférieure à <code>minimal</code> n'est pas
4361 recommandé car le débogage des problèmes
4362 interopérationnels n'en sera alors que plus difficile. Notez
4363 aussi que la désactivation de l'en-tête Server:
4364 n'améliore en rien la sécurité de votre
4365 serveur ; le concept de "sécurité par
4366 l'obscurité" est un mythe et conduit à
4367 une mauvaise perception de ce qu'est la sécurité.</note>
4371 <seealso><directive module="core">ServerSignature</directive></seealso>
4372 </directivesynopsis>
4375 <name>SetHandler</name>
4376 <description>Force le traitement des fichiers spécifiés par un
4377 gestionnaire particulier</description>
4378 <syntax>SetHandler <var>nom gestionnaire</var>|None</syntax>
4379 <contextlist><context>server config</context><context>virtual
4381 <context>directory</context><context>.htaccess</context>
4383 <override>FileInfo</override>
4384 <compatibility>Intégré dans le noyau d'Apache httpd depuis la version
4388 <p>Lorsqu'elle se situe à l'intérieur d'un fichier
4389 <code>.htaccess</code>, ou d'une section <directive type="section"
4390 module="core">Directory</directive> ou <directive type="section"
4391 module="core">Location</directive>, cette directive force le
4392 traitement de tous les fichiers spécifiés par le <a
4393 href="../handler.html">gestionnaire</a> défini par l'argument
4394 <var>nom gestionnaire</var>. Par exemple, dans le cas d'un
4395 répertoire dont vous voulez interpréter le contenu comme des
4396 fichiers de règles d'images cliquables, sans tenir compte des
4397 extensions, vous pouvez ajouter la ligne suivante dans un fichier
4398 <code>.htaccess</code> de ce répertoire :</p>
4401 SetHandler imap-file
4404 <p>Autre exemple : si vous voulez que le serveur affiche un
4405 compte-rendu d'état chaque fois qu'une URL du type <code>http://nom
4406 serveur/status</code> est appelée, vous pouvez ajouter ceci dans
4407 <code>httpd.conf</code> :</p>
4410 <Location /status><br />
4412 SetHandler server-status<br />
4417 <p>Vous pouvez écraser la définition antérieure d'une directive
4418 <directive>SetHandler</directive> en utilisant la valeur
4419 <code>None</code>.</p>
4421 <note><title>Note</title>
4422 <p>Comme <directive>SetHandler</directive> l'emporte sur la
4423 définition des gestionnaires par défaut, le comportement habituel
4424 consistant à traiter les URLs se terminant par un slash (/) comme
4425 des répertoires ou des fichiers index est désactivé.</p></note>
4428 <seealso><directive module="mod_mime">AddHandler</directive></seealso>
4430 </directivesynopsis>
4433 <name>SetInputFilter</name>
4434 <description>Définit les filtres par lesquels vont passer les requêtes
4435 client et les données POST</description>
4436 <syntax>SetInputFilter <var>filtre</var>[;<var>filtre</var>...]</syntax>
4437 <contextlist><context>server config</context><context>virtual
4439 <context>directory</context><context>.htaccess</context>
4441 <override>FileInfo</override>
4444 <p>La directive <directive>SetInputFilter</directive> permet de
4445 définir le ou les filtres par lesquels vont passer les requêtes
4446 client et les données POST au moment où le serveur les reçoit. Cette
4447 définition vient en ajout à tout autre filtre défini en
4448 quelqu'endroit que ce soit, y compris via la directive <directive
4449 module="mod_mime">AddInputFilter</directive>.</p>
4451 <p>Si la directive comporte plusieurs filtres, ils doivent être
4452 séparés par des points-virgules, et spécifiés selon l'ordre dans
4453 lequel vous souhaitez les voir agir sur les contenus.</p>
4455 <seealso>documentation des <a
4456 href="../filter.html">Filtres</a></seealso>
4457 </directivesynopsis>
4460 <name>SetOutputFilter</name>
4461 <description>Définit les filtres par lesquels vont passer les réponses
4462 du serveur</description>
4463 <syntax>SetOutputFilter <var>filtre</var>[;<var>filtre</var>...]</syntax>
4464 <contextlist><context>server config</context><context>virtual
4466 <context>directory</context><context>.htaccess</context>
4468 <override>FileInfo</override>
4471 <p>La directive <directive>SetOutputFilter</directive> permet de
4472 définir les filtres par lesquels vont passer les réponses du serveur
4473 avant d'être envoyées au client. Cette définition vient en ajout à
4474 tout autre filtre défini en quelqu'endroit que ce soit, y compris
4475 via la directive <directive
4476 module="mod_mime">AddOutputFilter</directive>.</p>
4478 <p>Par exemple, la configuration suivante va traiter tous les
4479 fichiers du répertoire <code>/www/data/</code> comme des inclusions
4480 côté serveur (SSI) :</p>
4483 <Directory /www/data/><br />
4485 SetOutputFilter INCLUDES<br />
4490 <p>Si la directive comporte plusieurs filtres, ils doivent être
4491 séparés par des points-virgules, et spécifiés selon l'ordre dans
4492 lequel vous souhaitez les voir agir sur les contenus.</p>
4494 <seealso><a href="../filter.html">Filters</a> documentation</seealso>
4495 </directivesynopsis>
4498 <name>TimeOut</name>
4499 <description>Temps pendant lequel le serveur va attendre certains
4500 évènements avant de considérer qu'une requête a échoué</description>
4501 <syntax>TimeOut <var>secondes</var></syntax>
4502 <default>TimeOut 60</default>
4503 <contextlist><context>server config</context><context>virtual
4504 host</context></contextlist>
4507 <p>La directive <directive>TimeOut</directive> permet de définir le
4508 temps maximum pendant lequel Apache httpd va attendre des entrées/sorties
4509 selon les circonstances :</p>
4512 <li>Lors de la lecture de données en provenance du client, le
4513 temps maximum jusqu'à l'arrivée d'un paquet TCP si le tampon est
4516 <li>Lors de l'écriture de données destinées au client, le temps
4517 maximum jusqu'à l'arrivée de l'accusé-réception d'un paquet si le
4518 tampon d'envoi est plein.</li>
4520 <li>Avec <module>mod_cgi</module>, le temps d'attente maximum des
4521 sorties d'un script CGI.</li>
4523 <li>Avec <module>mod_ext_filter</module>, le temps d'attente
4524 maximum des sorties d'un processus de filtrage.</li>
4526 <li>Avec <module>mod_proxy</module>, la valeur du délai par défaut
4527 si <directive module="mod_proxy">ProxyTimeout</directive> n'est
4528 pas défini.</li>
4532 </directivesynopsis>
4535 <name>TraceEnable</name>
4536 <description>Détermine le comportement des requêtes
4537 <code>TRACE</code></description>
4538 <syntax>TraceEnable <var>[on|off|extended]</var></syntax>
4539 <default>TraceEnable on</default>
4540 <contextlist><context>server config</context><context>virtual host</context></contextlist>
4541 <compatibility>Disponible dans les versions 1.3.34, 2.0.55 et
4542 supérieures du serveur HTTP Apache</compatibility>
4545 <p>Cette directive l'emporte sur le comportement de
4546 <code>TRACE</code> pour le noyau du serveur et
4547 <module>mod_proxy</module>. La définition par défaut
4548 <code>TraceEnable on</code> permet des requêtes <code>TRACE</code>
4549 selon la RFC 2616, qui interdit d'ajouter tout corps à la requête.
4550 La définition <code>TraceEnable off</code> indique au noyau du
4551 serveur et à <module>mod_proxy</module> de retourner un code
4552 d'erreur <code>405</code> (Méthode non autorisée) au client.</p>
4554 <p>En fait, et à des fins de test et de diagnostic seulement, on
4555 peut autoriser l'ajout d'un corps de requête à l'aide de la
4556 définition non standard <code>TraceEnable extended</code>. Le noyau
4557 du serveur (dans le cas d'un serveur d'origine) va limiter la taille
4558 du corps de requête à 64k (plus 8k pour les en-têtes de
4559 fractionnement si <code>Transfer-Encoding: chunked</code> est
4560 utilisé). Le noyau du serveur va reproduire l'ensemble des en-têtes,
4561 y compris les en-têtes de fractionnement avec le corps de la
4562 réponse. Dans le cas d'un serveur mandataire, la taille du corps de
4563 requête n'est pas limitée à 64k.</p>
4565 </directivesynopsis>
4568 <name>UnDefine</name>
4569 <description>Invalide la définition d'une variable</description>
4570 <syntax>UnDefine <var>nom-variable</var></syntax>
4571 <contextlist><context>server config</context></contextlist>
4574 <p>Annule l'effet d'une directive <directive
4575 module="core">Define</directive> ou d'un argument <code>-D</code> de
4576 <program>httpd</program> en invalidant l'existence de la variable
4578 <p>On peut utiliser cette directive pour inverser l'effet d'une
4579 section <directive module="core" type="section">IfDefine</directive>
4580 sans avoir à modifier les arguments <code>-D</code> dans les scripts
4581 de démarrage.</p>
4583 </directivesynopsis>
4586 <name>UseCanonicalName</name>
4587 <description>Définit la manière dont le serveur détermine son propre nom
4588 et son port</description>
4589 <syntax>UseCanonicalName On|Off|DNS</syntax>
4590 <default>UseCanonicalName Off</default>
4591 <contextlist><context>server config</context><context>virtual
4593 <context>directory</context></contextlist>
4596 <p>Dans de nombreuses situations, Apache httpd doit construire une URL
4597 <em>auto-identifiante</em> -- c'est à dire une URL qui fait
4598 référence au serveur lui-même. Avec <code>UseCanonicalName
4599 On</code>, Apache httpd va utiliser le nom d'hôte et le port spécifiés par
4600 la directive <directive module="core">ServerName</directive> pour
4601 construire le nom canonique du serveur. Ce nom est utilisé dans
4602 toutes les URLs auto-identifiantes, et affecté aux variables
4603 <code>SERVER_NAME</code> et <code>SERVER_PORT</code> dans les
4606 <p>Avec <code>UseCanonicalName Off</code>, Apache httpd va construire ses
4607 URLs auto-identifiantes à l'aide du nom d'hôte et du port fournis
4608 par le client, si ce dernier en a fourni un (dans la négative,
4609 Apache utilisera le nom canonique, de la même manière que
4610 ci-dessus). Ces valeurs sont les mêmes que celles qui sont utilisées
4611 pour implémenter les <a
4612 href="../vhosts/name-based.html">serveurs virtuels à base de
4613 nom</a>, et sont disponibles avec les mêmes clients. De même, les
4614 variables CGI <code>SERVER_NAME</code> et <code>SERVER_PORT</code>
4615 seront affectées des valeurs fournies par le client.</p>
4617 <p>Cette directive peut s'avérer utile, par exemple, sur un serveur
4618 intranet auquel les utilisateurs se connectent en utilisant des noms
4619 courts tels que <code>www</code>. Si les utilisateurs tapent un nom
4620 court suivi d'une URL qui fait référence à un répertoire, comme
4621 <code>http://www/splat</code>, <em>sans le slash terminal</em>, vous
4622 remarquerez qu'Apache httpd va les rediriger vers
4623 <code>http://www.example.com/splat/</code>. Si vous avez activé
4624 l'authentification, ceci va obliger l'utilisateur à s'authentifier
4625 deux fois (une première fois pour <code>www</code> et une seconde
4626 fois pour <code>www.example.com</code> -- voir <a
4627 href="http://httpd.apache.org/docs/misc/FAQ.html#prompted-twice">la
4628 foire aux questions sur ce sujet pour plus d'informations</a>). Par
4629 contre, si <directive>UseCanonicalName</directive> est définie à
4630 <code>Off</code>, Apache httpd redirigera l'utilisateur vers
4631 <code>http://www/splat/</code>.</p>
4633 <p>Pour l'hébergement virtuel en masse à base d'adresse IP, on
4634 utilise une troisième option, <code>UseCanonicalName
4635 DNS</code>, pour supporter les clients anciens qui ne
4636 fournissent pas d'en-tête <code>Host:</code>. Apache httpd effectue alors
4637 une recherche DNS inverse sur l'adresse IP du serveur auquel le
4638 client s'est connecté afin de construire ses URLs
4639 auto-identifiantes.</p>
4641 <note type="warning"><title>Avertissement</title>
4642 <p>Les programmes CGI risquent d'être perturbés par cette option
4643 s'ils tiennent compte de la variable <code>SERVER_NAME</code>. Le
4644 client est pratiquement libre de fournir la valeur qu'il veut comme
4645 nom d'hôte. Mais si le programme CGI n'utilise
4646 <code>SERVER_NAME</code> que pour construire des URLs
4647 auto-identifiantes, il ne devrait pas y avoir de problème.</p>
4650 <seealso><directive module="core">UseCanonicalPhysicalPort</directive></seealso>
4651 <seealso><directive module="core">ServerName</directive></seealso>
4652 <seealso><directive module="mpm_common">Listen</directive></seealso>
4653 </directivesynopsis>
4656 <name>UseCanonicalPhysicalPort</name>
4657 <description>Définit la manière dont le serveur
4658 détermine son propre port</description>
4659 <syntax>UseCanonicalPhysicalPort On|Off</syntax>
4660 <default>UseCanonicalPhysicalPort Off</default>
4661 <contextlist><context>server config</context><context>virtual
4663 <context>directory</context></contextlist>
4666 <p>Dans de nombreuses situations, Apache httpd doit construire une URL
4667 <em>auto-identifiante</em> -- c'est à dire une URL qui fait
4668 référence au serveur lui-même. Avec <code>UseCanonicalPhysicalPort
4669 On</code>, Apache httpd va fournir le numéro de port physique réel utilisé
4670 par la requête en tant que port potentiel, pour construire le port
4671 canonique afin que le serveur puisse alimenter la directive
4672 <directive module="core">UseCanonicalName</directive>. Avec
4673 <code>UseCanonicalPhysicalPort Off</code>, Apache httpd n'utilisera pas le
4674 numéro de port physique réel, mais au contraire se référera aux
4675 informations de configuration pour construire un numéro de port
4678 <note><title>Note</title>
4679 <p>L'ordre dans lequel s'effectue la recherche quand on utilise le
4680 port physique est le suivant :</p>
4682 <dt><code>UseCanonicalName On</code></dt>
4685 <li>Port indiqué dans <directive module="core">Servername</directive></li>
4686 <li>Port physique</li>
4687 <li>Port par défaut</li>
4690 <dt><code>UseCanonicalName Off | DNS</code></dt>
4693 <li>Port spécifié dans l'en-tête <code>Host:</code></li>
4694 <li>Port physique</li>
4695 <li>Port spécifié par <directive module="core">Servername</directive></li>
4696 <li>Port par défaut</li>
4701 <p>Avec <code>UseCanonicalPhysicalPort Off</code>, on reprend
4702 l'ordre ci-dessus en supprimant "Port physique".</p>
4706 <seealso><directive module="core">UseCanonicalName</directive></seealso>
4707 <seealso><directive module="core">ServerName</directive></seealso>
4708 <seealso><directive module="mpm_common">Listen</directive></seealso>
4709 </directivesynopsis>
4711 <directivesynopsis type="section">
4712 <name>VirtualHost</name>
4713 <description>Contient des directives qui ne s'appliquent qu'à un nom
4714 d'hôte spécifique ou à une adresse IP</description>
4715 <syntax><VirtualHost
4716 <var>adresse IP</var>[:<var>port</var>] [<var>adresse
4717 IP</var>[:<var>port</var>]] ...> ...
4718 </VirtualHost></syntax>
4719 <contextlist><context>server config</context></contextlist>
4722 <p>Les balises <directive type="section">VirtualHost</directive> et
4723 <code></VirtualHost></code> permettent de rassembler un groupe
4724 de directives qui ne s'appliquent qu'à un serveur virtuel
4725 particulier. Toute directive autorisée dans un contexte de serveur
4726 virtuel peut être utilisée. Lorsque le serveur reçoit un requête
4727 pour un document hébergé par un serveur virtuel particulier, il
4728 applique les directives de configuration rassemblées dans la section
4729 <directive type="section">VirtualHost</directive>. <var>adresse
4730 IP</var> peut être une des entités suivantes, éventuellement suivies
4731 d'un caractère ':' et d'un numéro de port (ou *) :</p>
4734 <li>L'adresse IP du serveur virtuel ;</li>
4736 <li>Un nom de domaine entièrement qualifié correspondant à
4737 l'adresse IP du serveur virtuel (non recommandé) ;</li>
4739 <li>Le caractère <code>*</code>, qui agit comme un
4740 caractère générique, et correspond à toute adresse IP.</li>
4742 <li>La chaîne <code>_default_</code>, dont la signification est
4743 identique à celle du caractère <code>*</code></li>
4747 <example><title>Exemple</title>
4748 <VirtualHost 10.1.2.3:80><br />
4750 ServerAdmin webmaster@host.example.com<br />
4751 DocumentRoot /www/docs/host.example.com<br />
4752 ServerName host.example.com<br />
4753 ErrorLog logs/host.example.com-error_log<br />
4754 TransferLog logs/host.example.com-access_log<br />
4756 </VirtualHost>
4760 <p>Les adresses IPv6 doivent être entourées de crochets car dans le
4761 cas contraire, un éventuel port optionnel ne pourrait pas être
4762 déterminé. Voici un exemple de serveur virtuel avec adresse IPv6
4766 <VirtualHost [2001:db8::a00:20ff:fea7:ccea]:80><br />
4768 ServerAdmin webmaster@host.example.com<br />
4769 DocumentRoot /www/docs/host.example.com<br />
4770 ServerName host.example.com<br />
4771 ErrorLog logs/host.example.com-error_log<br />
4772 TransferLog logs/host.example.com-access_log<br />
4774 </VirtualHost>
4777 <p>Chaque serveur virtuel doit correspondre à une adresse IP, un
4778 port ou un nom d'hôte spécifique ; dans le premier cas, le serveur
4779 doit être configuré pour recevoir les paquets IP de plusieurs
4780 adresses (si le serveur n'a qu'une interface réseau, on peut
4781 utiliser à cet effet la commande <code>ifconfig alias</code> -- si
4782 votre système d'exploitation le permet).</p>
4784 <note><title>Note</title>
4785 <p>L'utilisation de la directive <directive
4786 type="section">VirtualHost</directive> n'affecte en rien les
4787 adresses IP sur lesquelles Apache httpd est en écoute. Vous devez vous
4788 assurer que les adresses des serveurs virtuels sont bien incluses
4789 dans la liste des adresses précisées par la directive <directive
4790 module="mpm_common">Listen</directive>.</p>
4793 <p>Tout bloc <directive
4794 type="section">VirtualHost</directive> doit comporter une directive
4795 <directive module="core">ServerName</directive>. Dans le cas
4796 contraire, le serveur virtuel héritera de la valeur de la directive
4797 <directive module="core">ServerName</directive> issue de la
4798 configuration du serveur principal.</p>
4800 <p>A l'arrivée d'une requête, le serveur tente de la
4801 faire prendre en compte par la section <directive
4802 type="section">VirtualHost</directive> qui correspond le mieux en ne
4803 se basant que sur la paire adresse IP/port. Les chaînes sans
4804 caractères génériques l'emportent sur celles qui en contiennent. Si
4805 aucune correspondance du point de vue de l'adresse IP/port n'est
4806 trouvée, c'est la configuration du serveur "principal" qui sera
4807 utilisée.</p>
4809 <p>Si plusieurs serveurs virtuels correspondent du point de vue de
4810 l'adresse IP/port, le serveur sélectionne celui qui correspond le
4811 mieux du point de vue du nom d'hôte de la requête. Si aucune
4812 correspondance du point de vue du nom d'hôte n'est trouvée, c'est le
4813 premier serveur virtuel dont l'adresse IP/port correspond qui sera
4814 utilisé. Par voie de conséquence, le premier serveur virtuel
4815 comportant une certaine paire adresse IP/port est le serveur virtuel
4816 par défaut pour cette paire adresse IP/port.</p>
4818 <note type="warning"><title>Sécurité</title>
4819 <p>Voir le document sur les <a
4820 href="../misc/security_tips.html">conseils à propos de sécurité</a>
4821 pour une description détaillée des raisons pour lesquelles la
4822 sécurité de votre serveur pourrait être compromise, si le répertoire
4823 contenant les fichiers journaux est inscriptible par tout autre
4824 utilisateur que celui qui démarre le serveur.</p>
4827 <seealso><a href="../vhosts/">Documentation des serveurs virtuels
4828 du serveur HTTP Apache</a></seealso>
4829 <seealso><a href="../dns-caveats.html">Problèmes concernant le DNS et
4830 le serveur HTTP Apache</a></seealso>
4831 <seealso><a href="../bind.html">Définition des adresses et ports
4832 qu'utilise le serveur HTTP Apache</a></seealso>
4833 <seealso><a href="../sections.html">Comment fonctionnent les sections
4834 <Directory>, <Location> et <Files></a> pour une
4835 explication de la manière dont ces différentes sections se combinent
4836 entre elles à la réception d'une requête</seealso>
4837 </directivesynopsis>