1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
4 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5 This file is generated from xml source: DO NOT EDIT
6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
8 <title>core - Serveur Apache HTTP</title>
9 <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
10 <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
11 <link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
12 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
14 <div id="page-header">
15 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
16 <p class="apache">Serveur Apache HTTP Version 2.3</p>
17 <img alt="" src="../images/feather.gif" /></div>
18 <div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
20 <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.3</a> > <a href="./">Modules</a></div>
21 <div id="page-content">
22 <div id="preamble"><h1>Fonctionalités de Base Apache</h1>
24 <p><span>Langues Disponibles: </span><a href="../de/mod/core.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
25 <a href="../en/mod/core.html" hreflang="en" rel="alternate" title="English"> en </a> |
26 <a href="../fr/mod/core.html" title="Français"> fr </a> |
27 <a href="../ja/mod/core.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
28 <a href="../tr/mod/core.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
30 <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fonctionnalités de base du serveur HTTP Apache toujours
32 <tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Core</td></tr></table>
34 <div id="quickview"><h3 class="directives">Directives</h3>
36 <li><img alt="" src="../images/down.gif" /> <a href="#acceptfilter">AcceptFilter</a></li>
37 <li><img alt="" src="../images/down.gif" /> <a href="#acceptpathinfo">AcceptPathInfo</a></li>
38 <li><img alt="" src="../images/down.gif" /> <a href="#accessfilename">AccessFileName</a></li>
39 <li><img alt="" src="../images/down.gif" /> <a href="#adddefaultcharset">AddDefaultCharset</a></li>
40 <li><img alt="" src="../images/down.gif" /> <a href="#allowencodedslashes">AllowEncodedSlashes</a></li>
41 <li><img alt="" src="../images/down.gif" /> <a href="#allowoverride">AllowOverride</a></li>
42 <li><img alt="" src="../images/down.gif" /> <a href="#cgimapextension">CGIMapExtension</a></li>
43 <li><img alt="" src="../images/down.gif" /> <a href="#contentdigest">ContentDigest</a></li>
44 <li><img alt="" src="../images/down.gif" /> <a href="#defaulttype">DefaultType</a></li>
45 <li><img alt="" src="../images/down.gif" /> <a href="#define">Define</a></li>
46 <li><img alt="" src="../images/down.gif" /> <a href="#directory"><Directory></a></li>
47 <li><img alt="" src="../images/down.gif" /> <a href="#directorymatch"><DirectoryMatch></a></li>
48 <li><img alt="" src="../images/down.gif" /> <a href="#documentroot">DocumentRoot</a></li>
49 <li><img alt="" src="../images/down.gif" /> <a href="#enablemmap">EnableMMAP</a></li>
50 <li><img alt="" src="../images/down.gif" /> <a href="#enablesendfile">EnableSendfile</a></li>
51 <li><img alt="" src="../images/down.gif" /> <a href="#errordocument">ErrorDocument</a></li>
52 <li><img alt="" src="../images/down.gif" /> <a href="#errorlog">ErrorLog</a></li>
53 <li><img alt="" src="../images/down.gif" /> <a href="#errorlogformat">ErrorLogFormat</a></li>
54 <li><img alt="" src="../images/down.gif" /> <a href="#extendedstatus">ExtendedStatus</a></li>
55 <li><img alt="" src="../images/down.gif" /> <a href="#fileetag">FileETag</a></li>
56 <li><img alt="" src="../images/down.gif" /> <a href="#files"><Files></a></li>
57 <li><img alt="" src="../images/down.gif" /> <a href="#filesmatch"><FilesMatch></a></li>
58 <li><img alt="" src="../images/down.gif" /> <a href="#forcetype">ForceType</a></li>
59 <li><img alt="" src="../images/down.gif" /> <a href="#hostnamelookups">HostnameLookups</a></li>
60 <li><img alt="" src="../images/down.gif" /> <a href="#if"><If></a></li>
61 <li><img alt="" src="../images/down.gif" /> <a href="#ifdefine"><IfDefine></a></li>
62 <li><img alt="" src="../images/down.gif" /> <a href="#ifmodule"><IfModule></a></li>
63 <li><img alt="" src="../images/down.gif" /> <a href="#include">Include</a></li>
64 <li><img alt="" src="../images/down.gif" /> <a href="#keepalive">KeepAlive</a></li>
65 <li><img alt="" src="../images/down.gif" /> <a href="#keepalivetimeout">KeepAliveTimeout</a></li>
66 <li><img alt="" src="../images/down.gif" /> <a href="#limit"><Limit></a></li>
67 <li><img alt="" src="../images/down.gif" /> <a href="#limitexcept"><LimitExcept></a></li>
68 <li><img alt="" src="../images/down.gif" /> <a href="#limitinternalrecursion">LimitInternalRecursion</a></li>
69 <li><img alt="" src="../images/down.gif" /> <a href="#limitrequestbody">LimitRequestBody</a></li>
70 <li><img alt="" src="../images/down.gif" /> <a href="#limitrequestfields">LimitRequestFields</a></li>
71 <li><img alt="" src="../images/down.gif" /> <a href="#limitrequestfieldsize">LimitRequestFieldSize</a></li>
72 <li><img alt="" src="../images/down.gif" /> <a href="#limitrequestline">LimitRequestLine</a></li>
73 <li><img alt="" src="../images/down.gif" /> <a href="#limitxmlrequestbody">LimitXMLRequestBody</a></li>
74 <li><img alt="" src="../images/down.gif" /> <a href="#location"><Location></a></li>
75 <li><img alt="" src="../images/down.gif" /> <a href="#locationmatch"><LocationMatch></a></li>
76 <li><img alt="" src="../images/down.gif" /> <a href="#loglevel">LogLevel</a></li>
77 <li><img alt="" src="../images/down.gif" /> <a href="#maxkeepaliverequests">MaxKeepAliveRequests</a></li>
78 <li><img alt="" src="../images/down.gif" /> <a href="#mutex">Mutex</a></li>
79 <li><img alt="" src="../images/down.gif" /> <a href="#namevirtualhost">NameVirtualHost</a></li>
80 <li><img alt="" src="../images/down.gif" /> <a href="#options">Options</a></li>
81 <li><img alt="" src="../images/down.gif" /> <a href="#rlimitcpu">RLimitCPU</a></li>
82 <li><img alt="" src="../images/down.gif" /> <a href="#rlimitmem">RLimitMEM</a></li>
83 <li><img alt="" src="../images/down.gif" /> <a href="#rlimitnproc">RLimitNPROC</a></li>
84 <li><img alt="" src="../images/down.gif" /> <a href="#scriptinterpretersource">ScriptInterpreterSource</a></li>
85 <li><img alt="" src="../images/down.gif" /> <a href="#seerequesttail">SeeRequestTail</a></li>
86 <li><img alt="" src="../images/down.gif" /> <a href="#serveradmin">ServerAdmin</a></li>
87 <li><img alt="" src="../images/down.gif" /> <a href="#serveralias">ServerAlias</a></li>
88 <li><img alt="" src="../images/down.gif" /> <a href="#servername">ServerName</a></li>
89 <li><img alt="" src="../images/down.gif" /> <a href="#serverpath">ServerPath</a></li>
90 <li><img alt="" src="../images/down.gif" /> <a href="#serverroot">ServerRoot</a></li>
91 <li><img alt="" src="../images/down.gif" /> <a href="#serversignature">ServerSignature</a></li>
92 <li><img alt="" src="../images/down.gif" /> <a href="#servertokens">ServerTokens</a></li>
93 <li><img alt="" src="../images/down.gif" /> <a href="#sethandler">SetHandler</a></li>
94 <li><img alt="" src="../images/down.gif" /> <a href="#setinputfilter">SetInputFilter</a></li>
95 <li><img alt="" src="../images/down.gif" /> <a href="#setoutputfilter">SetOutputFilter</a></li>
96 <li><img alt="" src="../images/down.gif" /> <a href="#timeout">TimeOut</a></li>
97 <li><img alt="" src="../images/down.gif" /> <a href="#traceenable">TraceEnable</a></li>
98 <li><img alt="" src="../images/down.gif" /> <a href="#undefine">UnDefine</a></li>
99 <li><img alt="" src="../images/down.gif" /> <a href="#usecanonicalname">UseCanonicalName</a></li>
100 <li><img alt="" src="../images/down.gif" /> <a href="#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></li>
101 <li><img alt="" src="../images/down.gif" /> <a href="#virtualhost"><VirtualHost></a></li>
105 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
106 <div class="directive-section"><h2><a name="AcceptFilter" id="AcceptFilter">AcceptFilter</a> <a name="acceptfilter" id="acceptfilter">Directive</a></h2>
107 <table class="directive">
108 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Permet d'optimiser la configuration d'une socket pour
109 l'écoute d'un protocole</td></tr>
110 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AcceptFilter <var>protocole</var> <var>filtre
111 d'acceptation</var></code></td></tr>
112 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
113 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
114 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
115 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.3 sous Windows et 2.1.5
116 sur les autres plates-formes.</td></tr>
118 <p>Cette directive permet d'effectuer une optimisation de la socket
119 d'écoute d'un type de protocole en fonction du système
120 d'exploitation. Le but premier est de faire en sorte que le noyau
121 n'envoie pas de socket au processus du serveur jusqu'à ce que
122 des données soient reçues, ou qu'une requête HTTP complète soit mise
123 en tampon. Seuls les <a href="http://www.freebsd.org/cgi/man.cgi?query=accept_filter& sektion=9">Filtres d'acceptation de FreeBSD</a>, le filtre plus
124 primitif <code>TCP_DEFER_ACCEPT</code> sous Linux, et la version
125 optimisée d'AcceptEx() de Windows sont actuellement supportés.</p>
127 <p>L'utilisation de l'argument <code>none</code> va désactiver tout
128 filtre d'acceptation pour ce protocole. Ceci s'avère utile pour les
129 protocoles qui nécessitent l'envoi de données par le serveur en
130 premier, comme <code>ftp:</code> ou <code>nntp</code>:</p>
131 <div class="example"><p><code>AcceptFilter nntp none</code></p></div>
133 <p>Sous FreeBSD, les valeurs par défaut sont :</p>
134 <div class="example"><p><code>
135 AcceptFilter http httpready <br />
136 AcceptFilter https dataready
139 <p>Le filtre d'acceptation <code>httpready</code> met en tampon des
140 requêtes HTTP entières au niveau du noyau. Quand une requête
141 entière a été reçue, le noyau l'envoie au serveur. Voir la page de
142 manuel de <a href="http://www.freebsd.org/cgi/man.cgi?query=accf_http& sektion=9">accf_http(9)</a> pour plus de détails. Comme les requêtes
143 HTTPS sont chiffrées, celles-ci n'autorisent que le filtre <a href="http://www.freebsd.org/cgi/man.cgi?query=accf_data& sektion=9">accf_data(9)</a>.</p>
145 <p>Sous Linux, les valeurs par défaut sont :</p>
146 <div class="example"><p><code>
147 AcceptFilter http data <br />
148 AcceptFilter https data
151 <p>Le filtre <code>TCP_DEFER_ACCEPT</code> de Linux ne supporte pas
152 la mise en tampon des requêtes http. Toute valeur autre que
153 <code>none</code> active le filtre <code>TCP_DEFER_ACCEPT</code>
154 pour ce protocole. Pour plus de détails, voir la page de
155 manuel Linux de <a href="http://homepages.cwi.nl/~aeb/linux/man2html/man7/ tcp.7.html">tcp(7)</a>.</p>
157 <p>Sous Windows, les valeurs par défaut sont :</p>
158 <div class="example"><p><code>
159 AcceptFilter http data <br />
160 AcceptFilter https data
163 <p>Le module MPM pour Windows mpm_winnt utilise la directive
164 AcceptFilter comme commutateur de l'API AcceptEx(), et ne supporte
165 pas la mise en tampon du protocole http. Deux valeurs utilisent
166 l'API Windows AcceptEx() et vont recycler les sockets réseau entre
167 les connexions. <code>data</code> attend jusqu'à ce que les données
168 aient été transmises comme décrit plus haut, et le tampon de données
169 initiales ainsi que les adresses réseau finales sont tous extraits
170 grâce à une seule invocation d'AcceptEx(). <code>connect</code>
171 utilise l'API AcceptEx(), extrait aussi les adresses réseau finales,
172 mais à l'instar de <code>none</code>, la valeur <code>connect</code>
173 n'attend pas la transmission des données initiales.</p>
175 <p>Sous Windows, <code>none</code> utilise accept() au lieu
176 d'AcceptEx(), et ne recycle pas les sockets entre les connexions.
177 Ceci s'avère utile pour les interfaces réseau dont le pilote est
178 défectueux, ainsi que pour certains fournisseurs de réseau comme les
179 pilotes vpn, ou les filtres anti-spam, anti-virus ou
184 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
185 <div class="directive-section"><h2><a name="AcceptPathInfo" id="AcceptPathInfo">AcceptPathInfo</a> <a name="acceptpathinfo" id="acceptpathinfo">Directive</a></h2>
186 <table class="directive">
187 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Les ressources acceptent des informations sous forme d'un
188 nom de chemin en fin de requête.</td></tr>
189 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AcceptPathInfo On|Off|Default</code></td></tr>
190 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AcceptPathInfo Default</code></td></tr>
191 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
192 <tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>FileInfo</td></tr>
193 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
194 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
195 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible dans Apache httpd version 2.0.30 et
196 supérieures</td></tr>
199 <p>Cette directive permet de définir si les requêtes contenant des
200 informations sous forme d'un nom de chemin suivant le nom d'un
201 fichier réel (ou un fichier qui n'existe pas dans un répertoire qui
202 existe) doivent être acceptées ou rejetées. Les scripts peuvent
203 accéder à cette information via la variable d'environnement
204 <code>PATH_INFO</code>.</p>
206 <p>Supposons par exemple que <code>/test/</code> pointe vers un
207 répertoire qui ne contient que le fichier <code>here.html</code>.
208 Les requêtes pour <code>/test/here.html/more</code> et
209 <code>/test/nothere.html/more</code> vont affecter la valeur
210 <code>/more</code> à la variable d'environnement
211 <code>PATH_INFO</code>.</p>
213 <p>L'argument de la directive <code class="directive">AcceptPathInfo</code>
214 possède trois valeurs possibles :</p>
216 <dt><code>Off</code></dt><dd>Une requête ne sera acceptée que si
217 elle correspond à un chemin qui existe. Par conséquent, une requête
218 contenant une information de chemin après le nom de fichier réel
219 comme <code>/test/here.html/more</code> dans l'exemple ci-dessus
220 renverra une erreur "404 NOT FOUND".</dd>
222 <dt><code>On</code></dt><dd>Une requête sera acceptée si la partie
223 principale du chemin correspond à un fichier existant. Dans
224 l'exemple ci-dessus <code>/test/here.html/more</code>, la requête
225 sera acceptée si <code>/test/here.html</code> correspond à un nom de
228 <dt><code>Default</code></dt><dd>Le traitement des requêtes est
229 déterminé par le <a href="../handler.html">gestionnaire</a> responsable de la requête.
230 Le gestionnaire de base pour les fichiers normaux rejette par défaut
231 les requêtes avec <code>PATH_INFO</code>. Les gestionnaires qui
232 servent des scripts, comme<a href="mod_cgi.html">cgi-script</a> et <a href="mod_isapi.html">isapi-handler</a>, acceptent en général par
233 défaut les requêtes avec <code>PATH_INFO</code>.</dd>
236 <p>Le but premier de la directive <code>AcceptPathInfo</code> est de
237 vous permettre de remplacer le choix du gestionnaire d'accepter ou
238 de rejeter <code>PATH_INFO</code>. Ce remplacement est nécessaire
239 par exemple, lorsque vous utilisez un <a href="../filter.html">filtre</a>, comme <a href="mod_include.html">INCLUDES</a>, pour générer un contenu basé
240 sur <code>PATH_INFO</code>. Le gestionnaire de base va en général
241 rejeter la requête, et vous pouvez utiliser la configuration
242 suivante pour utiliser un tel script :</p>
244 <div class="example"><p><code>
245 <Files "mes-chemins.shtml"><br />
246 <span class="indent">
247 Options +Includes<br />
248 SetOutputFilter INCLUDES<br />
249 AcceptPathInfo On<br />
256 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
257 <div class="directive-section"><h2><a name="AccessFileName" id="AccessFileName">AccessFileName</a> <a name="accessfilename" id="accessfilename">Directive</a></h2>
258 <table class="directive">
259 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom du fichier de configuration distribué</td></tr>
260 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AccessFileName <var>nom-du-fichier</var>
261 [<var>nom-du-fichier</var>] ...</code></td></tr>
262 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AccessFileName .htaccess</code></td></tr>
263 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
264 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
265 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
267 <p>Au cours du traitement d'une requête, le serveur recherche le
268 premier fichier de configuration existant à partir de la liste
269 de noms dans chaque répertoire composant le chemin du document, à
270 partir du moment où les fichiers de configuration distribués sont <a href="#allowoverride">activés pour ce répertoire</a>. Par exemple
273 <div class="example"><p><code>
277 <p>avant de renvoyer le document
278 <code>/usr/local/web/index.html</code>, le serveur va rechercher les
279 fichiers <code>/.acl</code>, <code>/usr/.acl</code>,
280 <code>/usr/local/.acl</code> et <code>/usr/local/web/.acl</code>
281 pour y lire d'éventuelles directives, à moins quelles n'aient été
284 <div class="example"><p><code>
285 <Directory /><br />
286 <span class="indent">
287 AllowOverride None<br />
294 <li><code class="directive"><a href="#allowoverride">AllowOverride</a></code></li>
295 <li><a href="../configuring.html">Fichiers de configuration</a></li>
296 <li><a href="../howto/htaccess.html">Fichiers .htaccess</a></li>
299 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
300 <div class="directive-section"><h2><a name="AddDefaultCharset" id="AddDefaultCharset">AddDefaultCharset</a> <a name="adddefaultcharset" id="adddefaultcharset">Directive</a></h2>
301 <table class="directive">
302 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Paramètre jeu de caractères par défaut à ajouter quand le
303 type de contenu d'une réponse est <code>text/plain</code> ou
304 <code>text/html</code></td></tr>
305 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddDefaultCharset On|Off|<var>jeu de caractères</var></code></td></tr>
306 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AddDefaultCharset Off</code></td></tr>
307 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
308 <tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>FileInfo</td></tr>
309 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
310 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
312 <p>Cette directive spécifie une valeur par défaut pour le paramètre
313 jeu de caractères du type de média (le nom d'un codage de
314 caractères) à ajouter à une réponse, si et seulement si le type de
315 contenu de la réponse est soit <code>text/plain</code>, soit
316 <code>text/html</code>. Ceci va remplacer
317 tout jeu de caractères spécifié dans le corps de la réponse via un
318 élément <code>META</code>, bien que cet effet dépende en fait
319 souvent de la configuration du client de l'utilisateur. La
320 définition de <code>AddDefaultCharset Off</code> désactive cette
321 fonctionnalité. <code>AddDefaultCharset On</code> ajoute un jeu de
322 caractères par défaut de <code>iso-8859-1</code>. Toute autre valeur
323 peut être définie via le paramètre <var>jeu de caractères</var>, qui
324 doit appartenir à la liste des <a href="http://www.iana.org/assignments/character-sets">valeurs de
325 jeux de caractères enregistrés par l'IANA</a> à utiliser dans les
326 types de média Internet (types MIME).
329 <div class="example"><p><code>
330 AddDefaultCharset utf-8
333 <p>La directive <code class="directive">AddDefaultCharset</code> ne doit
334 être utilisée que lorsque toutes les ressources textes auxquelles
335 elle s'applique possèdent le jeu de caractère spécifié, et qu'il est
336 trop contraignant de définir leur jeu de caractères
337 individuellement. Un exemple de ce type est l'ajout du paramètre jeu
338 de caractères aux ressources comportant un contenu généré, comme les
339 scripts CGI hérités qui peuvent être vulnérables à des attaques de
340 type cross-site scripting à cause des données utilisateurs incluses
341 dans leur sortie. Notez cependant qu'une meilleur solution consiste
342 à corriger (ou supprimer) ces scripts, car la définition d'un jeu de
343 caractères par défaut ne protège pas les utilisateurs qui ont activé
344 la fonctionnalité "Détection automatique de l'encodage des
345 caractères" dans leur navigateur.</p>
349 <li><code class="directive"><a href="../mod/mod_mime.html#addcharset">AddCharset</a></code></li>
352 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
353 <div class="directive-section"><h2><a name="AllowEncodedSlashes" id="AllowEncodedSlashes">AllowEncodedSlashes</a> <a name="allowencodedslashes" id="allowencodedslashes">Directive</a></h2>
354 <table class="directive">
355 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si les séparateurs de chemin encodés sont
356 autorisés à transiter dans les URLs tels quels</td></tr>
357 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AllowEncodedSlashes On|Off</code></td></tr>
358 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AllowEncodedSlashes Off</code></td></tr>
359 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
360 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
361 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
362 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible dans Apache httpd version 2.0.46 et
363 supérieures</td></tr>
365 <p>La directive <code class="directive">AllowEncodedSlashes</code> permet
366 l'utilisation des URLs contenant des séparateurs de chemin encodés
367 (<code>%2F</code> pour <code>/</code> et même <code>%5C</code> pour
368 <code>\</code> sur les systèmes concernés). Habituellement, ces URLs
369 sont rejetées avec un code d'erreur 404 (Not found).</p>
371 <p>Définir <code class="directive">AllowEncodedSlashes</code> à
372 <code>On</code> est surtout utile en association avec
373 <code>PATH_INFO</code>.</p>
375 <div class="note"><h3>Note</h3>
376 <p>Permettre les slashes encodés n'implique <em>pas</em> leur
377 <em>décodage</em>. Toutes les occurrences de <code>%2F</code> ou
378 <code>%5C</code> (<em>seulement</em> sur les systèmes concernés)
379 seront laissés telles quelles dans la chaîne de l'URL décodée.</p>
384 <li><code class="directive"><a href="#acceptpathinfo">AcceptPathInfo</a></code></li>
387 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
388 <div class="directive-section"><h2><a name="AllowOverride" id="AllowOverride">AllowOverride</a> <a name="allowoverride" id="allowoverride">Directive</a></h2>
389 <table class="directive">
390 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Types de directives autorisées dans les fichiers
391 <code>.htaccess</code></td></tr>
392 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AllowOverride All|None|<var>type directive</var>
393 [<var>type directive</var>] ...</code></td></tr>
394 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AllowOverride All</code></td></tr>
395 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
396 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
397 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
399 <p>Lorsque le serveur trouve un fichier <code>.htaccess</code> (dont
400 le nom est défini par la directive <code class="directive"><a href="#accessfilename">AccessFileName</a></code>), il doit savoir lesquelles
401 des directives placées dans ce fichier sont autorisées à modifier la
402 configuration préexistante.</p>
404 <div class="note"><h3>Valable seulement dans les sections
405 <Directory></h3>
406 La directive <code class="directive">AllowOverride</code> ne peut être
407 utilisée que dans les sections <code class="directive"><a href="#directory"><Directory></a></code> définies sans expressions
408 rationnelles, et non dans les sections <code class="directive"><a href="#location"><Location></a></code>, <code class="directive"><a href="#directorymatch"><DirectoryMatch></a></code> ou
409 <code class="directive"><a href="#files"><Files></a></code>.
412 <p>Lorsque cette directive est définie à <code>None</code>, les
413 fichiers <a href="#accessfilename">.htaccess</a> sont totalement
414 ignorés. Dans ce cas, le serveur n'essaiera même pas de lire les
415 fichiers <code>.htaccess</code> du système de fichiers.</p>
417 <p>Lorsque cette directive est définie à <code>All</code>, toute
418 directive valable dans le <a href="directive-dict.html#Context">Contexte</a> .htaccess sera
419 autorisée dans les fichiers <code>.htaccess</code>.</p>
421 <p>L'argument <var>type directive</var> peut contenir les
422 groupements de directives suivants :</p>
429 Permet l'utilisation des directives d'autorisation (<code class="directive"><a href="../mod/mod_authn_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a></code>,
430 <code class="directive"><a href="../mod/mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile</a></code>,
431 <code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code>,
432 <code class="directive"><a href="../mod/mod_authn_core.html#authname">AuthName</a></code>,
433 <code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code>, <code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code>, <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code>, <em>etc...</em>).</dd>
438 Permet l'utilisation des directives qui contrôlent les types de
439 documents (directives <code class="directive"><a href="#errordocument">ErrorDocument</a></code>, <code class="directive"><a href="#forcetype">ForceType</a></code>, <code class="directive"><a href="../mod/mod_negotiation.html#languagepriority">LanguagePriority</a></code>,
440 <code class="directive"><a href="#sethandler">SetHandler</a></code>, <code class="directive"><a href="#setinputfilter">SetInputFilter</a></code>, <code class="directive"><a href="#setoutputfilter">SetOutputFilter</a></code>, et directives du
441 module <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> Add* et Remove*), des metadonnées
442 des documents (<code class="directive"><a href="../mod/mod_headers.html#header">Header</a></code>, <code class="directive"><a href="../mod/mod_headers.html#requestheader">RequestHeader</a></code>, <code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code>, <code class="directive"><a href="../mod/mod_setenvif.html#setenvifnocase">SetEnvIfNoCase</a></code>, <code class="directive"><a href="../mod/mod_setenvif.html#browsermatch">BrowserMatch</a></code>, <code class="directive"><a href="../mod/mod_usertrack.html#cookieexpires">CookieExpires</a></code>, <code class="directive"><a href="../mod/mod_usertrack.html#cookiedomain">CookieDomain</a></code>, <code class="directive"><a href="../mod/mod_usertrack.html#cookiestyle">CookieStyle</a></code>, <code class="directive"><a href="../mod/mod_usertrack.html#cookietracking">CookieTracking</a></code>, <code class="directive"><a href="../mod/mod_usertrack.html#cookiename">CookieName</a></code>), des directives du
443 module <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> <code class="directive"><a href="../mod/mod_rewrite.html#rewriteengine">RewriteEngine</a></code>, <code class="directive"><a href="../mod/mod_rewrite.html#rewriteoptions">RewriteOptions</a></code>, <code class="directive"><a href="../mod/mod_rewrite.html#rewritebase">RewriteBase</a></code>, <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>, <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>) et de la directive
444 <code class="directive"><a href="../mod/mod_actions.html#action">Action</a></code> du module
445 <code class="module"><a href="../mod/mod_actions.html">mod_actions</a></code>.
451 Permet l'utilisation des directives qui contrôlent l'indexation
452 des répertoires (<code class="directive"><a href="../mod/mod_autoindex.html#adddescription">AddDescription</a></code>,
453 <code class="directive"><a href="../mod/mod_autoindex.html#addicon">AddIcon</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#addiconbyencoding">AddIconByEncoding</a></code>,
454 <code class="directive"><a href="../mod/mod_autoindex.html#addiconbytype">AddIconByType</a></code>,
455 <code class="directive"><a href="../mod/mod_autoindex.html#defaulticon">DefaultIcon</a></code>, <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#fancyindexing">FancyIndexing</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#headername">HeaderName</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#indexignore">IndexIgnore</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#indexoptions">IndexOptions</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#readmename">ReadmeName</a></code>,
456 <em>etc...</em>).</dd>
461 Permet l'utilisation des directives contrôlant l'accès au serveur
462 (<code class="directive"><a href="../mod/mod_authz_host.html#allow">Allow</a></code>, <code class="directive"><a href="../mod/mod_authz_host.html#deny">Deny</a></code> et <code class="directive"><a href="../mod/mod_authz_host.html#order">Order</a></code>).</dd>
464 <dt>Options[=<var>Option</var>,...]</dt>
467 Permet l'utilisation des directives contrôlant les fonctionnalités
468 spécifiques d'un répertoire (<code class="directive"><a href="#options">Options</a></code> et <code class="directive"><a href="../mod/mod_include.html#xbithack">XBitHack</a></code>). "Options" doit être
469 suivi d'un signe "égal", puis d'une liste d'options séparées par des
470 virgules (pas d'espaces) ; ces options doivent être définies à
471 l'aide de la commande <code class="directive"><a href="#options">Options</a></code>.</dd>
476 <div class="example"><p><code>
477 AllowOverride AuthConfig Indexes
480 <p>Dans l'exemple ci-dessus, toutes les directives qui ne font
481 partie ni du groupe <code>AuthConfig</code>, ni du groupe
482 <code>Indexes</code>, provoquent une erreur "internal
485 <div class="note"><p>Pour des raisons de sécurité et de performance, ne
486 définissez pas <code>AllowOverride</code> à autre chose que
487 <code>None</code> dans votre bloc <code><Directory /></code>.
488 Recherchez plutôt (ou créez) le bloc <code><Directory></code>
489 qui se réfère au répertoire où vous allez précisément placer un
490 fichier <code>.htaccess</code>.</p>
495 <li><code class="directive"><a href="#accessfilename">AccessFileName</a></code></li>
496 <li><a href="../configuring.html">Configuration Files</a></li>
497 <li><a href="../howto/htaccess.html">.htaccess Files</a></li>
500 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
501 <div class="directive-section"><h2><a name="CGIMapExtension" id="CGIMapExtension">CGIMapExtension</a> <a name="cgimapextension" id="cgimapextension">Directive</a></h2>
502 <table class="directive">
503 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Technique permettant de localiser l'interpréteur des
504 scripts CGI</td></tr>
505 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CGIMapExtension <var>chemin CGI</var> <var>.extension</var></code></td></tr>
506 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
507 <tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>FileInfo</td></tr>
508 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
509 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
510 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>NetWare uniquement</td></tr>
512 <p>Cette directive permet de contrôler la manière dont Apache httpd trouve
513 l'interpréteur servant à exécuter les scripts CGI. Par exemple, avec
514 la définition <code>CGIMapExtension sys:\foo.nlm .foo</code>, tous
515 les fichiers scripts CGI possédant une extension <code>.foo</code>
516 seront passés à l'interpréteur FOO.</p>
519 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
520 <div class="directive-section"><h2><a name="ContentDigest" id="ContentDigest">ContentDigest</a> <a name="contentdigest" id="contentdigest">Directive</a></h2>
521 <table class="directive">
522 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la génération d'un en-tête <code>Content-MD5</code>
523 dans la réponse HTTP</td></tr>
524 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ContentDigest On|Off</code></td></tr>
525 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ContentDigest Off</code></td></tr>
526 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
527 <tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>Options</td></tr>
528 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
529 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
531 <p>Cette directive active la génération d'un en-tête
532 <code>Content-MD5</code> selon les définitions des RFC 1864 et
535 <p>MD5 est un algorithme permettant de générer un condensé (parfois
536 appelé "empreinte") à partir de données d'une taille aléatoire ; le
537 degré de précision est tel que la moindre altération des données
538 d'origine entraîne une altération de l'empreinte.</p>
540 <p>L'en-tête <code>Content-MD5</code> permet de vérifier
541 l'intégrité de la réponse HTTP dans son ensemble. Un serveur mandataire
542 ou un client peut utiliser cet en-tête pour rechercher une
543 éventuelle modification accidentelle de la réponse au cours de sa
544 transmission. Exemple d'en-tête :</p>
546 <div class="example"><p><code>
547 Content-MD5: AuLb7Dp1rqtRtxz2m9kRpA==
550 <p>Notez que des problèmes de performances peuvent affecter votre
551 serveur, car l'empreinte est générée pour chaque requête (il n'y a
552 pas de mise en cache).</p>
554 <p>L'en-tête <code>Content-MD5</code> n'est envoyé qu'avec les
555 documents servis par le module <code class="module"><a href="../mod/core.html">core</a></code>, à l'exclusion
556 de tout autre module. Ainsi, les documents SSI, les sorties de
557 scripts CGI, et les réponses à des requêtes partielles (byte range)
558 ne comportent pas cet en-tête.</p>
561 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
562 <div class="directive-section"><h2><a name="DefaultType" id="DefaultType">DefaultType</a> <a name="defaulttype" id="defaulttype">Directive</a></h2>
563 <table class="directive">
564 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Les seuls effets de cette directive sont des émissions
565 d'avertissements si sa valeur est différente de <code>none</code>. Dans
566 les versions précédentes, DefaultType permettait de spécifier un type de
567 média à assigner par défaut au contenu d'une réponse pour lequel aucun
568 autre type de média n'avait été trouvé.
570 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DefaultType <var>type média|none</var></code></td></tr>
571 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DefaultType none</code></td></tr>
572 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
573 <tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>FileInfo</td></tr>
574 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
575 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
576 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>L'argument <code>none</code> est disponible dans les
577 versions d'Apache httpd 2.2.7 et supérieures. Tous les autres choix sont
578 DESACTIVÉS à partir des version 2.3.x.</td></tr>
580 <p>Cette directive a été désactivée. Pour la compatibilité
581 ascendante avec les anciens fichiers de configuration, elle peut
582 être spécifiée avec la valeur <code>none</code>, c'est à dire sans
583 type de médium par défaut. Par exemple :</p>
585 <div class="example"><p><code>
588 <p><code>DefaultType None</code> n'est disponible que dans les
589 versions d'Apache 2.2.7 et supérieures.</p>
591 <p>Utilisez le fichier de configuration mime.types et la directive
592 <code class="directive"><a href="../mod/mod_mime.html#addtype">AddType</a></code> pour configurer
593 l'assignement d'un type de médium via les extensions de fichiers, ou
594 la directive <code class="directive"><a href="#forcetype">ForceType</a></code> pour
595 attribuer un type de médium à des ressources spécifiques. Dans le
596 cas contraire, le serveur enverra sa réponse sans champ d'en-tête
597 Content-Type, et le destinataire devra déterminer lui-même le type
601 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
602 <div class="directive-section"><h2><a name="Define" id="Define">Define</a> <a name="define" id="define">Directive</a></h2>
603 <table class="directive">
604 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Permet de définir l'existence d'une variable</td></tr>
605 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Define <var>nom variable</var></code></td></tr>
606 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
607 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
608 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
610 <p>Cette directive produit le même effet que l'argument
611 <code>-D</code> du programme <code class="program"><a href="../programs/httpd.html">httpd</a></code>.</p>
612 <p>Elle permet de faire basculer le fonctionnement de sections
613 <code class="directive"><a href="#ifdefine"><IfDefine></a></code> sans
614 avoir à modifier les arguments de l'option <code>-D</code> dans
615 aucun script de démarrage.</p>
618 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
619 <div class="directive-section"><h2><a name="Directory" id="Directory"><Directory></a> <a name="directory" id="directory">Directive</a></h2>
620 <table class="directive">
621 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Regroupe un ensemble de directives qui ne s'appliquent
622 qu'au répertoire concerné du système de fichiers et à ses
623 sous-répertoires</td></tr>
624 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><Directory <var>chemin répertoire</var>>
625 ... </Directory></code></td></tr>
626 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
627 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
628 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
630 <p>Les balises <code class="directive"><Directory></code> et
631 <code></Directory></code> permettent de regrouper un ensemble
632 de directives qui ne s'appliquent qu'au répertoire précisé
633 et à ses sous-répertoires. Toute directive
634 autorisée dans un contexte de répertoire peut être utilisée.
635 <var>chemin répertoire</var> est soit le chemin absolu d'un
636 répertoire, soit une chaîne de caractères avec caractères génériques
637 utilisant la comparaison Unix de style shell. Dans une chaîne de
638 caractères avec caractères génériques, <code>?</code> correspond à
639 un caractère quelconque, et <code>*</code> à toute chaîne de
640 caractères. Les intervalles de caractères <code>[]</code> sont aussi
641 autorisés. Aucun caractère générique ne peut remplacer le caractère
642 `/', si bien que l'expression <code><Directory
643 /*/public_html></code> ne conviendra pas pour le chemin
644 * <code>/home/user/public_html</code>, alors que <code><Directory
645 /home/*/public_html></code> conviendra. Exemple :</p>
647 <div class="example"><p><code>
648 <Directory /usr/local/httpd/htdocs><br />
649 <span class="indent">
650 Options Indexes FollowSymLinks<br />
656 <p>Soyez prudent avec l'argument <var>chemin répertoire</var> : il
657 doit correspondre exactement au chemin du système de fichier
658 qu'Apache httpd utilise pour accéder aux fichiers. Les directives
659 comprises dans une section <code><Directory></code> ne
660 s'appliqueront pas aux fichiers du même répertoire auxquels on
661 aura accédé via un chemin différent, per exemple via un lien
665 <p> Les <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">Expressions rationnelles</a>
666 peuvent aussi être utilisées en ajoutant le caractère
667 <code>~</code>. Par exemple :</p>
669 <div class="example"><p><code>
670 <Directory ~ "^/www/.*/[0-9]{3}">
673 <p>pourra correspondre à tout répertoire situé dans /www/ et dont le
674 nom se compose de trois chiffres.</p>
676 <p>Si plusieurs sections <code class="directive"><Directory></code> (sans expression rationnelle)
677 correspondent au répertoire (ou à un de ses parents) qui contient le
678 document, les directives de la section <code class="directive"><Directory></code> dont le chemin est le plus
679 court sont appliquées en premier, en s'intercalant avec les
680 directives des fichiers <a href="#accessfilename">.htaccess</a>. Par
683 <div class="example"><p><code>
684 <Directory /><br />
685 <span class="indent">
686 AllowOverride None<br />
688 </Directory><br />
690 <Directory /home/><br />
691 <span class="indent">
692 AllowOverride FileInfo<br />
697 <p>l'accès au document <code>/home/web/dir/doc.html</code> emprunte
698 le chemin suivant :</p>
701 <li>Aplication de la directive <code>AllowOverride None</code>
702 (qui désactive les fichiers <code>.htaccess</code>).</li>
704 <li>Application de la directive <code>AllowOverride
705 FileInfo</code> (pour le répertoire <code>/home</code>).</li>
707 <li>Application de toute directive <code>FileInfo</code> qui se
708 trouverait dans d'éventuels fichiers <code>/home/.htaccess</code>,
709 <code>/home/web/.htaccess</code> ou
710 <code>/home/web/dir/.htaccess</code>, dans cet ordre.</li>
713 <p>Les directives associées aux répertoires sous forme d'expressions
714 rationnelles ne sont prises en compte qu'une fois toutes les
715 directives des sections sans expressions rationnelles appliquées.
716 Alors, tous les répertoires avec expressions rationnelles sont
717 testés selon l'ordre dans lequel ils apparaissent dans le fichier de
718 configuration. Par exemple, avec</p>
720 <div class="example"><p><code>
721 <Directory ~ abc$><br />
722 <span class="indent">
723 # ... directives here ...<br />
728 <p>la section avec expression rationnelle ne sera prise en compte
729 qu'après les sections <code class="directive"><Directory></code> sans expression rationnelle
730 et les fichiers <code>.htaccess</code>. Alors, l'expression
731 rationnelle conviendra pour <code>/home/abc/public_html/abc</code>
732 et la section <code class="directive"><Directory></code>
733 correspondante s'appliquera.</p>
735 <p><strong>Notez que la politique d'accès par défaut
736 dans les sections <code><Directory /></code> est <code>Allow
737 from All</code>. Ceci signifie qu'Apache httpd va servir tout fichier
738 correspondant à une URL. Il est recommandé de modifier cette
739 situation à l'aide d'un bloc du style</strong></p>
741 <div class="example"><p><code>
742 <Directory /><br />
743 <span class="indent">
744 Order Deny,Allow<br />
750 <p><strong>puis d'affiner la configuration pour les répertoires que vous
751 voulez rendre accessibles. Voir la page <a href="../misc/security_tips.html">Conseils à propos de sécurité</a>
752 pour plus de détails.</strong></p>
754 <p>Les sections <code class="directive"><Directory></code> se situent
755 dans le fichier <code>httpd.conf</code>. Les directives <code class="directive"><Directory></code> ne peuvent pas être imbriquées
756 et ne sont pas autorisées dans les sections <code class="directive"><a href="#limit"><Limit></a></code> ou <code class="directive"><a href="#limitexcept"><LimitExcept></a></code>.</p>
760 <li><a href="../sections.html">Comment fonctionnent les sections
761 <Directory>, <Location> et <Files></a> pour des
762 explications à propos de la manière dont ces différentes sections se
763 combinent entre elles à la réception d'une requête</li>
766 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
767 <div class="directive-section"><h2><a name="DirectoryMatch" id="DirectoryMatch"><DirectoryMatch></a> <a name="directorymatch" id="directorymatch">Directive</a></h2>
768 <table class="directive">
769 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Regroupe des directives qui s'appliquent à des répertoires
770 du système de fichiers correspondant à une expression rationnelle</td></tr>
771 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><DirectoryMatch <var>regex</var>>
772 ... </DirectoryMatch></code></td></tr>
773 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
774 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
775 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
777 <p>Les balises <code class="directive"><DirectoryMatch></code>
778 et <code></DirectoryMatch></code> permettent de regrouper un
779 ensemble de directives qui ne s'appliqueront qu'au répertoire
780 précisé, comme pour la section <code class="directive"><a href="#directory"><Directory></a></code>. Cependant, le
781 répertoire est précisé sous la forme d'une <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression rationnelle</a>. Par exemple :</p>
783 <div class="example"><p><code>
784 <DirectoryMatch "^/www/(.+/)?[0-9]{3}">
787 <p>conviendrait pour les sous-répertoires de <code>/www/</code> dont
788 le nom se compose de trois chiffres.</p>
790 <div class="note"><h3>Compatibilité</h3>
791 Avant la version 2.3.9, cette directive s'appliquait aussi aux
792 sous-répertoires (comme la directive <code class="directive"><a href="#directory"><Directory></a></code>), et ne tenait pas compte du
793 symbole de fin de ligne ($). Depuis la version 2.3.9, seuls les
794 répertoires qui correspondent à l'expression sont affectés par les
795 directives contenues dans la section.
798 <div class="note"><h3>slash de fin</h3>
799 Cette directive s'applique aux requêtes pour des répertoires avec
800 ou sans slash de fin ; les expressions contenant un symbole de fin
801 de ligne ($) doivent donc faire l'objet d'une attention
807 <li><code class="directive"><a href="#directory"><Directory></a></code>
808 pour une description de la manière dont les expressions rationnelles
809 sont traitées en présence d'autres sections <code class="directive"><Directory></code> sans expressions rationnelles</li>
810 <li><a href="../sections.html">Comment fonctionnent les sections
811 <Directory>, <Location> et <Files></a> pour une
812 explication à propos de la manière dont ces différentes sections se
813 combinent entre elles à la réception d'une requête</li>
816 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
817 <div class="directive-section"><h2><a name="DocumentRoot" id="DocumentRoot">DocumentRoot</a> <a name="documentroot" id="documentroot">Directive</a></h2>
818 <table class="directive">
819 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Racine principale de l'arborescence des documents visible
820 depuis Internet</td></tr>
821 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DocumentRoot <var>chemin répertoire</var></code></td></tr>
822 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DocumentRoot /usr/local/apache/htdocs</code></td></tr>
823 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
824 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
825 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
827 <p>Cette directive permet de définir le répertoire à partir duquel
828 <code class="program"><a href="../programs/httpd.html">httpd</a></code> va servir les fichiers. S'il ne correspond
829 pas à un <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>, le chemin
830 de l'URL sera ajouté par le serveur à la racine des documents afin
831 de construire le chemin du document recherché. Exemple :</p>
833 <div class="example"><p><code>
834 DocumentRoot /usr/web
837 <p>un accès à <code>http://www.my.host.com/index.html</code> se
838 réfère alors à <code>/usr/web/index.html</code>. Si <var>chemin
839 répertoire</var> n'est pas un chemin absolu, il est considéré comme
840 relatif au chemin défini par la directive <code class="directive"><a href="#serverroot">ServerRoot</a></code>.</p>
842 <p>Le répertoire défini par la directive
843 <code class="directive">DocumentRoot</code> ne doit pas comporter de slash
848 <li><a href="../urlmapping.html#documentroot">Mise en
849 correspondance des URLs avec le système de fichiers</a></li>
852 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
853 <div class="directive-section"><h2><a name="EnableMMAP" id="EnableMMAP">EnableMMAP</a> <a name="enablemmap" id="enablemmap">Directive</a></h2>
854 <table class="directive">
855 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utilise la projection en mémoire (Memory-Mapping) pour
856 lire les fichiers pendant qu'ils sont servis</td></tr>
857 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>EnableMMAP On|Off</code></td></tr>
858 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>EnableMMAP On</code></td></tr>
859 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
860 <tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>FileInfo</td></tr>
861 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
862 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
864 <p>Cette directive définit si <code class="program"><a href="../programs/httpd.html">httpd</a></code> peut utiliser
865 la projection en mémoire (Memory-Mapping) quand il doit lire le contenu
866 d'un fichier pendant qu'il est servi. Par défaut, lorsque le
867 traitement d'une requête requiert l'accès aux données contenues dans
868 un fichier -- par exemple, pour servir un fichier interprété par le
869 serveur à l'aide de <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> -- Apache httpd projette
870 le fichier en mémoire si le système d'exploitation le permet.</p>
872 <p>Cette projection en mémoire induit parfois une amélioration des
873 performances. Sur certains systèmes cependant, il est préférable de
874 désactiver la projection en mémoire afin d'éviter certains problèmes
878 <li>Sur certains systèmes multi-processeurs, la projection en
879 mémoire peut dégrader les performances du programme
880 <code class="program"><a href="../programs/httpd.html">httpd</a></code>.</li>
884 <p>Pour les configurations de serveur sujettes à ce genre de
885 problème, il est préférable de désactiver la projection en mémoire
886 des fichiers servis en spécifiant :</p>
887 <p>S'il fait l'objet d'une projection en mémoire par
888 <code class="program"><a href="../programs/httpd.html">httpd</a></code>, la suppression ou la troncature d'un
889 fichier peut provoquer un crash de <code class="program"><a href="../programs/httpd.html">httpd</a></code> avec une
890 erreur de segmentation.</p>
891 <div class="example"><p><code>
895 <p>Pour les montages NFS, cette fonctionnalité peut être
896 explicitement désactivée pour les fichiers concernés en spécifiant
899 <div class="example"><p><code>
900 <Directory "/chemin vers montage NFS">
901 <span class="indent">
908 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
909 <div class="directive-section"><h2><a name="EnableSendfile" id="EnableSendfile">EnableSendfile</a> <a name="enablesendfile" id="enablesendfile">Directive</a></h2>
910 <table class="directive">
911 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utilise le support sendfile du noyau pour servir les
912 fichiers aux clients</td></tr>
913 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>EnableSendfile On|Off</code></td></tr>
914 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>EnableSendfile Off</code></td></tr>
915 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
916 <tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>FileInfo</td></tr>
917 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
918 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
919 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible dans les versions 2.0.44 et
920 supérieures. Par défaut à Off depuis la version 2.3.9.</td></tr>
922 <p>Cette directive définit si le programme <code class="program"><a href="../programs/httpd.html">httpd</a></code>
923 peut utiliser le support sendfile du noyau pour transmettre le
924 contenu des fichiers aux clients. Par défaut, lorsque le traitement
925 d'une requête ne requiert pas l'accès aux données contenues dans un
926 fichier -- par exemple, pour la transmission d'un fichier statique
927 -- Apache httpd utilise sendfile pour transmettre le contenu du fichier
928 sans même lire ce dernier, si le système d'exploitation le
931 <p>Ce mécanisme sendfile évite la séparation des opérations de
932 lecture et d'envoi, ainsi que les réservations de tampons. sur
933 certains systèmes cependant, ou sous certains systèmes de fichiers,
934 il est préférable de désactiver cette fonctionnalité afin d'éviter
935 certains problèmes opérationnels :</p>
938 <li>Certains systèmes peuvent présenter un support sendfile
939 défectueux que le système de compilation n'a pas détecté, en
940 particulier si les exécutables ont été compilés sur une autre
941 machine, puis copiés sur la première avec un support sendfile
943 <li>Sous Linux, l'utilisation de sendfile induit des bogues lors de
944 la récupération des paquets de vérification TCP (TCP-checksum) avec
945 certaines cartes réseau lorsqu'on utilise IPv6.</li>
946 <li>Sous Linux sur Itanium, sendfile peut s'avérer incapable de
947 traiter les fichiers de plus de 2 Go.</li>
948 <li>Avec un montage réseau de <code class="directive"><a href="#documentroot">DocumentRoot</a></code> (par exemple NFS, SMB, CIFS,
950 noyau peut s'avérer incapable de servir un fichier de ce montage
951 réseau en passant par son propre cache.</li>
954 <p>Pour les configurations de serveur non sujettes à ce genre de
955 problème, vous pouvez activer cette fonctionnalité en
958 <div class="example"><p><code>
962 <p>Pour les montages réseau, cette fonctionnalité peut être
963 explicitement désactivée pour les fichiers concernés en spécifiant
966 <div class="example"><p><code>
967 <Directory "/chemin vers montage réseau">
968 <span class="indent">
973 <p>Veuillez noter que la configuration de la directive
974 <code class="directive">EnableSendfile</code> dans un contexte de répertoire
975 ou de fichier .htaccess n'est pas supportée par
976 <code class="module"><a href="../mod/mod_disk_cache.html">mod_disk_cache</a></code>. Le module ne prend en compte la
977 définition de <code class="directive">EnableSendfile</code> que dans un
982 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
983 <div class="directive-section"><h2><a name="ErrorDocument" id="ErrorDocument">ErrorDocument</a> <a name="errordocument" id="errordocument">Directive</a></h2>
984 <table class="directive">
985 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Document que le serveur renvoie au client en cas
987 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ErrorDocument <var>code erreur</var> <var>document</var></code></td></tr>
988 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
989 <tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>FileInfo</td></tr>
990 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
991 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
992 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>La syntaxe des guillemets pour les messages textes est
993 différente dans la version 2.0 du serveur HTTP Apache</td></tr>
995 <p>Apache httpd peut traiter les problèmes et les erreurs de quatre
999 <li>afficher un simple message d'erreur au contenu fixe</li>
1001 <li>afficher un message personnalisé</li>
1003 <li>rediriger vers un <var>chemin d'URL</var> local pour traiter
1004 le problème ou l'erreur</li>
1006 <li>rediriger vers une <var>URL</var> externe pour traiter
1007 le problème ou l'erreur</li>
1010 <p>La première option constitue le comportement par défaut; pour
1011 choisir une des trois autres options, il faut configurer Apache à
1012 l'aide de la directive <code class="directive">ErrorDocument</code>, suivie
1013 du code de la réponse HTTP et d'une URL ou d'un message. Apache
1014 httpd fournit parfois des informations supplémentaires à propos du
1015 problème ou de l'erreur.</p>
1017 <p>Les URLs peuvent commencer par un slash (/) pour les chemins web
1018 locaux (relatifs au répertoire défini par la directive <code class="directive"><a href="#documentroot">DocumentRoot</a></code>), ou se présenter sous la
1019 forme d'une URL complète que le client pourra résoudre.
1020 Alternativement, un message à afficher par le navigateur pourra être
1021 fourni. Exemples :</p>
1023 <div class="example"><p><code>
1024 ErrorDocument 500 http://foo.example.com/cgi-bin/tester<br />
1025 ErrorDocument 404 /cgi-bin/bad_urls.pl<br />
1026 ErrorDocument 401 /subscription_info.html<br />
1027 ErrorDocument 403 "Désolé, vous n'avez pas l'autorisation d'accès
1031 <p>De plus, on peut spécifier la valeur spéciale <code>default</code>
1032 pour indiquer l'utilisation d'un simple message d'Apache httpd codé en
1033 dur. Bien que non nécessaire dans des circonstances normales, la
1034 spécification de la valeur <code>default</code> va permettre de
1035 rétablir l'utilisation du simple message d'Apache httpd codé en dur pour
1036 les configurations qui sans cela, hériteraient d'une directive
1037 <code class="directive">ErrorDocument</code> existante.</p>
1039 <div class="example"><p><code>
1040 ErrorDocument 404 /cgi-bin/bad_urls.pl<br /><br />
1041 <Directory /web/docs><br />
1042 <span class="indent">
1043 ErrorDocument 404 default<br />
1048 <p>Notez que lorsque vous spécifiez une directive
1049 <code class="directive">ErrorDocument</code> pointant vers une URL distante
1050 (c'est à dire tout ce qui commence par le préfixe http), le serveur
1052 envoyer une redirection au client afin de lui indiquer où trouver le
1053 document, même dans le cas où ce document se trouve sur le serveur
1054 local. Ceci a de nombreuses conséquences dont la plus importante
1055 réside dans le fait que le client ne recevra pas le code d'erreur
1056 original, mais au contraire un code de statut de redirection. Ceci
1057 peut en retour semer la confusion chez les robots web et divers
1058 clients qui tentent de déterminer la validité d'une URL en examinant
1059 le code de statut. De plus, si vous utilisez une URL distante avec
1060 <code>ErrorDocument 401</code>, le client ne saura pas qu'il doit
1061 demander un mot de passe à l'utilisateur car il ne recevra pas le
1062 code de statut 401. C'est pourquoi, <strong>si vous utilisez une
1063 directive <code>ErrorDocument 401</code>, elle devra faire référence
1064 à un document par le biais d'un chemin local.</strong></p>
1066 <p>Microsoft Internet Explorer (MSIE) ignore par défaut les messages
1067 d'erreur générés par le serveur lorsqu'ils sont trop courts et
1068 remplacent ses propres messages d'erreur "amicaux". Le seuil de
1069 taille varie en fonction du type d'erreur, mais en général, si la
1070 taille de votre message d'erreur est supérieure à 512 octets, il y a
1071 peu de chances pour que MSIE l'occulte, et il sera affiché par ce
1072 dernier. Vous trouverez d'avantage d'informations dans l'article de
1073 la base de connaissances Microsoft <a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;Q294807">Q294807</a>.</p>
1075 <p>Bien que la plupart des messages d'erreur internes originaux
1076 puissent être remplacés, ceux-ci sont cependant conservés dans
1077 certaines circonstances sans tenir compte de la définition de la
1078 directive <code class="directive"><a href="#errordocument">ErrorDocument</a></code>. En
1079 particulier, en cas de détection d'une requête mal formée, le
1080 processus de traitement normal des requêtes est immédiatement
1081 interrompu, et un message d'erreur interne est renvoyé, ceci afin de
1082 se prémunir contre les problèmes de sécurité liés aux requêtes mal
1085 <p>Si vous utilisez mod_proxy, il est en général préférable
1086 d'activer <code class="directive"><a href="../mod/mod_proxy.html#proxyerroroverride">ProxyErrorOverride</a></code> afin d'être en
1087 mesure de produire des messages d'erreur personnalisés pour le
1088 compte de votre serveur d'origine. Si vous n'activez pas
1089 ProxyErrorOverride, Apache httpd ne générera pas de messages d'erreur
1090 personnalisés pour le contenu mandaté.</p>
1095 <li><a href="../custom-error.html">documentation sur la
1096 personnalisation des réponses</a></li>
1099 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1100 <div class="directive-section"><h2><a name="ErrorLog" id="ErrorLog">ErrorLog</a> <a name="errorlog" id="errorlog">Directive</a></h2>
1101 <table class="directive">
1102 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définition du chemin du journal des erreurs</td></tr>
1103 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code> ErrorLog <var>chemin fichier</var>|syslog[:<var>facility</var>]</code></td></tr>
1104 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ErrorLog logs/error_log (Unix) ErrorLog logs/error.log (Windows and OS/2)</code></td></tr>
1105 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
1106 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
1107 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
1109 <p>La directive <code class="directive">ErrorLog</code> permet de définir le
1110 nom du fichier dans lequel le serveur va journaliser toutes les
1111 erreurs qu'il rencontre. Si le <var>chemin fichier</var> n'est pas
1112 absolu, il est considéré comme relatif au chemin défini par la
1113 directive <code class="directive"><a href="#serverroot">ServerRoot</a></code>.</p>
1115 <div class="example"><h3>Exemple</h3><p><code>
1116 ErrorLog /var/log/httpd/error_log
1119 <p>Si le <var>chemin fichier</var> commence par une barre verticale
1120 "<code>(|)</code>", il est considéré comme une commande à lancer pour traiter la
1121 journalisation de l'erreur.</p>
1123 <div class="example"><h3>Exemple</h3><p><code>
1124 ErrorLog "|/usr/local/bin/erreurs_httpd"
1127 <p>Voir les notes à propos des <a href="../logs.html#piped">journaux
1128 redirigés</a> pour plus d'informations.</p>
1130 <p>L'utilisation de <code>syslog</code> à la place d'un nom de
1131 fichier active la journalisation via syslogd(8) si le système le
1132 supporte. Le dispositif syslog par défaut est <code>local7</code>,
1133 mais vous pouvez le modifier à l'aide de la syntaxe
1134 <code>syslog:<var>facility</var></code>, où <var>facility</var> peut
1135 être remplacé par un des noms habituellement documentés dans la page
1136 de man syslog(1).</p>
1138 <div class="example"><h3>Exemple</h3><p><code>
1139 ErrorLog syslog:user
1142 <p>SECURITE : Voir le document <a href="../misc/security_tips.html#serverroot">conseils à propos de
1143 sécurité</a> pour des détails sur les raisons pour lesquelles votre
1144 sécurité peut être compromise si le répertoire contenant les
1145 fichiers journaux présente des droits en écriture pour tout autre
1146 utilisateur que celui sous lequel le serveur est démarré.</p>
1147 <div class="warning"><h3>Note</h3>
1148 <p>Lors de la spécification d'un chemin de fichier sur les
1149 plates-formes non-Unix, on doit veiller à n'utiliser que des
1150 slashes (/), même si la plate-forme autorise l'utilisation des
1151 anti-slashes (\). Et d'une manière générale, il est recommandé de
1152 n'utiliser que des slashes (/) dans les fichiers de
1158 <li><code class="directive"><a href="#loglevel">LogLevel</a></code></li>
1159 <li><a href="../logs.html">Fichiers journaux du serveur HTTP Apache</a></li>
1162 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1163 <div class="directive-section"><h2><a name="ErrorLogFormat" id="ErrorLogFormat">ErrorLogFormat</a> <a name="errorlogformat" id="errorlogformat">Directive</a></h2>
1164 <table class="directive">
1165 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécification du format des entrées du journal des erreurs</td></tr>
1166 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code> ErrorLog [connection|request] <var>format</var></code></td></tr>
1167 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
1168 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
1169 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
1170 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.9 d'Apache</td></tr>
1172 <p>La directive <code class="directive">ErrorLogFormat</code> permet de
1173 spécifier quelles informations supplémentaires vont être enregistrées
1174 dans le journal des erreurs en plus du message habituel.</p>
1176 <div class="example"><h3>Exemple simple</h3><p><code>
1177 ErrorLogFormat "[%t] [%l] [pid %P] %F: %E: [client %a] %M"
1180 <p>La spécification de <code>connection</code> ou
1181 <code>request</code> comme premier paramètre permet de définir des
1182 formats supplémentaires, ce qui a pour effet de journaliser des
1183 informations additionnelles lorsque le premier message est
1184 enregistré respectivement pour une connexion ou une requête
1185 spécifique. Ces informations additionnelles ne sont enregistrées
1186 qu'une seule fois par connexion/requête. Si le traitement d'une
1187 connexion ou d'une requête ne génère aucun message dans le journal,
1188 alors aucune information additionnelle n'est enregistrée.</p>
1190 <p>Il peut arriver que certains items de la chaîne de format ne
1191 produisent aucune sortie. Par exemple, l'en-tête Referer n'est
1192 présent que si le message du journal est associé à une requête et s'il
1193 est généré à un moment où l'en-tête Referer a déjà été lu par le
1194 client. Si aucune sortie n'est générée, le comportement par défaut
1195 consiste à supprimer tout ce qui se trouve entre l'espace précédent
1196 et le suivant. Ceci implique que la ligne de journalisation est
1197 divisée en champs ne contenant pas d'espace séparés par des espaces.
1198 Si un item de la chaîne de format ne génère aucune sortie,
1199 l'ensemble du champ est omis. Par exemple, si l'adresse distante
1200 <code>%a</code> du format <code>[%t] [%l] [%a] %M </code> n'est
1201 pas disponible, les crochets qui l'entourent ne seront eux-mêmes pas
1202 enregistrés. Il est possible d'échapper les espaces par un anti-slash
1203 afin qu'ils ne soient pas considérés comme séparateurs de champs.
1204 La combinaison '% ' (pourcentage espace) est un délimiteur de
1205 champ de taille nulle qui ne génère aucune sortie.</p>
1207 <p>Ce comportement peut être changé en ajoutant des modificateurs à
1208 l'item de la chaîne de format. Le modificateur <code>-</code>
1209 (moins) provoque l'enregistrement d'un signe moins si l'item
1210 considéré ne génère aucune sortie. Pour les formats à enregistrement
1211 unique par connexion/requête, il est aussi possible d'utiliser le
1212 modificateur <code>+</code> (plus). Si un item ne générant aucune
1213 sortie possède le modificateur plus, la ligne dans son ensemble est
1216 <p>Un modificateur de type entier permet d'assigner un niveau de
1217 sévérité à un item de format. L'item considéré ne
1218 sera journalisé que si la sévérité du message n'est pas
1219 plus haute que le niveau de sévérité spécifié. Les
1220 valeurs possibles vont de 1 (alert) à 15 (trace8), en passant par 4
1221 (warn) ou 7 (debug).</p>
1223 <p>Certains items de format acceptent des paramètres supplémentaires
1224 entre accolades.</p>
1226 <table class="bordered"><tr class="header"><th>Chaîne de format</th> <th>Description</th></tr>
1227 <tr><td><code>%%</code></td>
1228 <td>Le signe pourcentage</td></tr>
1229 <tr class="odd"><td><code>%...a</code></td>
1230 <td>Adresse IP et port distants</td></tr>
1231 <tr><td><code>%...A</code></td>
1232 <td>Adresse IP et port locaux</td></tr>
1233 <tr class="odd"><td><code>%...{name}e</code></td>
1234 <td>Variable d'environnement de requête <code>name</code></td></tr>
1235 <tr><td><code>%...E</code></td>
1236 <td>Etat d'erreur APR/OS et chaîne</td></tr>
1237 <tr class="odd"><td><code>%...F</code></td>
1238 <td>Nom du fichier source et numéro de ligne de l'appel du
1240 <tr><td><code>%...{name}i</code></td>
1241 <td>En-tête de requête <code>name</code></td></tr>
1242 <tr class="odd"><td><code>%...k</code></td>
1243 <td>Nombre de requêtes persistantes pour cette connexion</td></tr>
1244 <tr><td><code>%...l</code></td>
1245 <td>Sévérité du message</td></tr>
1246 <tr class="odd"><td><code>%...L</code></td>
1247 <td>Identifiant journal de la requête</td></tr>
1248 <tr><td><code>%...{c}L</code></td>
1249 <td>Identifiant journal de la connexion</td></tr>
1250 <tr class="odd"><td><code>%...{C}L</code></td>
1251 <td>Identifiant journal de la connexion si utilisé dans la
1252 portée de la connexion, vide sinon</td></tr>
1253 <tr><td><code>%...m</code></td>
1254 <td>Nom du module qui effectue la journalisation du message</td></tr>
1255 <tr class="odd"><td><code>%M</code></td>
1256 <td>Le message effectif</td></tr>
1257 <tr><td><code>%...{name}n</code></td>
1258 <td>Note de requête <code>name</code></td></tr>
1259 <tr class="odd"><td><code>%...P</code></td>
1260 <td>Identifiant du processus courant</td></tr>
1261 <tr><td><code>%...T</code></td>
1262 <td>Identifiant du thread courant</td></tr>
1263 <tr class="odd"><td><code>%...t</code></td>
1264 <td>L'heure courante</td></tr>
1265 <tr><td><code>%...{u}t</code></td>
1266 <td>L'heure courante avec les microsecondes</td></tr>
1267 <tr class="odd"><td><code>%...{cu}t</code></td>
1268 <td>L'heure courante au format compact ISO 8601, avec les
1269 microsecondes</td></tr>
1270 <tr><td><code>%...v</code></td>
1271 <td>Le nom de serveur canonique <code class="directive"><a href="#servername">ServerName</a></code> du serveur courant.</td></tr>
1272 <tr class="odd"><td><code>%...V</code></td>
1273 <td>Le nom de serveur du serveur qui sert la requête en accord
1274 avec la définition de la directive <code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code>.</td></tr>
1275 <tr><td><code>\ </code> (anti-slash espace)</td>
1276 <td>Espace non délimiteur</td></tr>
1277 <tr class="odd"><td><code>% </code> (pourcentage espace)</td>
1278 <td>Délimiteur de champ (aucune sortie)</td></tr>
1281 <p>L'item de format identifiant journal <code>%L</code> génère un
1282 identifiant unique pour une connexion ou une requête. Il peut servir
1283 à déterminer quelles lignes correspondent à la même connexion ou
1284 requête ou quelle requête est associée à tel connexion. Un item de
1285 format <code>%L</code> est aussi disponible dans le module
1286 <code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code>, mais il permet dans ce contexte de
1287 corréler les entrées du journal des accès avec celles du journal des
1288 erreurs. Si le module <code class="module"><a href="../mod/mod_unique_id.html">mod_unique_id</a></code> est chargé,
1289 c'est son identifiant unique qui sera utilisé comme identifiant de
1290 journal pour les requêtes.</p>
1292 <div class="example"><h3>Exemple (assez similaire au format par défaut)</h3><p><code>
1293 ErrorLogFormat "[%{u}t] [%-m:%l] [pid %P] %7F: %E: [client\ %a]
1294 %M% ,\ referer\ %{Referer}i"
1297 <div class="example"><h3>Exemple (similaire au format 2.2.x)</h3><p><code>
1298 ErrorLogFormat "[%t] [%l] %7F: %E: [client\ %a]
1299 %M% ,\ referer\ %{Referer}i"
1302 <div class="example"><h3>Exemple avancé avec identifiants journal de
1303 requête/connexion</h3><p><code>
1304 ErrorLogFormat "[%{uc}t] [%-m:%-l] [R:%L] [C:%{C}L] %7F: %E: %M"<br />
1305 ErrorLogFormat request "[%{uc}t] [R:%L] Request %k on C:%{c}L pid:%P tid:%T"<br />
1306 ErrorLogFormat request "[%{uc}t] [R:%L] UA:'%+{User-Agent}i'"<br />
1307 ErrorLogFormat request "[%{uc}t] [R:%L] Referer:'%+{Referer}i'"<br />
1308 ErrorLogFormat connection "[%{uc}t] [C:%{c}L] local\ %a remote\ %A"<br />
1314 <li><code class="directive"><a href="#errorlog">ErrorLog</a></code></li>
1315 <li><code class="directive"><a href="#loglevel">LogLevel</a></code></li>
1316 <li><a href="../logs.html">Fichiers journaux du serveur HTTP Apache</a></li>
1319 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1320 <div class="directive-section"><h2><a name="ExtendedStatus" id="ExtendedStatus">ExtendedStatus</a> <a name="extendedstatus" id="extendedstatus">Directive</a></h2>
1321 <table class="directive">
1322 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Extrait des informations d'état étendues pour chaque
1324 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ExtendedStatus On|Off</code></td></tr>
1325 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ExtendedStatus Off</code></td></tr>
1326 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
1327 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
1328 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
1331 <p>Cette option permet d'extraire des données supplémentaires
1332 concernant la requête en cours de traitement pour un processus
1333 donné, ainsi qu'un résumé d'utilisation ; vous pouvez accéder à
1334 ces variables pendant l'exécution en configurant
1335 <code class="module"><a href="../mod/mod_status.html">mod_status</a></code>. Notez que d'autres modules sont
1336 susceptibles de s'appuyer sur ce tableau de bord.</p>
1338 <p>Cette directive s'applique au serveur dans son ensemble, et ne
1339 peut pas être activée/désactivée pour un serveur virtuel
1340 particulier. Notez que l'extraction des informations d'état étendues
1341 peut ralentir le serveur. Notez aussi que cette définition ne peut
1342 pas être modifiée au cours d'un redémarrage graceful.</p>
1345 <p>Notez que le chargement de <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> définit
1346 automatiquement ExtendedStatus à On, et que d'autres modules tiers
1347 sont susceptibles d'en faire de même. De tels modules ont besoin
1348 d'informations détaillées à propos de l'état de tous les processus.
1349 Depuis la version 2.3.6, <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> a définit la
1350 valeur par défaut à On, alors qu'elle était à Off dans les versions
1356 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1357 <div class="directive-section"><h2><a name="FileETag" id="FileETag">FileETag</a> <a name="fileetag" id="fileetag">Directive</a></h2>
1358 <table class="directive">
1359 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Caractéristiques de fichier utilisées lors de la génération
1360 de l'en-tête de réponse HTTP ETag pour les fichiers statiques</td></tr>
1361 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>FileETag <var>composant</var> ...</code></td></tr>
1362 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>FileETag INode MTime Size</code></td></tr>
1363 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
1364 <tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>FileInfo</td></tr>
1365 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
1366 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
1369 La directive <code class="directive">FileETag</code> définit les
1370 caractéristiques de fichier utilisées lors de la génération de
1371 l'en-tête de réponse HTTP <code>ETag</code> (entity tag) quand le
1372 document est contenu dans un fichier statique(la valeur de
1374 est utilisée dans le cadre de la gestion du cache pour préserver la
1375 bande passante réseau). La directive
1376 <code class="directive">FileETag</code> vous permet maintenant de choisir
1377 quelles caractéristiques du fichier vont être utilisées, le cas
1378 échéant. Les mots-clés reconnus sont :
1382 <dt><strong>INode</strong></dt>
1383 <dd>Le numéro d'i-node du fichier sera inclus dans le processus de
1385 <dt><strong>MTime</strong></dt>
1386 <dd>La date et l'heure auxquelles le fichier a été modifié la
1387 dernière fois seront incluses</dd>
1388 <dt><strong>Size</strong></dt>
1389 <dd>La taille du fichier en octets sera incluse</dd>
1390 <dt><strong>All</strong></dt>
1391 <dd>Tous les champs disponibles seront utilisés. Cette définition
1392 est équivalente à : <div class="example"><p><code>FileETag INode MTime
1393 Size</code></p></div></dd>
1394 <dt><strong>None</strong></dt>
1395 <dd>Si le document se compose d'un fichier, aucun champ
1396 <code>ETag</code> ne sera inclus dans la réponse</dd>
1399 <p>Les mots-clés <code>INode</code>, <code>MTime</code>, et
1400 <code>Size</code> peuvent être préfixés par <code>+</code> ou
1401 <code>-</code>, ce qui permet de modifier les valeurs par défaut
1402 héritées d'un niveau de configuration plus général. Tout mot-clé
1403 apparaissant sans aucun préfixe annule entièrement et immédiatement
1404 les configurations héritées.</p>
1406 <p>Si la configuration d'un répertoire contient
1407 <code>FileETag INode MTime Size</code>, et si un de
1408 ses sous-répertoires contient <code>FileETag -INode</code>, la
1409 configuration de ce sous-répertoire (qui sera propagée vers tout
1410 sou-répertoire qui ne la supplante pas), sera équivalente à
1411 <code>FileETag MTime Size</code>.</p>
1412 <div class="warning"><h3>Avertissement</h3>
1413 Ne modifiez pas les valeurs par défaut pour les répertoires ou
1414 localisations où WebDAV est activé et qui utilisent
1415 <code class="module"><a href="../mod/mod_dav_fs.html">mod_dav_fs</a></code> comme fournisseur de stockage.
1416 <code class="module"><a href="../mod/mod_dav_fs.html">mod_dav_fs</a></code> utilise
1417 <code>INode MTime Size</code> comme format fixe pour les
1418 comparaisons de champs <code>ETag</code> dans les requêtes
1419 conditionnelles. Ces requêtes conditionnelles échoueront si le
1420 format <code>ETag</code> est modifié via la directive
1421 <code class="directive">FileETag</code>.
1423 <div class="note"><h3>Inclusions côté serveur</h3>
1424 Aucun champ ETag n'est généré pour les réponses interprétées par
1425 <code class="module"><a href="../mod/mod_include.html">mod_include</a></code>, car l'entité de la réponse peut
1426 changer sans modification de l'INode, du MTime, ou de la taille du
1427 fichier statique contenant les directives SSI.
1433 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1434 <div class="directive-section"><h2><a name="Files" id="Files"><Files></a> <a name="files" id="files">Directive</a></h2>
1435 <table class="directive">
1436 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des directives qui s'appliquent aux fichiers
1438 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><Files <var>nom fichier</var>> ... </Files></code></td></tr>
1439 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
1440 <tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>All</td></tr>
1441 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
1442 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
1444 <p>La directive <code class="directive"><Files></code> limite
1445 la portée des directives qu'elle contient aux fichiers précisés.
1446 Elle est comparable aux directives <code class="directive"><a href="#directory"><Directory></a></code> et <code class="directive"><a href="#location"><Location></a></code>. Elle doit se terminer par une
1447 balise <code></Files></code>. Les directives contenues dans
1448 cette section s'appliqueront à tout objet dont le nom de base (la
1449 dernière partie du nom de fichier) correspond au fichier spécifié.
1450 Les sections <code class="directive"><Files></code> sont
1451 traitées selon l'ordre dans lequel elles apparaissent dans le
1452 fichier de configuration, après les sections <code class="directive"><a href="#directory"><Directory></a></code> et la lecture des fichiers
1453 <code>.htaccess</code>, mais avant les sections <code class="directive"><a href="#location"><Location></a></code>. Notez que les
1454 sections <code class="directive"><Files></code> peuvent être
1455 imbriquées dans les sections <code class="directive"><a href="#directory"><Directory></a></code> afin de restreindre la portion
1456 du système de fichiers à laquelle ces dernières vont
1459 <p>L'argument <var>filename</var> peut contenir un nom de fichier
1460 ou une chaîne de caractères avec caractères génériques, où
1461 <code>?</code> remplace un caractère, et <code>*</code> toute chaîne
1462 de caractères. On peut aussi utiliser les <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">Expressions rationnelles</a> en ajoutant la
1463 caractère <code>~</code>. Par exemple :</p>
1465 <div class="example"><p><code>
1466 <Files ~ "\.(gif|jpe?g|png)$">
1469 <p>correspondrait à la plupart des formats graphiques de l'Internet.
1470 Il est cependant préférable d'utiliser la directive <code class="directive"><a href="#filesmatch"><FilesMatch></a></code>.</p>
1472 <p>Notez qu'à la différence des sections <code class="directive"><a href="#directory"><Directory></a></code> et <code class="directive"><a href="#location"><Location></a></code>, les sections <code class="directive"><Files></code> peuvent être utilisées dans les
1473 fichiers <code>.htaccess</code>. Ceci permet aux utilisateurs de
1474 contrôler l'accès à leurs propres ressources, fichier par
1480 <li><a href="../sections.html">Comment fonctionnent les sections
1481 <Directory>, <Location> et <Files></a> pour une
1482 explication de la manière dont ces différentes sections se combinent
1483 entre elles à la réception d'une requête</li>
1486 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1487 <div class="directive-section"><h2><a name="FilesMatch" id="FilesMatch"><FilesMatch></a> <a name="filesmatch" id="filesmatch">Directive</a></h2>
1488 <table class="directive">
1489 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des directives qui s'appliquent à des fichiers
1490 spécifiés sous la forme d'expressions rationnelles</td></tr>
1491 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><FilesMatch <var>expression rationnelle</var>> ...
1492 </FilesMatch></code></td></tr>
1493 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
1494 <tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>All</td></tr>
1495 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
1496 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
1498 <p>La section <code class="directive"><FilesMatch></code>
1499 limite la portée des directives qu'elle contient aux fichiers
1500 spécifiés, tout comme le ferait une section <code class="directive"><a href="#files"><Files></a></code>. Mais elle accepte aussi les
1501 <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expressions rationnelles</a>. Par
1504 <div class="example"><p><code>
1505 <FilesMatch "\.(gif|jpe?g|png)$">
1508 <p>correspondrait à la plupart des formats graphiques de
1513 <li><a href="../sections.html">Comment fonctionnent les sections
1514 <Directory>, <Location> et <Files></a> pour une
1515 explication de la manière dont ces différentes sections se combinent
1516 entre elles à la réception d'une requête</li>
1519 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1520 <div class="directive-section"><h2><a name="ForceType" id="ForceType">ForceType</a> <a name="forcetype" id="forcetype">Directive</a></h2>
1521 <table class="directive">
1522 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Force le type de médium spécifié dans le champ d'en-tête
1523 HTTP Content-Type pour les fichiers correspondants</td></tr>
1524 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ForceType <var>type médium</var>|None</code></td></tr>
1525 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
1526 <tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>FileInfo</td></tr>
1527 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
1528 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
1529 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Intégré dans le coeur d'Apache httpd depuis la version
1532 <p>Lorsqu'elle est placée dans un fichier <code>.htaccess</code> ou
1533 une section <code class="directive"><a href="#directory"><Directory></a></code>, <code class="directive"><a href="#location"><Location></a></code>, ou <code class="directive"><a href="#files"><Files></a></code>, cette directive force
1534 l'identification du type MIME des fichiers spécifiés à la valeur de
1535 l'argument <var>type médium</var>. Par exemple, si vous possédez un
1536 répertoire ne contenant que des fichiers GIF, et si vous ne voulez
1537 pas leur ajouter l'extension <code>.gif</code>, vous pouvez utiliser
1540 <div class="example"><p><code>
1544 <p>Notez que cette directive l'emporte sur d'autres associations de
1545 type de médium indirectes définies dans mime.types ou via la
1546 directive <code class="directive"><a href="../mod/mod_mime.html#addtype">AddType</a></code>.</p>
1548 <p>Vous pouvez aussi annuler toute définition plus générale de
1549 <code class="directive">ForceType</code> en affectant la valeur
1550 <code>None</code> à l'argument <var>type médium</var> :</p>
1552 <div class="example"><p><code>
1553 # force le type MIME de tous les fichiers à image/gif:<br />
1554 <Location /images><br />
1555 <span class="indent">
1556 ForceType image/gif<br />
1558 </Location><br />
1560 # mais utilise les méthodes classiques d'attribution du type MIME
1561 # dans le sous-répertoire suivant :<br />
1562 <Location /images/mixed><br />
1563 <span class="indent">
1564 ForceType None<br />
1569 <p>A la base, cette directive écrase le type de contenu généré pour
1570 les fichiers statiques servis à partir du sytème de fichiers. Pour
1571 les ressources autres que les fichiers statiques pour lesquels le
1572 générateur de réponse spécifie en général un type de contenu, cette
1573 directive est ignorée.</p>
1577 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1578 <div class="directive-section"><h2><a name="HostnameLookups" id="HostnameLookups">HostnameLookups</a> <a name="hostnamelookups" id="hostnamelookups">Directive</a></h2>
1579 <table class="directive">
1580 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la recherche DNS sur les adresses IP des
1582 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>HostnameLookups On|Off|Double</code></td></tr>
1583 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>HostnameLookups Off</code></td></tr>
1584 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
1585 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
1586 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
1588 <p>Cette directive active la recherche DNS afin de pouvoir
1589 journaliser les nom d'hôtes (et les passer aux programmes CGI et aux
1590 inclusions SSI via la variable <code>REMOTE_HOST</code>). La valeur
1591 <code>Double</code> déclenche une double recherche DNS inverse. En
1592 d'autres termes, une fois la recherche inverse effectuée, on lance
1593 une recherche directe sur le résultat de cette dernière. Au moins
1594 une des adresses IP fournies par la recherche directe doit
1595 correspondre à l'adresse originale (ce que l'on nomme
1596 <code>PARANOID</code> dans la terminologie "tcpwrappers").</p>
1598 <p>Quelle que soit la configuration, lorsqu'on utilise
1599 <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> pour contrôler l'accès en fonction
1600 du nom d'hôte, une double recherche DNS inverse est effectuée,
1601 sécurité oblige. Notez cependant que le résultat de cette double
1602 recherche n'est en général pas accessible, à moins que vous n'ayez
1603 spécifié <code>HostnameLookups Double</code>. Par exemple, si vous
1604 n'avez spécifié que <code>HostnameLookups On</code>, et si une
1605 requête concerne un objet protégé par des restrictions en fonction
1606 du nom d'hôte, quel que soit le résultat de la double recherche
1607 inverse, les programmes CGI ne recevront que le résultat de la
1608 recherche inverse simple dans la variable
1609 <code>REMOTE_HOST</code>.</p>
1611 <p>La valeur par défaut est <code>Off</code> afin de préserver le
1612 traffic réseau des sites pour lesquels la recherche inverse n'est
1613 pas vraiment nécessaire. Cette valeur par défaut est aussi bénéfique
1614 pour les utilisateurs finaux car il n'ont ainsi pas à subir de temps
1615 d'attente supplémentaires dus aux recherches DNS. Les sites
1616 fortement chargés devraient laisser cette directive à
1617 <code>Off</code>, car les recherches DNS peuvent prendre des temps
1618 très longs. Vous pouvez éventuellement utiliser hors ligne
1619 l'utilitaire <code class="program"><a href="../programs/logresolve.html">logresolve</a></code>, compilé par défaut dans
1620 le sous-répertoire <code>bin</code> de votre répertoire
1621 d'installation, afin de déterminer les noms d'hôtes associés aux
1622 adresses IP journalisées.</p>
1625 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1626 <div class="directive-section"><h2><a name="If" id="If"><If></a> <a name="if" id="if">Directive</a></h2>
1627 <table class="directive">
1628 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des directives qui ne s'appliquent que si une
1629 condition est satisfaite au cours du traitement d'une
1631 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><If <var>expression</var>> ... </If></code></td></tr>
1632 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
1633 <tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>All</td></tr>
1634 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
1635 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
1637 <p>La directive <code class="directive"><If></code> évalue une
1638 expression à la volée, et applique les directives qu'elle contient
1639 si et seulement si l'expression renvoie la valeur "vrai". Par
1642 <div class="example"><p><code>
1643 <If "$req{Host} = ''">
1646 <p>sera satisfaite dans le cas des requêtes HTTP/1.0 sans en-tête
1647 <var>Host:</var>.</p>
1649 <p>Vous pouvez tester la valeur de tout en-tête de requête ($req),
1650 de tout en-tête de réponse ($resp) ou de toute variable
1651 d'environnement ($env) dans votre expression.</p>
1653 <p>En plus de <code>=</code>, <code>If</code> peut utiliser
1654 l'opérateur <code>IN</code> pour déterminer si la valeur de
1655 l'expression fait partie d'une liste donnée :</p>
1657 <div class="example"><p><code>
1658 <If %{REQUEST_METHOD} IN GET,HEAD,OPTIONS>
1664 <li><a href="../sections.html">Comment fonctionnent les sections
1665 <Directory>, <Location> et <Files></a> pour une
1666 explication de la manière dont ces différentes sections se combinent
1667 entre elles à la réception d'une requête. La directive <code class="directive"><If></code> possède la même priorité et s'utilise de
1668 la même façon que la directive <code class="directive"><Files></code></li>
1671 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1672 <div class="directive-section"><h2><a name="IfDefine" id="IfDefine"><IfDefine></a> <a name="ifdefine" id="ifdefine">Directive</a></h2>
1673 <table class="directive">
1674 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des directives qui ne s'appliqueront que si un
1675 test retourne "vrai" au démarrage du serveur</td></tr>
1676 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><IfDefine [!]<var>paramètre</var>> ...
1677 </IfDefine></code></td></tr>
1678 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
1679 <tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>All</td></tr>
1680 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
1681 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
1683 <p>La section <code><IfDefine
1684 <var>test</var>>...</IfDefine></code> permet de
1685 conférer un caractère conditionnel à un ensemble de directives. Les
1686 directives situées à l'intérieur d'une section <code class="directive"><IfDefine></code> ne s'appliquent que si
1687 <var>test</var> est vrai. Si <var>test</var> est faux, tout ce qui
1688 se trouve entre les balises de début et de fin est ignoré.</p>
1690 <p><var>test</var> peut se présenter sous deux formes :</p>
1693 <li><var>nom paramètre</var></li>
1695 <li><code>!</code><var>nom paramètre</var></li>
1698 <p>Dans le premier cas, les directives situées entre les balises de
1699 début et de fin ne s'appliqueront que si le paramètre nommé <var>nom
1700 paramètre</var> est défini. Le second format inverse le test, et
1701 dans ce cas, les directives ne s'appliqueront que si <var>nom
1702 paramètre</var> n'est <strong>pas</strong> défini.</p>
1704 <p>L'argument <var>nom paramètre</var> est une définition qui peut
1705 être effectuée par la ligne de commande
1706 <code class="program"><a href="../programs/httpd.html">httpd</a></code> via le paramètre
1707 <code>-D<var>paramètre</var></code> au démarrage du serveur, ou via la
1708 directive <code class="directive"><a href="#define">Define</a></code>.</p>
1710 <p>Les sections <code class="directive"><IfDefine></code>
1711 peuvent être imbriquées, ce qui permet d'implémenter un test
1712 multi-paramètres simple. Exemple :</p>
1714 <div class="example"><p><code>
1715 httpd -DReverseProxy -DUseCache -DMemCache ...<br />
1718 <IfDefine ReverseProxy><br />
1719 <span class="indent">
1720 LoadModule proxy_module modules/mod_proxy.so<br />
1721 LoadModule proxy_http_module modules/mod_proxy_http.so<br />
1722 <IfDefine UseCache><br />
1723 <span class="indent">
1724 LoadModule cache_module modules/mod_cache.so<br />
1725 <IfDefine MemCache><br />
1726 <span class="indent">
1727 LoadModule mem_cache_module modules/mod_mem_cache.so<br />
1729 </IfDefine><br />
1730 <IfDefine !MemCache><br />
1731 <span class="indent">
1732 LoadModule disk_cache_module modules/mod_disk_cache.so<br />
1742 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1743 <div class="directive-section"><h2><a name="IfModule" id="IfModule"><IfModule></a> <a name="ifmodule" id="ifmodule">Directive</a></h2>
1744 <table class="directive">
1745 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des directives qui ne s'appliquent qu'en fonction
1746 de la présence ou de l'absence d'un module spécifique</td></tr>
1747 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><IfModule [!]<var>fichier module</var>|<var>identificateur
1748 module</var>> ... </IfModule></code></td></tr>
1749 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
1750 <tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>All</td></tr>
1751 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
1752 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
1753 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Les identificateurs de modules sont disponibles dans les
1754 versions 2.1 et supérieures.</td></tr>
1756 <p>La section <code><IfModule
1757 <var>test</var>>...</IfModule></code> permet de conférer à
1758 des directives un caractère conditionnel basé sur la présence d'un
1759 module spécifique. Les directives situées dans une section
1760 <code class="directive"><IfModule></code> ne s'appliquent que
1761 si <var>test</var> est vrai. Si <var>test</var> est faux, tout ce
1762 qui se trouve entre les balises de début et de fin est ignoré.</p>
1764 <p><var>test</var> peut se présenter sous deux formes :</p>
1767 <li><var>module</var></li>
1769 <li>!<var>module</var></li>
1772 <p>Dans le premier cas, les directives situées entre les balises de
1773 début et de fin ne s'appliquent que si le module <var>module</var>
1774 est présent -- soit compilé avec le binaire Apache httpd, soit chargé
1775 dynamiquement via la directive <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code>. Le second format inverse le test, et dans
1776 ce cas, les directives ne s'appliquent que si <var>module</var>
1777 n'est <strong>pas</strong> présent.</p>
1779 <p>L'argument <var>module</var> peut contenir soit l'identificateur
1780 du module, soit le nom du fichier source du module. Par exemple,
1781 <code>rewrite_module</code> est un identificateur et
1782 <code>mod_rewrite.c</code> le nom du fichier source
1783 correspondant. Si un module comporte plusieurs fichiers sources,
1784 utilisez le nom du fichier qui contient la chaîne de caractères
1785 <code>STANDARD20_MODULE_STUFF</code>.</p>
1787 <p>Les sections <code class="directive"><IfModule></code>
1788 peuvent être imbriquées, ce qui permet d'implémenter des tests
1789 multi-modules simples.</p>
1791 <div class="note">Cette section ne doit être utilisée que si votre fichier de
1792 configuration ne fonctionne qu'en fonction de la présence ou de
1793 l'absence d'un module spécifique. D'une manière générale, il n'est
1794 pas nécessaire de placer les directives à l'intérieur de sections
1795 <code class="directive"><IfModule></code>.</div>
1798 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1799 <div class="directive-section"><h2><a name="Include" id="Include">Include</a> <a name="include" id="include">Directive</a></h2>
1800 <table class="directive">
1801 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Inclut d'autres fichiers de configuration dans un des
1802 fichiers de configuration du serveur</td></tr>
1803 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Include [<var>optional</var>|<var>strict</var>] <var>chemin fichier</var>|<var>chemin
1804 répertoire|<var>wildcard</var></var></code></td></tr>
1805 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
1806 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
1807 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
1808 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Utilisation des caractères génériques dans la partie nom
1809 de fichier depuis la version 2.0.41, et dans la partie chemin depuis la
1810 version 2.3.6</td></tr>
1812 <p>Cette directive permet l'inclusion d'autres fichiers de
1813 configuration dans un des fichiers de configuration du serveur.</p>
1815 <p>On peut utiliser des caractères génériques de style Shell
1816 (<code>fnmatch()</code>) aussi bien dans la partie nom de fichier du
1817 chemin que dans la partie répertoires pour inclure plusieurs
1819 seule fois, selon leur ordre alphabétique. De plus, si la directive
1820 <code class="directive">Include</code> pointe vers un répertoire, Apache
1821 httpd inclura tous les fichiers de ce répertoire et de tous ces
1822 sous-répertoires. L'inclusion de répertoires entiers est cependant
1823 déconseillée, car il est fréquent d'oublier des fichiers
1824 temporaires dans un répertoire, ce qui causerait une erreur
1825 <code class="program"><a href="../programs/httpd.html">httpd</a></code> en cas d'inclusion. Pour inclure des
1826 fichiers qui correspondent à un certain modèle, comme *.conf par
1827 exemple, nous vous recommandons d'utiliser plutôt la syntaxe avec
1828 caractères génériques comme ci-dessous.</p>
1830 <p>Lorsque la partie <strong>nom de fichier</strong> ou répertoires
1832 comporte des caractères génériques, et si aucun fichier ou
1833 répertoire ne correspond, la directive <code class="directive"><a href="#include">Include</a></code> sera <strong>ignorée
1834 silencieusement</strong>.
1835 Lorsqu'une partie <strong>répertoires</strong> du chemin comporte
1836 des caractères génériques, et si aucun
1837 répertoire ne correspond, la directive <code class="directive"><a href="#include">Include</a></code> <strong>échouera et renverra une
1839 indiquant que le fichier ou le répertoire n'a pas été trouvé.
1842 <p>Pour contrôler plus finement le comportement du serveur
1843 lorsqu'aucun fichier ou répertoire ne correspond, préfixez le chemin
1844 avec les modificateurs <var>optional</var> ou <var>strict</var>. Si
1845 <var>optional</var> est spécifié, tout fichier ou répertoire avec
1846 caractères génériques qui ne correspond à aucun fichier ou
1847 répertoire sera ignoré silencieusement. Si <var>strict</var> est
1848 spécifié, tout fichier ou répertoire avec
1849 caractères génériques qui ne correspond pas à au moins un fichier
1850 fera échouer le démarrage du serveur.</p>
1852 <p>Lorsqu'une partie fichier ou répertoire du chemin est
1853 spécipée sans caractères génériques, et si ce fichier ou
1854 répertoire n'existe pas, la directive <code class="directive"><a href="#include">Include</a></code> échouera avec un message
1855 d'erreur indiquant que le fichier ou répertoire n'a pas pu être
1858 <p>Le chemin fichier spécifié peut être soit un chemin absolu, soit
1859 un chemin relatif au répertoire défini par la directive <code class="directive"><a href="#serverroot">ServerRoot</a></code>.</p>
1863 <div class="example"><p><code>
1864 Include /usr/local/apache2/conf/ssl.conf<br />
1865 Include /usr/local/apache2/conf/vhosts/*.conf
1868 <p>ou encore, avec des chemins relatifs au répertoire défini par la
1869 directive <code class="directive"><a href="#serverroot">ServerRoot</a></code> :</p>
1871 <div class="example"><p><code>
1872 Include conf/ssl.conf<br />
1873 Include conf/vhosts/*.conf
1876 <p>On peut aussi insérer des caractères génériques dans la partie
1877 répertoires du chemin. Dans l'exemple suivant, le démarrage du
1878 serveur échouera si aucun répertoire ne correspond à conf/vhosts/*,
1879 mais réussira si aucun fichier ne correspond à *.conf :</p>
1881 <div class="example"><p><code>
1882 Include conf/vhosts/*/vhost.conf<br />
1883 Include conf/vhosts/*/*.conf
1886 <p>Dans cet exemple, le démarrage du serveur échouera si
1887 conf/vhosts/* ne correspond à aucun répertoire, ou si *.conf ne
1888 correspond à aucun fichier :</p>
1890 <div class="example"><p><code>
1891 Include strict conf/vhosts/*/*.conf
1894 <p>Dans cet exemple, le démarrage du serveur réussira si
1895 conf/vhosts/* ne correspond à aucun répertoire, ou si *.conf ne
1896 correspond à aucun fichier.</p>
1898 <div class="example"><p><code>
1899 Include optional conf/vhosts/*/*.conf
1905 <li><code class="program"><a href="../programs/apachectl.html">apachectl</a></code></li>
1908 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1909 <div class="directive-section"><h2><a name="KeepAlive" id="KeepAlive">KeepAlive</a> <a name="keepalive" id="keepalive">Directive</a></h2>
1910 <table class="directive">
1911 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active les connexions HTTP persistantes</td></tr>
1912 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>KeepAlive On|Off</code></td></tr>
1913 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>KeepAlive On</code></td></tr>
1914 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
1915 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
1916 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
1918 <p>L'extension Keep-Alive de HTTP/1.0 et l'implémentation des
1919 connexions persistantes dans HTTP/1.1 ont rendu possibles des
1920 sessions HTTP de longue durée, ce qui permet de transmettre
1921 plusieurs requêtes via la même connexion TCP. Dans certains cas, le
1922 gain en rapidité pour des documents comportant de nombreuses images
1923 peut atteindre 50%. Pour activer les connexions persistantes,
1924 définissez <code>KeepAlive On</code>.</p>
1926 <p>Pour les clients HTTP/1.0, les connexions persistantes ne seront
1927 mises en oeuvre que si elles ont été spécialement demandées par un
1928 client. De plus, une connexion persistante avec un client HTTP/1.0
1929 ne peut être utilisée que si la taille du contenu est connue
1930 d'avance. Ceci implique que les contenus dynamiques comme les
1931 sorties CGI, les pages SSI, et les listings de répertoires générés
1932 par le serveur n'utiliseront en général pas les connexions
1933 persistantes avec les clients HTTP/1.0. Avec les clients HTTP/1.1,
1934 les connexions persistantes sont utilisées par défaut, sauf
1935 instructions contraires. Si le client le demande, le transfert par
1936 tronçons de taille fixe (chunked encoding) sera utilisé afin de
1937 transmettre un contenu de longueur inconnue via une connexion
1940 <p>Lorsqu'un client utilise une connexion persistante, elle comptera
1941 pour une seule requête pour la directive <code class="directive"><a href="../mod/mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></code>, quel
1942 que soit le nombre de requêtes transmises via cette connexion.</p>
1946 <li><code class="directive"><a href="#maxkeepaliverequests">MaxKeepAliveRequests</a></code></li>
1949 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1950 <div class="directive-section"><h2><a name="KeepAliveTimeout" id="KeepAliveTimeout">KeepAliveTimeout</a> <a name="keepalivetimeout" id="keepalivetimeout">Directive</a></h2>
1951 <table class="directive">
1952 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Durée pendant laquelle le serveur va attendre une requête
1953 avant de fermer une connexion persistante</td></tr>
1954 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>KeepAliveTimeout <var>nombre</var>[ms]</code></td></tr>
1955 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>KeepAliveTimeout 5</code></td></tr>
1956 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
1957 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
1958 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
1959 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>La spécification d'une valeur en millisecondes est
1960 possible depuis les versions 2.3.2 et supérieures d'Apache httpd</td></tr>
1962 <p>Le nombre de secondes pendant lesquelles Apache httpd va attendre une
1963 requête avant de fermer la connexion. Le délai peut être défini en
1964 millisecondes en suffixant sa valeur par ms. La valeur du délai
1965 spécifiée par la directive <code class="directive"><a href="#timeout">Timeout</a></code> s'applique dès qu'une requête a
1968 <p>Donner une valeur trop élévée à
1969 <code class="directive">KeepAliveTimeout</code> peut induire des problèmes
1970 de performances sur les serveurs fortement chargés. Plus le délai
1971 est élévé, plus nombreux seront les processus serveur en attente de
1972 requêtes de la part de clients inactifs.</p>
1974 <p>Dans un contexte de serveur virtuel à base de nom, c'est le délai
1975 du premier serveur virtuel défini (le serveur par défaut) parmi un
1976 ensemble de directives <code class="directive"><a href="#namevirtualhost">NameVirtualHost</a></code> qui sera utilisé. Les
1977 autres valeurs seront ignorées.</p>
1980 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
1981 <div class="directive-section"><h2><a name="Limit" id="Limit"><Limit></a> <a name="limit" id="limit">Directive</a></h2>
1982 <table class="directive">
1983 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limite les contrôles d'accès que la section contient à
1984 certaines méthodes HTTP</td></tr>
1985 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><Limit <var>méthode</var> [<var>méthode</var>] ... > ...
1986 </Limit></code></td></tr>
1987 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
1988 <tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>AuthConfig, Limit</td></tr>
1989 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
1990 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
1992 <p>Les contrôles d'accès s'appliquent normalement à
1993 <strong>toutes</strong> les méthodes d'accès, et c'est en général le
1994 comportement souhaité. <strong>Dans le cas général, les directives
1995 de contrôle d'accès n'ont pas à être placées dans une section
1996 <code class="directive"><Limit></code>.</strong></p>
1998 <p>La directive <code class="directive"><Limit></code> a pour
1999 but de limiter les effets des contrôles d'accès aux méthodes HTTP
2000 spécifiées. Pour toutes les autres méthodes, les restrictions
2001 d'accès contenues dans la section <code class="directive"><Limit></code> <strong>n'auront aucun
2002 effet</strong>. L'exemple suivant n'applique les contrôles d'accès
2003 qu'aux méthodes <code>POST</code>, <code>PUT</code>, et
2004 <code>DELETE</code>, en laissant les autres méthodes sans protection
2007 <div class="example"><p><code>
2008 <Limit POST PUT DELETE><br />
2009 <span class="indent">
2010 Require valid-user<br />
2015 <p>La liste des noms de méthodes peut contenir une ou plusieurs
2016 valeurs parmi les suivantes : <code>GET</code>, <code>POST</code>,
2017 <code>PUT</code>, <code>DELETE</code>, <code>CONNECT</code>,
2018 <code>OPTIONS</code>, <code>PATCH</code>, <code>PROPFIND</code>,
2019 <code>PROPPATCH</code>, <code>MKCOL</code>, <code>COPY</code>,
2020 <code>MOVE</code>, <code>LOCK</code>, et <code>UNLOCK</code>.
2021 <strong>Le nom de méthode est sensible à la casse.</strong> Si la
2022 valeur <code>GET</code> est présente, les requêtes <code>HEAD</code>
2023 seront aussi concernées. La méthode <code>TRACE</code> ne peut pas
2024 être limitée (voir la directive <code class="directive"><a href="#traceenable">TraceEnable</a></code>).</p>
2026 <div class="warning">Une section <code class="directive"><LimitExcept></code> doit toujours être préférée à
2027 une section <code class="directive"><Limit></code> pour la
2028 restriction d'accès, car une section <code class="directive"><a href="#limitexcept"><LimitExcept></a></code> fournit une protection contre
2029 les méthodes arbitraires.</div>
2031 <p>Les directives <code class="directive"><Limit></code> et
2032 <code class="directive"><a href="#limitexcept"><LimitExcept></a></code>
2033 peuvent être imbriquées. Dans ce cas, pour chaque niveau des
2034 directives <code class="directive"><Limit></code> ou <code class="directive"><a href="#limitexcept"><LimitExcept></a></code>, ces dernières
2035 doivent restreindre l'accès pour les méthodes auxquelles les
2036 contrôles d'accès s'appliquent.</p>
2038 <div class="warning">Lorsqu'on utilise les directives <code class="directive"><Limit></code> ou <code class="directive"><LimitExcept></code> avec la directive <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code>, la première directive
2039 <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> dont la
2040 condition est satisfaite autorise la requête, sans tenir compte de
2041 la présence d'autres directives <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code>.</div>
2043 <p>Par exemple, avec la configuration suivante, tous les
2044 utilisateurs seront autorisés à effectuer des requêtes
2045 <code>POST</code>, et la directive <code>Require group
2046 editors</code> sera ignorée dans tous les cas :</p>
2048 <div class="example"><p><code>
2049 <LimitExcept GET>
2050 <span class="indent">
2053 </LimitExcept><br />
2055 <span class="indent">
2056 Require group editors
2062 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2063 <div class="directive-section"><h2><a name="LimitExcept" id="LimitExcept"><LimitExcept></a> <a name="limitexcept" id="limitexcept">Directive</a></h2>
2064 <table class="directive">
2065 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Applique les contrôles d'accès à toutes les méthodes HTTP,
2066 sauf celles qui sont spécifiées</td></tr>
2067 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><LimitExcept <var>méthode</var> [<var>méthode</var>] ... > ...
2068 </LimitExcept></code></td></tr>
2069 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
2070 <tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>AuthConfig, Limit</td></tr>
2071 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
2072 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
2074 <p><code class="directive"><LimitExcept></code> et
2075 <code></LimitExcept></code> permettent de regrouper des
2076 directives de contrôle d'accès qui s'appliqueront à toutes les
2077 méthodes d'accès HTTP qui ne font <strong>pas</strong> partie de la
2078 liste des arguments ; en d'autres termes, elles ont un comportement
2079 opposé à celui de la section <code class="directive"><a href="#limit"><Limit></a></code>, et on peut les utiliser pour
2080 contrôler aussi bien les méthodes standards que les méthodes non
2081 standards ou non reconnues. Voir la documentation de la section
2082 <code class="directive"><a href="#limit"><Limit></a></code> pour plus
2085 <p>Par exemple :</p>
2087 <div class="example"><p><code>
2088 <LimitExcept POST GET><br />
2089 <span class="indent">
2090 Require valid-user<br />
2092 </LimitExcept>
2097 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2098 <div class="directive-section"><h2><a name="LimitInternalRecursion" id="LimitInternalRecursion">LimitInternalRecursion</a> <a name="limitinternalrecursion" id="limitinternalrecursion">Directive</a></h2>
2099 <table class="directive">
2100 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine le nombre maximal de redirections internes et de
2101 sous-requêtes imbriquées</td></tr>
2102 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LimitInternalRecursion <var>nombre</var> [<var>nombre</var>]</code></td></tr>
2103 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LimitInternalRecursion 10</code></td></tr>
2104 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
2105 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
2106 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
2107 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.0.47 d'Apache httpd</td></tr>
2109 <p>Une redirection interne survient, par exemple, quand on utilise
2110 la directive <code class="directive"><a href="../mod/mod_actions.html#action">Action</a></code> qui
2111 redirige en interne la requête d'origine vers un script CGI. Une
2112 sous-requête est le mécanisme qu'utilise Apache httpd pour déterminer ce
2113 qui se passerait pour un URI s'il faisait l'objet d'une requête. Par
2114 exemple, <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> utilise les sous-requêtes pour
2115 rechercher les fichiers listés dans la directive <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code>.</p>
2117 <p>La directive <code class="directive">LimitInternalRecursion</code> permet
2118 d'éviter un crash du serveur dû à un bouclage infini de redirections
2119 internes ou de sous-requêtes. De tels bouclages sont dus en général
2120 à des erreurs de configuration.</p>
2122 <p>La directive accepte, comme arguments, deux limites qui sont
2123 évaluées à chaque requête. Le premier <var>nombre</var> est le
2124 nombre maximum de redirections internes qui peuvent se succéder. Le
2125 second <var>nombre</var> détermine la profondeur d'imbrication
2126 maximum des sous-requêtes. Si vous ne spécifiez qu'un seul
2127 <var>nombre</var>, il sera affecté aux deux limites.</p>
2129 <div class="example"><h3>Exemple</h3><p><code>
2130 LimitInternalRecursion 5
2134 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2135 <div class="directive-section"><h2><a name="LimitRequestBody" id="LimitRequestBody">LimitRequestBody</a> <a name="limitrequestbody" id="limitrequestbody">Directive</a></h2>
2136 <table class="directive">
2137 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>limite la taille maximale du corps de la requête HTTP
2138 envoyée par le client</td></tr>
2139 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LimitRequestBody <var>octets</var></code></td></tr>
2140 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LimitRequestBody 0</code></td></tr>
2141 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
2142 <tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>All</td></tr>
2143 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
2144 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
2146 <p>Cette directive spécifie la taille maximale autorisée pour le
2147 corps d'une requête ; la valeur de l'argument <var>octets</var> va
2148 de 0 (pour une taille illimitée), à 2147483647 (2Go).</p>
2150 <p>La directive <code class="directive">LimitRequestBody</code> permet de
2151 définir une limite pour la taille maximale autorisée du corps d'une
2152 requête HTTP en tenant compte du contexte dans lequel la directive
2153 a été placée (c'est à dire au niveau du serveur, d'un répertoire,
2154 d'un fichier ou d'une localisation). Si la requête du client dépasse
2155 cette limite, le serveur répondra par un message d'erreur et ne
2156 traitera pas la requête. La taille du corps d'une requête normale va
2157 varier de manière importante en fonction de la nature de la
2158 ressource et des méthodes autorisées pour cette dernière. Les
2159 scripts CGI utilisent souvent le corps du message pour extraire les
2160 informations d'un formulaire. Les implémentations de la méthode
2161 <code>PUT</code> nécessitent une valeur au moins aussi élevée que la
2162 taille maximale des représentations que le serveur désire accepter
2163 pour cette ressource.</p>
2165 <p>L'administrateur du serveur peut utiliser cette directive pour
2166 contrôler plus efficacement les comportements anormaux des requêtes
2167 des clients, ce qui lui permettra de prévenir certaines formes
2168 d'attaques par déni de service.</p>
2170 <p>Si par exemple, vous autorisez le chargement de fichiers vers une
2171 localisation particulière, et souhaitez limiter la taille des
2172 fichiers chargés à 100Ko, vous pouvez utiliser la directive suivante
2175 <div class="example"><p><code>
2176 LimitRequestBody 102400
2181 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2182 <div class="directive-section"><h2><a name="LimitRequestFields" id="LimitRequestFields">LimitRequestFields</a> <a name="limitrequestfields" id="limitrequestfields">Directive</a></h2>
2183 <table class="directive">
2184 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limite le nombre de champs d'en-tête autorisés dans une
2185 requête HTTP</td></tr>
2186 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LimitRequestFields <var>nombre</var></code></td></tr>
2187 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LimitRequestFields 100</code></td></tr>
2188 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
2189 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
2190 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
2192 <p><var>nombre</var> est un entier de 0 (nombre de champs illimité)
2193 à 32767. La valeur par défaut est définie à la compilation par la
2194 constante <code>DEFAULT_LIMIT_REQUEST_FIELDS</code> (100 selon la
2197 <p>La directive <code class="directive">LimitRequestFields</code> permet à
2198 l'administrateur du serveur de modifier le nombre maximum de champs
2199 d'en-tête autorisés dans une requête HTTP. Pour un serveur, cette
2200 valeur doit être supérieure au nombre de champs qu'une requête
2201 client normale peut contenir. Le nombre de champs d'en-tête d'une
2202 requête qu'un client utilise dépasse rarement 20, mais ce nombre
2203 peut varier selon les implémentations des clients, et souvent en
2204 fonction des extensions que les utilisateurs configurent dans leurs
2205 navigateurs pour supporter la négociation de contenu détaillée. Les
2206 extensions HTTP optionnelles utilisent souvent les
2207 champs d'en-tête des requêtes.</p>
2209 <p>L'administrateur du serveur peut utiliser cette directive pour
2210 contrôler plus efficacement les comportements anormaux des requêtes
2211 des clients, ce qui lui permettra de prévenir certaines formes
2212 d'attaques par déni de service. La valeur spécifiée doit être
2213 augmentée si les clients standards reçoivent une erreur du serveur
2214 indiquant que la requête comportait un nombre d'en-têtes trop
2217 <p>Par exemple :</p>
2219 <div class="example"><p><code>
2220 LimitRequestFields 50
2225 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2226 <div class="directive-section"><h2><a name="LimitRequestFieldSize" id="LimitRequestFieldSize">LimitRequestFieldSize</a> <a name="limitrequestfieldsize" id="limitrequestfieldsize">Directive</a></h2>
2227 <table class="directive">
2228 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Dédinit la taille maximale autorisée d'un en-tête de
2229 requête HTTP</td></tr>
2230 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LimitRequestFieldSize <var>octets</var></code></td></tr>
2231 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LimitRequestFieldSize 8190</code></td></tr>
2232 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
2233 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
2234 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
2236 <p>Cette directive permet de définir le nombre maximum
2237 d'<var>octets</var> autorisés dans un en-tête de requête HTTP.</p>
2239 <p>La directive <code class="directive">LimitRequestFieldSize</code> permet
2240 à l'administrateur du serveur de réduire ou augmenter la taille
2241 maximale autorisée d'un en-tête de requête HTTP. Pour un serveur,
2242 cette valeur doit être suffisamment grande pour contenir tout
2243 en-tête d'une requête client normale. La taille d'un champ d'en-tête
2244 de requête normal va varier selon les implémentations des clients,
2245 et en fonction des extensions que les utilisateurs
2246 configurent dans leurs navigateurs pour supporter la négociation de
2247 contenu détaillée. Les en-têtes d'authentification SPNEGO peuvent
2248 atteindre une taille de 12392 octets.</p>
2250 <p>>L'administrateur du serveur peut utiliser cette directive pour
2251 contrôler plus efficacement les comportements anormaux des requêtes
2252 des clients, ce qui lui permettra de prévenir certaines formes
2253 d'attaques par déni de service.</p>
2255 <p>Par exemple ::</p>
2257 <div class="example"><p><code>
2258 LimitRequestFieldSize 4094
2261 <div class="note">Dans des conditions normales, la valeur par défaut de cette
2262 directive ne doit pas être modifiée.</div>
2266 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2267 <div class="directive-section"><h2><a name="LimitRequestLine" id="LimitRequestLine">LimitRequestLine</a> <a name="limitrequestline" id="limitrequestline">Directive</a></h2>
2268 <table class="directive">
2269 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la taille maximale d'une ligne de requête
2271 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LimitRequestLine <var>octets</var></code></td></tr>
2272 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LimitRequestLine 8190</code></td></tr>
2273 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
2274 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
2275 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
2277 <p>Cette directive permet de définir la taille maximale autorisée
2278 pour une ligne de requête HTTP en <var>octets</var>.</p>
2280 <p>La directive <code class="directive">LimitRequestLine</code> permet à
2281 l'administrateur du serveur de réduire ou augmenter la taille
2282 maximale autorisée d'une ligne de requête HTTP client. Comme une
2283 requête comporte une méthode HTTP, un URI, et une version de
2284 protocole, la directive <code class="directive">LimitRequestLine</code>
2285 impose une restriction sur la longueur maximale autorisée pour un
2286 URI dans une requête au niveau du serveur. Pour un serveur, cette
2287 valeur doit être suffisamment grande pour référencer les noms de
2288 toutes ses ressources, y compris toutes informations pouvant être
2289 ajoutées dans la partie requête d'une méthode <code>GET</code>.</p>
2291 <p>L'administrateur du serveur peut utiliser cette directive pour
2292 contrôler plus efficacement les comportements anormaux des requêtes
2293 des clients, ce qui lui permettra de prévenir certaines formes
2294 d'attaques par déni de service.</p>
2296 <p>Par exemple :</p>
2298 <div class="example"><p><code>
2299 LimitRequestLine 4094
2302 <div class="note">Dans des conditions normales, la valeur par défaut de cette
2303 directive ne doit pas être modifiée.</div>
2306 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2307 <div class="directive-section"><h2><a name="LimitXMLRequestBody" id="LimitXMLRequestBody">LimitXMLRequestBody</a> <a name="limitxmlrequestbody" id="limitxmlrequestbody">Directive</a></h2>
2308 <table class="directive">
2309 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la taille maximale du corps d'une requête au format
2311 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LimitXMLRequestBody <var>octets</var></code></td></tr>
2312 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LimitXMLRequestBody 1000000</code></td></tr>
2313 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
2314 <tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>All</td></tr>
2315 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
2316 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
2318 <p>Taille maximale (en octets) du corps d'une requête au format XML.
2319 Une valeur de <code>0</code> signifie qu'aucune limite n'est
2324 <div class="example"><p><code>
2325 LimitXMLRequestBody 0
2330 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2331 <div class="directive-section"><h2><a name="Location" id="Location"><Location></a> <a name="location" id="location">Directive</a></h2>
2332 <table class="directive">
2333 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>N'applique les directives contenues qu'aux URLs
2334 spécifiées</td></tr>
2335 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><Location
2336 <var>chemin URL</var>|<var>URL</var>> ... </Location></code></td></tr>
2337 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
2338 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
2339 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
2341 <p>La directive <code class="directive"><Location></code>
2342 limite la portée des directives contenues aux URLs définies par
2343 l'argument URL. Elle est similaire à la directive <code class="directive"><a href="#directory"><Directory></a></code>, et marque le
2344 début d'une section qui se termine par une directive
2345 <code></Location></code>. Les sections <code class="directive"><Location></code> sont traitées selon l'ordre dans
2346 lequel elles apparaissent dans le fichier de configuration, mais
2347 après les sections <code class="directive"><a href="#directory"><Directory></a></code> et la lecture des
2348 fichiers <code>.htaccess</code>, et après les sections <code class="directive"><a href="#files"><Files></a></code>.</p>
2350 <p>Les sections <code class="directive"><Location></code>
2351 agissent complètement en dehors du système de fichiers. Ceci a de
2352 nombreuses conséquences. Parmi les plus importantes, on ne doit pas
2353 utiliser les sections <code class="directive"><Location></code>
2354 pour contrôler l'accès aux répertoires du système de fichiers. Comme
2355 plusieurs URLs peuvent correspondre au même répertoire du système de
2356 fichiers, un tel contrôle d'accès pourrait être contourné.</p>
2358 <div class="note"><h3>Quand utiliser la section <code class="directive"><Location></code></h3>
2360 <p>Vous pouvez utiliser une section <code class="directive"><Location></code> pour appliquer des directives à
2361 des contenus situés en dehors du système de fichiers. Pour les
2362 contenus situés à l'intérieur du système de fichiers, utilisez
2363 plutôt les sections <code class="directive"><a href="#directory"><Directory></a></code> et <code class="directive"><a href="#files"><Files></a></code>. <code><Location
2364 /></code> constitue une exception et permet d'appliquer aisément
2365 une configuration à l'ensemble du serveur.</p>
2368 <p>Pour toutes les requêtes originales (non mandatées), l'argument
2369 URL est un chemin d'URL de la forme
2370 <code>/chemin/</code>. <em>Aucun protocole, nom d'hôte, port, ou chaîne
2371 de requête ne doivent apparaître.</em> Pour les requêtes mandatées, l'URL
2372 spécifiée doit être de la forme
2373 <code>protocole://nom_serveur/chemin</code>, et vous devez inclure
2376 <p>L'URL peut contenir des caractères génériques. Dans une chaîne
2377 avec caractères génériques, <code>?</code> correspond à un caractère
2378 quelconque, et <code>*</code> à toute chaîne de caractères. Les
2379 caractères génériques ne peuvent pas remplacer un / dans le chemin
2382 <p>On peut aussi utiliser les <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">Expressions
2383 rationnelles</a>, moyennant l'addition d'un caractère
2384 <code>~</code>. Par exemple :</p>
2386 <div class="example"><p><code>
2387 <Location ~ "/(extra|special)/data">
2390 <p>concernerait les URLs contenant les sous-chaîne
2391 <code>/extra/data</code> ou <code>/special/data</code>. La directive
2392 <code class="directive"><a href="#locationmatch"><LocationMatch></a></code>
2393 présente un comportement identique à la version avec expressions
2394 rationnelles de la directive <code class="directive"><Location></code>, et son utilisation est
2395 préférable à l'utilisation de cette dernière pour la simple raison
2396 qu'il est difficile de distinguer <code>~</code> de <code>-</code>
2397 dans la plupart des fontes.</p>
2399 <p>La directive <code class="directive"><Location></code>
2400 s'utilise principalement avec la directive <code class="directive"><a href="#sethandler">SetHandler</a></code>. Par exemple, pour activer les
2401 requêtes d'état, mais ne les autoriser que depuis des navigateurs
2402 appartenant au domaine <code>example.com</code>, vous pouvez
2405 <div class="example"><p><code>
2406 <Location /status><br />
2407 <span class="indent">
2408 SetHandler server-status<br />
2409 Order Deny,Allow<br />
2411 Allow from .example.com<br />
2416 <div class="note"><h3>Note à propos du slash (/)</h3>
2417 <p>La signification du caractère slash dépend de l'endroit où il
2418 se trouve dans l'URL. Les utilisateurs peuvent être habitués à
2419 son comportement dans le système de fichiers où plusieurs slashes
2420 successifs sont souvent réduits à un slash unique (en d'autres
2421 termes, <code>/home///foo</code> est identique à
2422 <code>/home/foo</code>). Dans l'espace de nommage des URLs, ce
2423 n'est cependant pas toujours le cas. Pour la directive <code class="directive"><a href="#locationmatch"><LocationMatch></a></code> et la
2424 version avec expressions rationnelles de la directive <code class="directive"><Location></code>, vous devez spécifier
2425 explicitement les slashes multiples si telle est votre
2428 <p>Par exemple, <code><LocationMatch ^/abc></code> va
2429 correspondre à l'URL <code>/abc</code> mais pas à l'URL <code>
2430 //abc</code>. La directive <code class="directive"><Location></code> sans expression rationnelle se comporte de
2431 la même manière lorsqu'elle est utilisée pour des requêtes
2432 mandatées. Par contre, lorsque la directive <code class="directive"><Location></code> sans expression rationnelle
2433 est utilisée pour des requêtes non mandatées, elle fera
2434 correspondre implicitement les slashes multiples à des slashes
2435 uniques. Par exemple, si vous spécifiez <code><Location
2436 /abc/def></code>, une requête de la forme
2437 <code>/abc//def</code> correspondra.</p>
2442 <li><a href="../sections.html">Comment fonctionnent les sections
2443 <Directory>, <Location> et <Files></a> pour une
2444 explication de la manière dont ces différentes sections se combinent
2445 entre elles à la réception d'une requête.</li>
2448 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2449 <div class="directive-section"><h2><a name="LocationMatch" id="LocationMatch"><LocationMatch></a> <a name="locationmatch" id="locationmatch">Directive</a></h2>
2450 <table class="directive">
2451 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>N'applique les directives contenues qu'aux URLs
2452 correspondant à une expression rationnelle</td></tr>
2453 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><LocationMatch
2454 <var>regex</var>> ... </LocationMatch></code></td></tr>
2455 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
2456 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
2457 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
2459 <p>La directive <code class="directive"><LocationMatch></code>
2460 limite la portée des directives contenues à l'URL spécifiée, de
2461 manière identique à la directive <code class="directive"><a href="#location"><Location></a></code>. Mais son argument permettant de
2462 spécifier les URLs concernées est une <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression rationnelle</a> au lieu d'une simple
2463 chaîne de caractères. Par exemple :</p>
2465 <div class="example"><p><code>
2466 <LocationMatch "/(extra|special)/data">
2469 <p>correspondrait à toute URL contenant les sous-chaînes
2470 <code>/extra/data</code> ou <code>/special/data</code>.</p>
2474 <li><a href="../sections.html">Comment fonctionnent les sections
2475 <Directory>, <Location> et <Files></a> pour une
2476 explication de la manière dont ces différentes sections se combinent
2477 entre elles à la réception d'une requête.</li>
2480 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2481 <div class="directive-section"><h2><a name="LogLevel" id="LogLevel">LogLevel</a> <a name="loglevel" id="loglevel">Directive</a></h2>
2482 <table class="directive">
2483 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contrôle la verbosité du journal des erreurs</td></tr>
2484 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LogLevel [<var>module</var>:]<var>niveau</var>
2485 [<var>module</var>:<var>niveau</var>] ...
2487 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LogLevel warn</code></td></tr>
2488 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
2489 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
2490 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
2491 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>La configuration du niveau de journalisation par module
2492 et par répertoire est disponible depuis la version 2.3.6 du serveur HTTP
2495 <p>La directive <code class="directive">LogLevel</code> permet d'ajuster la
2496 verbosité des messages enregistrés dans les journaux d'erreur (voir
2497 la directive <code class="directive"><a href="#errorlog">ErrorLog</a></code>
2498 directive). Les <var>niveau</var>x disponibles sont présentés
2499 ci-après, par ordre de criticité décroissante :</p>
2501 <table class="bordered">
2504 <th><strong>Niveau</strong> </th>
2506 <th><strong>Description</strong> </th>
2508 <th><strong>Exemple</strong> </th>
2512 <td><code>emerg</code> </td>
2514 <td>Urgences - le système est inutilisable.</td>
2516 <td>"Child cannot open lock file. Exiting"</td>
2520 <td><code>alert</code> </td>
2522 <td>Des mesures doivent être prises immédiatement.</td>
2524 <td>"getpwuid: couldn't determine user name from uid"</td>
2528 <td><code>crit</code> </td>
2530 <td>Conditions critiques.</td>
2532 <td>"socket: Failed to get a socket, exiting child"</td>
2536 <td><code>error</code> </td>
2540 <td>"Premature end of script headers"</td>
2544 <td><code>warn</code> </td>
2546 <td>Avertissements.</td>
2548 <td>"child process 1234 did not exit, sending another
2553 <td><code>notice</code> </td>
2555 <td>Evènement important mais normal.</td>
2557 <td>"httpd: caught SIGBUS, attempting to dump core in
2562 <td><code>info</code> </td>
2564 <td>Informations.</td>
2566 <td>"Server seems busy, (you may need to increase
2567 StartServers, or Min/MaxSpareServers)..."</td>
2571 <td><code>debug</code> </td>
2573 <td>Messages de débogage.</td>
2575 <td>"Opening config file ..."</td>
2578 <td><code>trace1</code> </td>
2580 <td>Messages de traces</td>
2582 <td>"proxy: FTP: control connection complete"</td>
2585 <td><code>trace2</code> </td>
2587 <td>Messages de traces</td>
2589 <td>"proxy: CONNECT: sending the CONNECT request to the remote proxy"</td>
2592 <td><code>trace3</code> </td>
2594 <td>Messages de traces</td>
2596 <td>"openssl: Handshake: start"</td>
2599 <td><code>trace4</code> </td>
2601 <td>Messages de traces</td>
2603 <td>"read from buffered SSL brigade, mode 0, 17 bytes"</td>
2606 <td><code>trace5</code> </td>
2608 <td>Messages de traces</td>
2610 <td>"map lookup FAILED: map=rewritemap key=keyname"</td>
2613 <td><code>trace6</code> </td>
2615 <td>Messages de traces</td>
2617 <td>"cache lookup FAILED, forcing new map lookup"</td>
2620 <td><code>trace7</code> </td>
2622 <td>Messages de traces, enregistrement d'une grande quantité de
2625 <td>"| 0000: 02 23 44 30 13 40 ac 34 df 3d bf 9a 19 49 39 15 |"</td>
2628 <td><code>trace8</code> </td>
2630 <td>Messages de traces, enregistrement d'une grande quantité de
2633 <td>"| 0000: 02 23 44 30 13 40 ac 34 df 3d bf 9a 19 49 39 15 |"</td>
2637 <p>Lorsqu'un niveau particulier est spécifié, les messages de tous
2638 les autres niveaux de criticité supérieure seront aussi enregistrés.
2639 <em>Par exemple</em>, si <code>LogLevel info</code> est spécifié,
2640 les messages de niveaux <code>notice</code> et <code>warn</code>
2641 seront aussi émis.</p>
2643 <p>Il est recommandé d'utiliser un niveau <code>crit</code> ou
2646 <p>Par exemple :</p>
2648 <div class="example"><p><code>
2652 <div class="note"><h3>Note</h3>
2653 <p>Si la journalisation s'effectue directement dans un fichier,
2654 les messages de niveau <code>notice</code> ne peuvent pas être
2655 supprimés et sont donc toujours journalisés. Cependant, ceci ne
2656 s'applique pas lorsque la journalisation s'effectue vers
2657 <code>syslog</code>.</p>
2660 <p>Spécifier un niveau sans nom de module va attribuer ce niveau à
2661 tous les modules. Spécifier un niveau avec nom de module va
2662 attribuer ce niveau à ce module seulement. Il est possible de
2663 spécifier un module par le nom de son fichier source ou par son
2664 identificateur, avec ou sans le suffixe <code>_module</code>. Les
2665 trois spécifications suivantes sont donc équivalentes :</p>
2667 <div class="example"><p><code>
2668 LogLevel info ssl:warn<br />
2669 LogLevel info mod_ssl.c:warn<br />
2670 LogLevel info ssl_module:warn<br />
2673 <p>Il est aussi possible d'attribuer un niveau de journalisation par
2676 <div class="example"><p><code>
2678 <Directory /usr/local/apache/htdocs/app><br />
2679 LogLevel debug<br />
2684 La configuration du niveau de journalisation par répertoire
2685 n'affecte que les messages journalisés après l'interprétation de
2686 la requête et qui sont associés à cette dernière. Les messages
2687 de journalisation associés à la connexion ou au serveur ne sont
2692 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2693 <div class="directive-section"><h2><a name="MaxKeepAliveRequests" id="MaxKeepAliveRequests">MaxKeepAliveRequests</a> <a name="maxkeepaliverequests" id="maxkeepaliverequests">Directive</a></h2>
2694 <table class="directive">
2695 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre de requêtes permises pour une connexion
2696 persistante</td></tr>
2697 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MaxKeepAliveRequests <var>nombre</var></code></td></tr>
2698 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MaxKeepAliveRequests 100</code></td></tr>
2699 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
2700 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
2701 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
2703 <p>La directive <code class="directive">MaxKeepAliveRequests</code> permet
2704 de limiter le nombre de requêtes autorisées par connexion lorsque
2705 <code class="directive"><a href="#keepalive">KeepAlive</a></code> est à "on". Si sa
2706 valeur est <code>0</code>, le nombre de requêtes autorisées est
2707 illimité. Il est recommandé de définir une valeur assez haute pour
2708 des performances du serveur maximales.</p>
2710 <p>Par exemple :</p>
2712 <div class="example"><p><code>
2713 MaxKeepAliveRequests 500
2717 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2718 <div class="directive-section"><h2><a name="Mutex" id="Mutex">Mutex</a> <a name="mutex" id="mutex">Directive</a></h2>
2719 <table class="directive">
2720 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit les mécanismes de mutex et le repertoire du fichier
2721 verrou pour tous les mutex ou seulement les mutex spécifiés</td></tr>
2722 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Mutex <var>mécanisme</var> [default|<var>nom-mutex</var>] ... [OmitPID]</code></td></tr>
2723 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Mutex default</code></td></tr>
2724 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
2725 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
2726 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
2727 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.4 du serveur HTTP Apache</td></tr>
2729 <p>La directive <code class="directive">Mutex</code> permet de définir le
2730 mécanisme de mutex, et éventuellement le répertoire du fichier
2731 verrou que les modules et httpd utilisent pour sérialiser l'accès aux
2732 ressources. Spécifiez <code>default</code> comme premier argument
2733 pour modifier la configuration de tous les mutex ; spécifiez un nom
2734 de mutex (voir la table ci-dessous) comme premier argument pour
2735 ne modifier que la configuration de ce mutex.</p>
2737 <p>La directive <code class="directive">Mutex</code> est typiquement
2738 utilisée dans les situations exceptionnelles suivantes :</p>
2741 <li>choix d'un autre mécanisme de mutex lorsque le mécanisme par
2742 défaut sélectionné par <a class="glossarylink" href="../glossary.html#apr" title="voir glossaire">APR</a> présente un
2743 problème de fonctionnement ou de performances.</li>
2745 <li>choix d'un autre répertoire utilisé par les mutex à base de
2746 fichier lorsque le répertoire par défaut ne supporte pas le
2750 <div class="note"><h3>Modules supportés</h3>
2751 <p>Cette directive ne configure que les mutex qui ont été
2752 enregistrés avec le serveur de base via l'API
2753 <code>ap_mutex_register()</code>. Tous les modules fournis avec
2754 httpd supportent la directive <code class="directive">Mutex</code>, mais il
2755 n'en sera pas forcément de même pour les modules tiers.
2756 Reportez-vous à la documentation du module tiers considéré afin de
2757 déterminer le(s) nom(s) de mutex qui pourront être définis si la
2758 directive est supportée.</p>
2763 <p>Les <em>mécanismes</em> de mutex disponibles sont les suivants :</p>
2765 <li><code>default | yes</code>
2766 <p>C'est l'implémentation du verrouillage par défaut, telle
2767 qu'elle est définie par <a class="glossarylink" href="../glossary.html#apr" title="voir glossaire">APR</a>. On peut
2768 afficher l'implémentation du verrouillage par défaut via la
2769 commande <code class="program"><a href="../programs/httpd.html">httpd</a></code> avec l'option <code>-V</code>.</p></li>
2771 <li><code>none | no</code>
2772 <p>Le mutex est désactivé, et cette valeur n'est permise pour un
2773 mutex que si le module indique qu'il s'agit d'un choix valide.
2774 Consultez la documentation du module pour plus d'informations.</p></li>
2776 <li><code>posixsem</code>
2777 <p>Une variante de mutex basée sur un sémaphore Posix.</p>
2779 <div class="warning"><h3>Avertissement</h3>
2780 <p>La propriété du sémaphore n'est pas restituée si un thread du
2781 processus gérant le mutex provoque une erreur de segmentation,
2782 ce qui provoquera un blocage du serveur web.</p>
2786 <li><code>sysvsem</code>
2787 <p>Une variante de mutex basée sur un sémaphore IPC SystemV.</p>
2789 <div class="warning"><h3>Avertissement</h3>
2790 <p>Il peut arriver que les sémaphores SysV soient conservés si le
2791 processus se crashe avant que le sémaphore ne soit supprimé.</p>
2794 <div class="warning"><h3>Sécurité</h3>
2795 <p>L'API des sémaphores permet les attaques par déni de service
2796 par tout programme CGI s'exécutant sous le même uid que le
2797 serveur web (autrement dit tous les programmes CGI, à moins que
2798 vous n'utilisiez un programme du style <code class="program"><a href="../programs/suexec.html">suexec</a></code>
2799 ou <code>cgiwrapper</code>).</p>
2803 <li><code>sem</code>
2804 <p>Sélection de la "meilleure" implémentation des sémaphores
2805 disponible ; le choix s'effectue entre les sémaphores posix et
2806 IPC SystemV, dans cet ordre.</p></li>
2808 <li><code>pthread</code>
2809 <p>Une variante de mutex à base de mutex de thread Posix
2810 inter-processus.</p>
2812 <div class="warning"><h3>Avertissement</h3>
2813 <p>Sur la plupart des systèmes, si un processus enfant se
2814 termine anormalement alors qu'il détenait un mutex qui utilise
2815 cette implémentation, le serveur va se bloquer et cesser de
2816 répondre aux requêtes. Dans ce cas, un redémarrage manuel est
2817 nécessaire pour récupérer le mutex.</p>
2818 <p>Solaris constitue une exception notable, en ceci qu'il fournit
2819 un mécanisme qui permet en général de récupérer le mutex après
2820 l'arrêt anormal d'un processus enfant qui détenait le mutex.</p>
2821 <p>Si votre système implémente la fonction
2822 <code>pthread_mutexattr_setrobust_np()</code>, vous devriez
2823 pouvoir utiliser l'option <code>pthread</code> sans problème.</p>
2827 <li><code>fcntl:/chemin/vers/mutex</code>
2828 <p>Une variante de mutex utilisant un fichier verrou physique et
2829 la fonction <code>fcntl()</code>.</p>
2831 <div class="warning"><h3>Avertissement</h3>
2832 <p>Lorsqu'on utilise plusieurs mutex basés sur ce mécanisme dans
2833 un environnement multi-processus, multi-thread, des erreurs de
2834 blocage (EDEADLK) peuvent être rapportées pour des opérations de
2835 mutex valides si la fonction <code>fcntl()</code> ne gère pas
2836 les threads, comme sous Solaris.</p>
2840 <li><code>flock:/chemin/vers/mutex</code>
2841 <p>Méthode similaire à <code>fcntl:/chemin/vers/mutex</code>,
2842 mais c'est la fonction <code>flock()</code> qui est utilisée
2843 pour gérer le verrouillage par fichier.</p></li>
2845 <li><code>file:/chemin/vers/mutex</code>
2846 <p>Sélection de la "meilleure" implémentation de verrouillage
2847 par fichier disponible ; le choix s'effectue entre
2848 <code>fcntl</code> et <code>flock</code>, dans cet ordre.</p></li>
2851 <p>La plupart des mécanismes ne sont disponibles que sur les
2852 plate-formes où ces dernières et <a class="glossarylink" href="../glossary.html#apr" title="voir glossaire">APR</a> les
2853 supportent. Les mécanismes qui ne sont pas disponibles sur toutes
2854 les plate-formes sont <em>posixsem</em>,
2855 <em>sysvsem</em>, <em>sem</em>, <em>pthread</em>, <em>fcntl</em>,
2856 <em>flock</em>, et <em>file</em>.</p>
2858 <p>Avec les mécanismes à base de fichier <em>fcntl</em> et
2859 <em>flock</em>, le chemin, s'il est fourni, est un répertoire dans
2860 lequel le fichier verrou sera créé. Le répertoire par défaut est le
2861 répertoire httpd défini par la directive <code class="directive"><a href="#serverroot">ServerRoot</a></code>. Utilisez toujours un système
2862 de fichiers local sur disque pour <code>/chemin/vers/mutex</code> et
2863 jamais un répertoire se trouvant dans un système de fichiers NFS ou
2864 AFS. Le nom de base du fichier se composera du type de mutex, d'une
2865 chaîne optionnelle correspondant à l'instance et fournie par le
2866 module ; et, sauf si le mot-clé <code>OmitPID</code> a été spécifié,
2867 l'identificateur du processus parent httpd sera ajouté afin de
2868 rendre le nom du fichier unique, évitant ainsi tout conflit lorsque
2869 plusieurs instances d'httpd partagent le même répertoire de
2870 verrouillage. Par exemple, si le nom de mutex est
2871 <code>mpm-accept</code>, et si le répertoire de verrouillage est
2872 <code>/var/httpd/locks</code>, le nom du fichier verrou pour
2873 l'instance httpd dont le processus parent a pour identifiant 12345
2874 sera <code>/var/httpd/locks/mpm-accept.12345</code>.</p>
2876 <div class="warning"><h3>Sécurité</h3>
2877 <p>Il est déconseillé d'<em>éviter</em> de placer les fichiers mutex
2878 dans un répertoire où tout le monde peut écrire comme
2879 <code>/var/tmp</code>, car quelqu'un pourrait initier une attaque
2880 par déni de service et empêcher le serveur de démarrer en créant un
2881 fichier verrou possédant un nom identique à celui que le serveur va
2882 tenter de créer.</p>
2885 <p>La table suivante décrit les noms de mutex utilisés par httpd et
2886 ses modules associés.</p>
2888 <table class="bordered"><tr class="header">
2891 <th>Ressource protégée</th>
2894 <td><code>mpm-accept</code></td>
2895 <td>modules MPM <code class="module"><a href="../mod/prefork.html">prefork</a></code> et <code class="module"><a href="../mod/worker.html">worker</a></code></td>
2896 <td>connexions entrantes, afin d'éviter le problème de
2897 l'afflux de requêtes ; pour plus d'informations, voir la
2898 documentation <a href="../misc/perf-tuning.html">Amélioration des
2899 performances</a></td>
2902 <td><code>authdigest-client</code></td>
2903 <td><code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code></td>
2904 <td>liste de clients en mémoire partagée</td>
2907 <td><code>authdigest-opaque</code></td>
2908 <td><code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code></td>
2909 <td>compteur en mémoire partagée</td>
2912 <td><code>ldap-cache</code></td>
2913 <td><code class="module"><a href="../mod/mod_ldap.html">mod_ldap</a></code></td>
2914 <td>cache de résultat de recherche LDAP</td>
2917 <td><code>rewrite-map</code></td>
2918 <td><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code></td>
2919 <td>communication avec des programmes externes
2920 d'associations de valeurs, afin d'éviter les interférences
2921 d'entrées/sorties entre plusieurs requêtes</td>
2924 <td><code>ssl-cache</code></td>
2925 <td><code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code></td>
2926 <td>cache de session SSL</td>
2929 <td><code>ssl-stapling</code></td>
2930 <td><code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code></td>
2931 <td>cache de l'étiquetage OCSP ("OCSP stapling")</td>
2934 <td><code>watchdog-callback</code></td>
2935 <td><code class="module"><a href="../mod/mod_watchdog.html">mod_watchdog</a></code></td>
2936 <td>fonction de rappel d'un module client particulier</td>
2940 <p>Le mot-clé <code>OmitPID</code> permet d'empêcher l'addition de
2941 l'identifiant du processus httpd parent au nom du fichier verrou.</p>
2944 <p>Dans l'exemple suivant, le mécanisme de mutex pour le mutex
2945 mpm-accept est modifié pour passer du mécanisme par défaut au
2946 mécanisme <code>fcntl</code>, avec le fichier verrou associé créé
2947 dans le répertoire <code>/var/httpd/locks</code>. Le mécanisme de
2948 mutex par défaut pour tous les autres mutex deviendra
2949 <code>sysvsem</code>.</p>
2951 <div class="example"><p><code>
2952 Mutex default sysvsem<br />
2953 Mutex mpm-accept fcntl:/var/httpd/locks
2957 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
2958 <div class="directive-section"><h2><a name="NameVirtualHost" id="NameVirtualHost">NameVirtualHost</a> <a name="namevirtualhost" id="namevirtualhost">Directive</a></h2>
2959 <table class="directive">
2960 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit une adresse IP pour les serveurs virtuels à base de
2962 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>NameVirtualHost <var>adresse</var>[:<var>port</var>]</code></td></tr>
2963 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
2964 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
2965 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
2968 <p>Une seule directive <code class="directive">NameVirtualHost</code> permet
2969 d'identifier un ensemble de serveurs virtuels identiques que le serveur
2970 va sélectionner en fonction du <em>nom d'hôte</em> spécifié par le
2971 client. La directive <code class="directive">NameVirtualHost</code> est
2972 obligatoire si vous souhaitez configurer des <a href="../vhosts/">serveurs virtuels à base de nom</a>.</p>
2974 <p>Cette directive, ainsi que les directives <code class="directive">VirtualHost</code> correspondantes, <em>doit</em> comporter un
2975 numéro de port si le serveur supporte les connexions HTTP et HTTPS.</p>
2977 <p>Bien que <var>adresse</var> puisse contenir un nom d'hôte, il est
2978 recommandé d'utiliser plutôt une adresse IP ou un nom d'hôte avec
2979 caractères génériques. Une directive NameVirtualHost contenant des
2980 caractères génériques ne peut correspondre qu'à des serveurs virtuels
2981 qui contiennent aussi des caractères génériques dans leur argument.</p>
2983 <p>Dans les cas où un pare-feu ou autre mandataire reçoit les requêtes
2984 et les redirige sous une adresse IP différente vers le serveur, vous
2985 devez spécifier l'adresse IP de l'interface physique de la machine qui
2986 va servir les requêtes.</p>
2988 <p>Dans l'exemple ci-dessous, les requêtes reçues sur l'interface
2989 192.0.2.1 et le port 80 ne vont déclencher une sélection que parmi les
2990 deux premiers serveurs virtuels. Les requêtes reçues sur le port 80 et
2991 sur toute interface ne vont déclencher une sélection que parmi les
2992 troisième et quatrième serveurs virtuels. D'une manière générale,
2993 lorsque l'interface ne constitue pas un critère important de sélection,
2994 la valeur "*:80" suffit pour les directives NameVirtualHost et
2997 <div class="example"><p><code>
2998 NameVirtualHost 192.0.2.1:80<br />
2999 NameVirtualHost *:80<br /><br />
3001 <VirtualHost 192.0.2.1:80><br />
3002 ServerName namebased-a.example.com<br />
3003 </VirtualHost><br />
3005 <VirtualHost 192.0.2.1:80><br />
3006 Servername namebased-b.example.com<br />
3007 </VirtualHost><br />
3009 <VirtualHost *:80><br />
3010 ServerName namebased-c.example.com <br />
3011 </VirtualHost><br />
3013 <VirtualHost *:80><br />
3014 ServerName namebased-d.example.com <br />
3015 </VirtualHost><br />
3020 <p>Si aucun serveur virtuel ne correspond, c'est le premier serveur
3021 virtuel correspondant à l'adresse IP qui sera utilisé.</p>
3023 <p>Les adresses IPv6 doivent être entourées de crochets, comme dans
3024 l'exemple suivant :</p>
3026 <div class="example"><p><code>
3027 NameVirtualHost [2001:db8::a00:20ff:fea7:ccea]:8080
3032 <div class="note"><h3>Argument de la directive <code class="directive"><VirtualHost></code></h3>
3033 <p>Notez que l'argument de la directive <code class="directive"><VirtualHost></code> doit être identique à
3034 l'argument de la directive <code class="directive">NameVirtualHost</code>.</p>
3036 <div class="example"><p><code>
3037 NameVirtualHost 192.0.2.2:80<br />
3038 <VirtualHost 192.0.2.2:80><br />
3040 </VirtualHost><br />
3046 <li><a href="../vhosts/">Documentation sur les serveurs
3050 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
3051 <div class="directive-section"><h2><a name="Options" id="Options">Options</a> <a name="options" id="options">Directive</a></h2>
3052 <table class="directive">
3053 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit les fonctionnalités disponibles pour un répertoire
3054 particulier</td></tr>
3055 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Options
3056 [+|-]<var>option</var> [[+|-]<var>option</var>] ...</code></td></tr>
3057 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Options All</code></td></tr>
3058 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
3059 <tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>Options</td></tr>
3060 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
3061 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
3063 <p>La directive <code class="directive">Options</code> permet de définir
3064 les fonctionnalités de serveur disponibles pour un répertoire
3067 <p><var>option</var> peut être défini à <code>None</code>, auquel
3068 cas aucune fonctionnalité spécifique n'est activée, ou comprendre
3069 une ou plusieurs des options suivantes :</p>
3072 <dt><code>All</code></dt>
3074 <dd>Toutes les options excepté <code>MultiViews</code>. il s'agit
3075 de la configuration par défaut.</dd>
3077 <dt><code>ExecCGI</code></dt>
3079 <dd>L'exécution de scripts CGI à l'aide du module
3080 <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> est permise.</dd>
3082 <dt><code>FollowSymLinks</code></dt>
3086 Le serveur va suivre les liens symboliques dans le répertoire
3089 <p>Bien que le serveur suive les liens symboliques, il ne modifie
3090 <em>pas</em> le nom de chemin concerné défini par la section
3091 <code class="directive"><a href="#directory"><Directory></a></code>.</p>
3092 <p>Notez aussi que cette option <strong>est ignorée</strong> si
3093 elle est définie dans une section <code class="directive"><a href="#location"><Location></a></code>.</p>
3094 <p>Le fait d'omettre cette option ne doit pas être considéré comme
3095 une mesure de sécurité efficace, car il existe toujours une
3096 situation de compétition (race condition) entre l'instant où l'on
3097 vérifie qu'un chemin n'est pas un lien symbolique, et l'instant où
3098 l'on utilise effectivement ce chemin.</p>
3101 <dt><code>Includes</code></dt>
3104 Les inclusions côté serveur (SSI) à l'aide du module
3105 <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> sont autorisées.</dd>
3107 <dt><code>IncludesNOEXEC</code></dt>
3111 Les inclusions côté serveur (SSI) sont permises, mais <code>#exec
3112 cmd</code> et <code>#exec cgi</code> sont désactivés.
3113 L'utilisation de <code>#include virtual</code> pour les scripts
3114 CGI est cependant toujours possible depuis des répertoires
3115 définis par <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code>.</dd>
3117 <dt><code>Indexes</code></dt>
3120 Si une URL requise correspond au répertoire concerné, et si aucun
3121 <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code> (<em>par
3122 exemple</em> <code>index.html</code>) n'est défini pour ce
3123 répertoire, le module <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> va renvoyer
3124 un listing formaté du répertoire.</dd>
3126 <dt><code>MultiViews</code></dt>
3129 Les vues multiples ("multiviews") à <a href="../content-negotiation.html">contenu négocié</a> à l'aide du
3130 module <code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code> sont autorisées.</dd>
3132 <dt><code>SymLinksIfOwnerMatch</code></dt>
3134 <dd>Le serveur ne suivra que les liens symboliques qui renvoient
3135 vers un fichier ou un répertoire dont le propriétaire est le même
3138 <div class="note"><h3>Note</h3> <p>Cette option est ignorée si elle est
3139 définie dans une section <code class="directive"><a href="#location"><Location></a></code>.</p>
3140 <p>Le fait d'omettre cette option ne doit pas être considéré comme
3141 une mesure de sécurité efficace, car il existe toujours une
3142 situation de compétition (race condition) entre l'instant où l'on
3143 vérifie qu'un chemin n'est pas un lien symbolique, et l'instant où
3144 l'on utilise effectivement ce chemin.</p></div>
3148 <p>Normalement, si plusieurs directives
3149 <code class="directive">Options</code> peuvent s'appliquer à un répertoire,
3150 c'est la plus spécifique qui est utilisée et les autres sont
3151 ignorées ; les options ne sont pas fusionnées (voir <a href="../sections.html#mergin">comment les sections sont
3152 fusionnées</a>). Elles le sont cependant si <em>toutes</em> les
3153 options de la directive <code class="directive">Options</code> sont
3154 précédées d'un symbole <code>+</code> ou <code>-</code>. Toute
3155 option précédée d'un <code>+</code> est ajoutée à la liste des
3156 options courantes de manière forcée et toute option précédée d'un
3157 <code>-</code> est supprimée de la liste des options courantes de la
3160 <div class="warning"><h3>Avertissement</h3>
3161 <p>Mélanger des <code class="directive">Options</code> avec <code>+</code>
3162 ou <code>-</code> avec des <code class="directive">Options</code> sans
3163 <code>+</code> ou <code>-</code> constitue une erreur de syntaxe, et
3164 peut résulter en des comportements inattendus.</p>
3167 <p>Par exemple, sans aucun symbole <code>+</code> et <code>-</code>
3170 <div class="example"><p><code>
3171 <Directory /web/docs><br />
3172 <span class="indent">
3173 Options Indexes FollowSymLinks<br />
3175 </Directory><br />
3177 <Directory /web/docs/spec><br />
3178 <span class="indent">
3179 Options Includes<br />
3184 <p>ici, seule l'option <code>Includes</code> sera prise en compte
3185 pour le répertoire <code>/web/docs/spec</code>. Par contre, si la
3186 seconde directive <code class="directive">Options</code> utilise les
3187 symboles <code>+</code> et <code>-</code> :</p>
3189 <div class="example"><p><code>
3190 <Directory /web/docs><br />
3191 <span class="indent">
3192 Options Indexes FollowSymLinks<br />
3194 </Directory><br />
3196 <Directory /web/docs/spec><br />
3197 <span class="indent">
3198 Options +Includes -Indexes<br />
3203 <p>alors, les options <code>FollowSymLinks</code> et
3204 <code>Includes</code> seront prises en compte pour le répertoire
3205 <code>/web/docs/spec</code>.</p>
3207 <div class="note"><h3>Note</h3>
3208 <p>L'utilisation de <code>-IncludesNOEXEC</code> ou
3209 <code>-Includes</code> désactive complètement les inclusions côté
3210 serveur sans tenir compte des définitions précédentes.</p>
3213 <p>En l'absence de toute définition d'options, la valeur par défaut
3214 est <code>All</code>.</p>
3217 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
3218 <div class="directive-section"><h2><a name="RLimitCPU" id="RLimitCPU">RLimitCPU</a> <a name="rlimitcpu" id="rlimitcpu">Directive</a></h2>
3219 <table class="directive">
3220 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limite le temps CPU alloué aux processus initiés par les
3221 processus enfants d'Apache httpd</td></tr>
3222 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RLimitCPU <var>secondes</var>|max [<var>secondes</var>|max]</code></td></tr>
3223 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Non défini ; utilise les valeurs par défaut du système
3224 d'exploitation</code></td></tr>
3225 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
3226 <tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>All</td></tr>
3227 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
3228 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
3230 <p>Prend 1 ou 2 paramètres. Le premier definit la limite de
3231 consommation de ressources pour tous les processus, et le second la
3232 consommation de ressources maximale. Les deux paramètres peuvent
3233 contenir soit un nombre, soit <code>max</code> pour indiquer au
3234 serveur que la limite de consommation correspond à la valeur
3235 maximale autorisée par la configuration du système d'exploitation.
3236 Pour augmenter la consommation maximale de ressources, le serveur
3237 doit s'exécuter en tant que <code>root</code>, ou se trouver dans sa
3238 phase de démarrage.</p>
3240 <p>Cette directive s'applique aux processus initiés par les
3241 processus enfants d'Apache httpd qui traitent les requêtes, et non aux
3242 processus enfants eux-mêmes. Sont concernés les scripts CGI et les
3243 commandes exec des SSI, mais en aucun cas les processus initiés par
3244 le processus parent d'Apache httpd comme les journalisations redirigées
3245 vers un programme.</p>
3247 <p>Les limites de ressources CPU sont exprimées en secondes par
3252 <li><code class="directive"><a href="#rlimitmem">RLimitMEM</a></code></li>
3253 <li><code class="directive"><a href="#rlimitnproc">RLimitNPROC</a></code></li>
3256 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
3257 <div class="directive-section"><h2><a name="RLimitMEM" id="RLimitMEM">RLimitMEM</a> <a name="rlimitmem" id="rlimitmem">Directive</a></h2>
3258 <table class="directive">
3259 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limite la mémoire allouée aux processus initiés par les
3260 processus enfants d'Apache httpd</td></tr>
3261 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RLimitMEM <var>octets</var>|max [<var>octets</var>|max]</code></td></tr>
3262 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Non défini ; utilise les valeurs par défaut du système
3263 d'exploitation</code></td></tr>
3264 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
3265 <tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>All</td></tr>
3266 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
3267 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
3269 <p>Prend 1 ou 2 paramètres. Le premier definit la limite de
3270 consommation de ressources pour tous les processus, et le second la
3271 consommation de ressources maximale. Les deux paramètres peuvent
3272 contenir soit un nombre, soit <code>max</code> pour indiquer au
3273 serveur que la limite de consommation correspond à la valeur
3274 maximale autorisée par la configuration du système d'exploitation.
3275 Pour augmenter la consommation maximale de ressources, le serveur
3276 doit s'exécuter en tant que <code>root</code>, ou se trouver dans sa
3277 phase de démarrage.</p>
3279 <p>Cette directive s'applique aux processus initiés par les
3280 processus enfants d'Apache httpd qui traitent les requêtes, et non aux
3281 processus enfants eux-mêmes. Sont concernés les scripts CGI et les
3282 commandes exec des SSI, mais en aucun cas les processus initiés par
3283 le processus parent d'Apache httpd comme les journalisations redirigées
3284 vers un programme.</p>
3286 <p>Les limites de ressources mémoire sont exprimées en octets par
3291 <li><code class="directive"><a href="#rlimitcpu">RLimitCPU</a></code></li>
3292 <li><code class="directive"><a href="#rlimitnproc">RLimitNPROC</a></code></li>
3295 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
3296 <div class="directive-section"><h2><a name="RLimitNPROC" id="RLimitNPROC">RLimitNPROC</a> <a name="rlimitnproc" id="rlimitnproc">Directive</a></h2>
3297 <table class="directive">
3298 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limite le nombre de processus qui peuvent être initiés par
3299 les processus initiés par les processus enfants d'Apache httpd</td></tr>
3300 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RLimitNPROC <var>nombre</var>|max [<var>nombre</var>|max]</code></td></tr>
3301 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Unset; uses operating system defaults</code></td></tr>
3302 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
3303 <tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>All</td></tr>
3304 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
3305 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
3307 <p>Prend 1 ou 2 paramètres. Le premier definit la limite de
3308 consommation de ressources pour tous les processus, et le second la
3309 consommation de ressources maximale. Les deux paramètres peuvent
3310 contenir soit un nombre, soit <code>max</code> pour indiquer au
3311 serveur que la limite de consommation correspond à la valeur
3312 maximale autorisée par la configuration du système d'exploitation.
3313 Pour augmenter la consommation maximale de ressources, le serveur
3314 doit s'exécuter en tant que <code>root</code>, ou se trouver dans sa
3315 phase de démarrage.</p>
3317 <p>Cette directive s'applique aux processus initiés par les
3318 processus enfants d'Apache httpd qui traitent les requêtes, et non aux
3319 processus enfants eux-mêmes. Sont concernés les scripts CGI et les
3320 commandes exec des SSI, mais en aucun cas les processus initiés par
3321 le processus parent d'Apache httpd comme les journalisations redirigées
3322 vers un programme.</p>
3324 <p>Les limites des processus contrôlent le nombre de processus par
3327 <div class="note"><h3>Note</h3>
3328 <p>Si les processus CGI s'exécutent sous le même
3329 utilisateur que celui du serveur web, cette
3330 directive va limiter le nombre de processus que le serveur
3331 pourra lui-même créer. La présence de messages
3332 <strong><code>cannot fork</code></strong> dans le journal des
3333 erreurs indiquera que la limite est atteinte.</p>
3338 <li><code class="directive"><a href="#rlimitmem">RLimitMEM</a></code></li>
3339 <li><code class="directive"><a href="#rlimitcpu">RLimitCPU</a></code></li>
3342 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
3343 <div class="directive-section"><h2><a name="ScriptInterpreterSource" id="ScriptInterpreterSource">ScriptInterpreterSource</a> <a name="scriptinterpretersource" id="scriptinterpretersource">Directive</a></h2>
3344 <table class="directive">
3345 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Permet de localiser l'interpréteur des scripts
3347 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ScriptInterpreterSource Registry|Registry-Strict|Script</code></td></tr>
3348 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ScriptInterpreterSource Script</code></td></tr>
3349 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
3350 <tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>FileInfo</td></tr>
3351 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
3352 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
3353 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Win32 seulement ;
3354 l'option <code>Registry-Strict</code> est disponible dans les versions
3355 2.0 et supérieures du serveur HTTP Apache</td></tr>
3357 <p>Cette directive permet de contrôler la méthode qu'utilise Apache
3358 httpd pour trouver l'interpréteur destiné à exécuter les scripts CGI. La
3359 définition par défaut est <code>Script</code> : ceci indique à
3360 Apache httpd qu'il doit utiliser l'interpréteur précisé dans la ligne
3361 shebang du script (la première ligne, commençant par
3362 <code>#!</code>). Sur les systèmes Win32, cette ligne ressemble
3363 souvent à ceci :</p>
3365 <div class="example"><p><code>
3366 #!C:/Perl/bin/perl.exe
3369 <p>ou simplement, dans le cas où <code>perl</code> est dans le
3370 <code>PATH</code> :</p>
3372 <div class="example"><p><code>
3376 <p>Avec <code>ScriptInterpreterSource Registry</code>, Windows va
3377 effectuer une recherche dans l'arborescence
3378 <code>HKEY_CLASSES_ROOT</code> de la base de registre avec comme
3379 mot-clé l'extension du fichier contenant le script (par exemple
3380 <code>.pl</code>). C'est la commande définie par la sous-clé de
3381 registre <code>Shell\ExecCGI\Command</code> ou, si elle n'existe
3382 pas, la sous-clé <code>Shell\Open\Command</code> qui est utilisée
3383 pour ouvrir le fichier du script. Si ces clés de registre ne sont
3384 pas trouvées, Apache httpd utilise la méthode de l'option
3385 <code>Script</code>.</p>
3387 <div class="warning"><h3>Sécurité</h3>
3388 <p>Soyez prudent si vous utilisez <code>ScriptInterpreterSource
3389 Registry</code> avec des répertoires faisant l'objet d'un <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code>, car Apache httpd va essayer
3390 d'exécuter <strong>tous</strong> les fichiers contenus dans
3391 celui-ci. L'option <code>Registry</code> peut causer des appels de
3392 programmes non voulus sur des fichiers non destinés à être exécutés.
3393 Par exemple, la commande par défaut open sur les fichiers
3394 <code>.htm</code> sur la plupart des systèmes Windows va lancer
3395 Microsoft Internet Explorer ; ainsi, toute requête HTTP pour un
3396 fichier <code>.htm</code> situé dans le répertoire des scripts
3397 va lancer le navigateur en arrière-plan sur le serveur, ce qui a
3398 toutes les chances de crasher votre système dans les minutes qui
3402 <p>L'option <code>Registry-Strict</code>, apparue avec la version
3403 2.0 du serveur HTTP Apache,
3404 agit de manière identique à <code>Registry</code>, mais n'utilise
3405 que la sous-clé <code>Shell\ExecCGI\Command</code>. La présence de
3406 la clé <code>ExecCGI</code> n'étant pas systématique, Elle doit être
3407 définie manuellement dans le registre Windows et évite ainsi tout
3408 appel de programme accidentel sur votre système.</p>
3411 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
3412 <div class="directive-section"><h2><a name="SeeRequestTail" id="SeeRequestTail">SeeRequestTail</a> <a name="seerequesttail" id="seerequesttail">Directive</a></h2>
3413 <table class="directive">
3414 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si mod_status affiche les 63 premiers caractères
3415 d'une requête ou les 63 derniers, en supposant que la requête
3416 elle-même possède plus de 63 caractères.</td></tr>
3417 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SeeRequestTail On|Off</code></td></tr>
3418 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>SeeRequestTail Off</code></td></tr>
3419 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
3420 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
3421 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
3422 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.2.7
3423 d'Apache httpd.</td></tr>
3425 <p>Avec <code>ExtendedStatus On</code>, mod_status affiche la
3426 véritable requête en cours de traitement. Pour des raisons
3427 historiques, seuls 63 caractères de la requête sont réellement
3428 stockés à des fins d'affichage. Cette directive permet de déterminer
3429 si ce sont les 63 premiers caractères qui seront stockés (c'est le
3430 comportement par défaut),
3431 ou si ce sont les 63 derniers. Ceci ne s'applique bien entendu que
3432 si la taille de la requête est de 64 caractères ou plus.</p>
3434 <p>Si Apache httpd traite la requête <code>GET /disque1/stockage/apache/htdocs/images/rep-images1/nourriture/pommes.jpg HTTP/1.1</code>
3435 , l'affichage de la requête par mod_status se présentera comme suit :
3438 <table class="bordered">
3440 <th>Off (défaut)</th>
3441 <td>GET /disque1/stockage/apache/htdocs/images/rep-images1/nourritu</td>
3445 <td>apache/htdocs/images/rep-images1/nourriture/pommes.jpg HTTP/1.1</td>
3451 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
3452 <div class="directive-section"><h2><a name="ServerAdmin" id="ServerAdmin">ServerAdmin</a> <a name="serveradmin" id="serveradmin">Directive</a></h2>
3453 <table class="directive">
3454 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'adresse électronique que le serveur inclut dans les
3455 messages d'erreur envoyés au client</td></tr>
3456 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerAdmin <var>adresse électronique</var>|<var>URL</var></code></td></tr>
3457 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
3458 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
3459 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
3461 <p>La directive <code class="directive">ServerAdmin</code> permet de définir
3462 l'adresse de contact que le serveur va inclure dans tout message
3463 d'erreur qu'il envoie au client. Si le programme <code>httpd</code>
3464 ne reconnait pas l'argument fourni comme une URL, il suppose que
3465 c'est une <var>adresse électronique</var>, et lui ajoute le préfixe
3466 <code>mailto:</code> dans les cibles des hyperliens. Il est
3467 cependant recommandé d'utiliser exclusivement une adresse
3468 électronique, car de nombreux scripts CGI considèrent ceci comme
3469 implicite. Si vous utilisez une URL, elle doit pointer vers un autre
3470 serveur que vous contrôlez. Dans le cas contraire, les utilisateurs
3471 seraient dans l'impossibilité de vous contacter en cas de problème.</p>
3473 <p>Il peut s'avérer utile de définir une adresse dédiée à
3474 l'administration du serveur, par exemple :</p>
3476 <div class="example"><p><code>
3477 ServerAdmin www-admin@foo.example.com
3479 <p>car les utilisateurs ne mentionnent pas systématiquement le
3480 serveur dont ils parlent !</p>
3483 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
3484 <div class="directive-section"><h2><a name="ServerAlias" id="ServerAlias">ServerAlias</a> <a name="serveralias" id="serveralias">Directive</a></h2>
3485 <table class="directive">
3486 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Autres noms d'un serveur utilisables pour atteindre des
3487 serveurs virtuels à base de nom</td></tr>
3488 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerAlias <var>nom serveur</var> [<var>nom serveur</var>]
3489 ...</code></td></tr>
3490 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel</td></tr>
3491 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
3492 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
3494 <p>La directive <code class="directive">ServerAlias</code> permet de définir
3495 les noms alternatifs d'un serveur utilisables pour atteindre des <a href="../vhosts/name-based.html">serveurs virtuels à base de
3496 nom</a>. La directive <code class="directive">ServerAlias</code> peut
3497 contenir des caractères génériques, si nécessaire.</p>
3499 <div class="example"><p><code>
3500 <VirtualHost *:80><br />
3501 ServerName serveur.domaine.com<br />
3502 ServerAlias serveur serveur2.domaine.com serveur2<br />
3503 ServerAlias *.example.com<br />
3504 UseCanonicalName Off<br />
3506 </VirtualHost>
3511 <li><code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code></li>
3512 <li><a href="../vhosts/">Documentation sur les serveurs virtuels
3513 du serveur HTTP Apache</a></li>
3516 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
3517 <div class="directive-section"><h2><a name="ServerName" id="ServerName">ServerName</a> <a name="servername" id="servername">Directive</a></h2>
3518 <table class="directive">
3519 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom d'hôte et port que le serveur utilise pour
3520 s'authentifier lui-même</td></tr>
3521 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerName [<var>protocole</var>://]<var>nom de domaine
3522 entièrement qualifié</var>[:<var>port</var>]</code></td></tr>
3523 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
3524 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
3525 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
3527 <p>La directive <code class="directive">ServerName</code> permet de définir
3528 les protocole, nom d'hôte et port d'une requête que le serveur
3529 utilise pour s'authentifier lui-même. Ceci est utile lors de la
3530 création de redirections d'URLs. Par exemple, si le nom de la
3531 machine hébergeant le serveur web est
3532 <code>simple.example.com</code>, la machine possède l'alias
3533 DNS <code>www.example.com</code>, et si vous voulez que le serveur
3534 web s'identifie avec cet alias, vous devez utilisez la définition
3537 <div class="example"><p><code>
3538 ServerName www.example.com:80
3541 <p>La directive <code class="directive">ServerName</code> peut apparaître à
3542 toutes les étapes de la définition du serveur. Toute occurrence
3543 annule cependant la précédente (pour ce serveur).</p>
3545 <p>Si la directive <code class="directive">ServerName</code> n'est pas
3546 définie, le serveur tente de déterminer le nom d'hôte en effectuant
3547 une recherche DNS inverse sur son adresse IP. Si la directive
3548 <code class="directive">ServerName</code> ne précise pas de port, le serveur
3549 utilisera celui de la requête entrante. Il est recommandé de
3550 spécifier un nom d'hôte et un port spécifiques à l'aide de la
3551 directive <code class="directive">ServerName</code> pour une fiabilité
3552 optimale et à titre préventif.</p>
3554 <p>Si vous définissez des <a href="../vhosts/name-based.html">serveurs virtuels à base de
3555 nom</a>, une directive <code class="directive">ServerName</code> située à
3556 l'intérieur d'une section <code class="directive"><a href="#virtualhost"><VirtualHost></a></code> spécifiera quel nom d'hôte
3557 doit apparaître dans l'en-tête de requête <code>Host:</code> pour
3558 pouvoir atteindre ce serveur virtuel.</p>
3561 <p>Parfois, le serveur s'exécute en amont d'un dispositif qui
3562 implémente SSL, comme un mandataire inverse, un répartiteur de
3563 charge ou un boîtier dédié SSL. Dans ce cas, spécifiez le protocole
3564 <code>https://</code> et le port auquel les clients se connectent
3565 dans la directive <code class="directive">ServerName</code>, afin de
3566 s'assurer que le serveur génère correctement ses URLs
3567 d'auto-identification.
3570 <p>Voir la description des directives <code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code> et <code class="directive"><a href="#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></code> pour les
3571 définitions qui permettent de déterminer si les URLs
3572 auto-identifiantes (par exemple via le module
3573 <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code>) vont faire référence au port spécifié, ou
3574 au port indiqué dans la requête du client.
3577 <div class="warning">
3578 <p>Si la valeur de la directive <code class="directive">ServerName</code> ne
3579 peut pas être résolue en adresse IP, le démarrage du serveur
3580 provoquera un avertissement. <code>httpd</code> va alors utiliser le
3581 résultat de la commande système <code>hostname</code> pour
3582 déterminer le nom du serveur, ce qui ne correspondra pratiquement
3583 jamais au nom de serveur que vous souhaitez réellement.</p>
3584 <div class="example"><p><code>
3585 httpd: Could not reliably determine the server's fully qualified domain name, using rocinante.local for ServerName
3592 <li><a href="../dns-caveats.html">Problèmes concernant le DNS et
3593 le serveur HTTP Apache</a></li>
3594 <li><a href="../vhosts/">Documentation sur les serveurs virtuels
3595 du serveur HTTP Apache</a></li>
3596 <li><code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code></li>
3597 <li><code class="directive"><a href="#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></code></li>
3598 <li><code class="directive"><a href="#namevirtualhost">NameVirtualHost</a></code></li>
3599 <li><code class="directive"><a href="#serveralias">ServerAlias</a></code></li>
3602 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
3603 <div class="directive-section"><h2><a name="ServerPath" id="ServerPath">ServerPath</a> <a name="serverpath" id="serverpath">Directive</a></h2>
3604 <table class="directive">
3605 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom de chemin d'URL hérité pour un serveur virtuel à base
3606 de nom accédé par un navigateur incompatible</td></tr>
3607 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerPath <var>chemin d'URL</var></code></td></tr>
3608 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel</td></tr>
3609 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
3610 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
3612 <p>La directive <code class="directive">ServerPath</code> permet de définir
3613 le nom de chemin d'URL hérité d'un hôte, à utiliser avec les <a href="../vhosts/">serveurs virtuels à base de nom</a>.</p>
3617 <li><a href="../vhosts/">Documentation sur les serveurs virtuels
3618 du serveur HTTP Apache</a></li>
3621 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
3622 <div class="directive-section"><h2><a name="ServerRoot" id="ServerRoot">ServerRoot</a> <a name="serverroot" id="serverroot">Directive</a></h2>
3623 <table class="directive">
3624 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Racine du répertoire d'installation du
3626 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerRoot <var>chemin de répertoire</var></code></td></tr>
3627 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ServerRoot /usr/local/apache</code></td></tr>
3628 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
3629 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
3630 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
3632 <p>La directive <code class="directive">ServerRoot</code> permet de définir
3633 le répertoire dans lequel le serveur est installé. En particulier,
3634 il contiendra les sous-répertoires <code>conf/</code> et
3635 <code>logs/</code>. Les chemins relatifs indiqués dans les autres
3636 directives (comme <code class="directive"><a href="#include">Include</a></code> ou <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code>) seront définis par
3637 rapport à ce répertoire.</p>
3639 <div class="example"><h3>Example</h3><p><code>
3640 ServerRoot /home/httpd
3646 <li><a href="../invoking.html">the <code>-d</code>
3647 options de <code>httpd</code></a></li>
3648 <li><a href="../misc/security_tips.html#serverroot">les conseils à
3649 propos de sécurité</a> pour des informations sur la manière de définir
3650 correctement les permissions sur le répertoire indiqué par la directive
3651 <code class="directive">ServerRoot</code></li>
3654 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
3655 <div class="directive-section"><h2><a name="ServerSignature" id="ServerSignature">ServerSignature</a> <a name="serversignature" id="serversignature">Directive</a></h2>
3656 <table class="directive">
3657 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit un pied de page pour les documents générés par le
3659 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerSignature On|Off|EMail</code></td></tr>
3660 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ServerSignature Off</code></td></tr>
3661 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
3662 <tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>All</td></tr>
3663 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
3664 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
3666 <p>La directive <code class="directive">ServerSignature</code> permet de
3667 définir une ligne de pied de page fixe pour les documents générés
3668 par le serveur (messages d'erreur, listings de répertoires ftp de
3669 <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, sorties de <code class="module"><a href="../mod/mod_info.html">mod_info</a></code>,
3670 etc...). Dans le cas d'une chaîne de mandataires, l'utilisateur n'a
3671 souvent aucun moyen de déterminer lequel des mandataires chaînés a
3672 généré un message d'erreur, et c'est une des raisons pour lesquelles
3673 on peut être amené à ajouter un tel pied de page.</p>
3675 <p>La valeur par défaut <code>Off</code> supprime la ligne de pied
3676 de page (et est ainsi compatible avec le comportement des
3677 versions 1.2 et antérieures d'Apache). la valeur <code>On</code>
3678 ajoute simplement une ligne contenant le numéro de version du
3679 serveur ainsi que le nom du serveur virtuel issu de la directive
3680 <code class="directive"><a href="#servername">ServerName</a></code>, alors que la valeur
3681 <code>EMail</code> ajoute en plus une référence "mailto:" à
3682 l'administrateur du document référencé issu la directive
3683 <code class="directive"><a href="#serveradmin">ServerAdmin</a></code>.</p>
3685 <p>Après la version 2.0.44, les détails à propos du numéro de
3686 version du serveur sont contrôlés à l'aide de la directive
3687 <code class="directive"><a href="#servertokens">ServerTokens</a></code>.</p>
3691 <li><code class="directive"><a href="#servertokens">ServerTokens</a></code></li>
3694 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
3695 <div class="directive-section"><h2><a name="ServerTokens" id="ServerTokens">ServerTokens</a> <a name="servertokens" id="servertokens">Directive</a></h2>
3696 <table class="directive">
3697 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure l'en-tête <code>Server</code> de la réponse
3699 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full</code></td></tr>
3700 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ServerTokens Full</code></td></tr>
3701 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
3702 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
3703 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
3705 <p>Cette directive permet de contrôler le contenu de l'en-tête
3706 <code>Server</code> inclus dans la réponse envoyée au client : cet
3707 en-tête peut contenir le type de système d'exploitation du serveur,
3708 ainsi que des informations à propos des modules compilés avec le
3712 <dt><code>ServerTokens Full</code> (ou non spécifié)</dt>
3714 <dd>Le serveur envoie par exemple : <code>Server: Apache/2.4.1
3715 (Unix) PHP/4.2.2 MyMod/1.2</code></dd>
3720 <dt><code>ServerTokens Prod[uctOnly]</code></dt>
3722 <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server:
3725 <dt><code>ServerTokens Major</code></dt>
3727 <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server:
3728 Apache/2</code></dd>
3730 <dt><code>ServerTokens Minor</code></dt>
3732 <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server:
3733 Apache/2.4</code></dd>
3735 <dt><code>ServerTokens Min[imal]</code></dt>
3737 <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server:
3738 Apache/2.4.1</code></dd>
3740 <dt><code>ServerTokens OS</code></dt>
3742 <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server:
3743 Apache/2.4.1 (Unix)</code></dd>
3749 <p>Cette définition s'applique à l'ensemble du serveur et ne peut
3750 être activée ou désactivée pour tel ou tel serveur virtuel.</p>
3752 <p>Dans les versions postérieures à 2.0.44, cette directive contrôle
3753 aussi les informations fournies par la directive <code class="directive"><a href="#serversignature">ServerSignature</a></code>.</p>
3755 <div class="note">Définir <code class="directive">ServerTokens</code> à une
3756 valeur inférieure à <code>minimal</code> n'est pas
3757 recommandé car le débogage des problèmes
3758 interopérationnels n'en sera alors que plus difficile. Notez
3759 aussi que la désactivation de l'en-tête Server:
3760 n'améliore en rien la sécurité de votre
3761 serveur ; le concept de "sécurité par
3762 l'obscurité" est un mythe et conduit à
3763 une mauvaise perception de ce qu'est la sécurité.</div>
3769 <li><code class="directive"><a href="#serversignature">ServerSignature</a></code></li>
3772 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
3773 <div class="directive-section"><h2><a name="SetHandler" id="SetHandler">SetHandler</a> <a name="sethandler" id="sethandler">Directive</a></h2>
3774 <table class="directive">
3775 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Force le traitement des fichiers spécifiés par un
3776 gestionnaire particulier</td></tr>
3777 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SetHandler <var>nom gestionnaire</var>|None</code></td></tr>
3778 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
3779 <tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>FileInfo</td></tr>
3780 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
3781 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
3782 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Intégré dans le noyau d'Apache httpd depuis la version
3785 <p>Lorsqu'elle se situe à l'intérieur d'un fichier
3786 <code>.htaccess</code>, ou d'une section <code class="directive"><a href="#directory"><Directory></a></code> ou <code class="directive"><a href="#location"><Location></a></code>, cette directive force le
3787 traitement de tous les fichiers spécifiés par le <a href="../handler.html">gestionnaire</a> défini par l'argument
3788 <var>nom gestionnaire</var>. Par exemple, dans le cas d'un
3789 répertoire dont vous voulez interpréter le contenu comme des
3790 fichiers de règles d'images cliquables, sans tenir compte des
3791 extensions, vous pouvez ajouter la ligne suivante dans un fichier
3792 <code>.htaccess</code> de ce répertoire :</p>
3794 <div class="example"><p><code>
3795 SetHandler imap-file
3798 <p>Autre exemple : si vous voulez que le serveur affiche un
3799 compte-rendu d'état chaque fois qu'une URL du type <code>http://nom
3800 serveur/status</code> est appelée, vous pouvez ajouter ceci dans
3801 <code>httpd.conf</code> :</p>
3803 <div class="example"><p><code>
3804 <Location /status><br />
3805 <span class="indent">
3806 SetHandler server-status<br />
3811 <p>Vous pouvez écraser la définition antérieure d'une directive
3812 <code class="directive">SetHandler</code> en utilisant la valeur
3813 <code>None</code>.</p>
3814 <p><strong>Note :</strong> comme SetHandler l'emporte sur la
3815 définition des gestionnaires par défaut, le comportement habituel
3816 consistant à traiter les URLs se terminant par un slash (/) comme
3817 des répertoires ou des fichiers index est désactivé.</p>
3821 <li><code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code></li>
3824 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
3825 <div class="directive-section"><h2><a name="SetInputFilter" id="SetInputFilter">SetInputFilter</a> <a name="setinputfilter" id="setinputfilter">Directive</a></h2>
3826 <table class="directive">
3827 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit les filtres par lesquels vont passer les requêtes
3828 client et les données POST</td></tr>
3829 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SetInputFilter <var>filtre</var>[;<var>filtre</var>...]</code></td></tr>
3830 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
3831 <tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>FileInfo</td></tr>
3832 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
3833 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
3835 <p>La directive <code class="directive">SetInputFilter</code> permet de
3836 définir le ou les filtres par lesquels vont passer les requêtes
3837 client et les données POST au moment où le serveur les reçoit. Cette
3838 définition vient en ajout à tout autre filtre défini en
3839 quelqu'endroit que ce soit, y compris via la directive <code class="directive"><a href="../mod/mod_mime.html#addinputfilter">AddInputFilter</a></code>.</p>
3841 <p>Si la directive comporte plusieurs filtres, ils doivent être
3842 séparés par des points-virgules, et spécifiés selon l'ordre dans
3843 lequel vous souhaitez les voir agir sur les contenus.</p>
3847 <li>documentation des <a href="../filter.html">Filtres</a></li>
3850 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
3851 <div class="directive-section"><h2><a name="SetOutputFilter" id="SetOutputFilter">SetOutputFilter</a> <a name="setoutputfilter" id="setoutputfilter">Directive</a></h2>
3852 <table class="directive">
3853 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit les filtres par lesquels vont passer les réponses
3854 du serveur</td></tr>
3855 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SetOutputFilter <var>filtre</var>[;<var>filtre</var>...]</code></td></tr>
3856 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
3857 <tr><th><a href="directive-dict.html#Override">Annuler:</a></th><td>FileInfo</td></tr>
3858 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
3859 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
3861 <p>La directive <code class="directive">SetOutputFilter</code> permet de
3862 définir les filtres par lesquels vont passer les réponses du serveur
3863 avant d'être envoyées au client. Cette définition vient en ajout à
3864 tout autre filtre défini en quelqu'endroit que ce soit, y compris
3865 via la directive <code class="directive"><a href="../mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code>.</p>
3867 <p>Par exemple, la configuration suivante va traiter tous les
3868 fichiers du répertoire <code>/www/data/</code> comme des inclusions
3869 côté serveur (SSI) :</p>
3871 <div class="example"><p><code>
3872 <Directory /www/data/><br />
3873 <span class="indent">
3874 SetOutputFilter INCLUDES<br />
3879 <p>Si la directive comporte plusieurs filtres, ils doivent être
3880 séparés par des points-virgules, et spécifiés selon l'ordre dans
3881 lequel vous souhaitez les voir agir sur les contenus.</p>
3885 <li><a href="../filter.html">Filters</a> documentation</li>
3888 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
3889 <div class="directive-section"><h2><a name="TimeOut" id="TimeOut">TimeOut</a> <a name="timeout" id="timeout">Directive</a></h2>
3890 <table class="directive">
3891 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Temps pendant lequel le serveur va attendre certains
3892 évènements avant de considérer qu'une requête a échoué</td></tr>
3893 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>TimeOut <var>secondes</var></code></td></tr>
3894 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>TimeOut 300</code></td></tr>
3895 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
3896 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
3897 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
3899 <p>La directive <code class="directive">TimeOut</code> permet de définir le
3900 temps maximum pendant lequel Apache httpd va attendre des entrées/sorties
3901 selon les circonstances :</p>
3904 <li>Lors de la lecture de données en provenance du client, le
3905 temps maximum jusqu'à l'arrivée d'un paquet TCP si le tampon est
3908 <li>Lors de l'écriture de données destinées au client, le temps
3909 maximum jusqu'à l'arrivée de l'accusé-réception d'un paquet si le
3910 tampon d'envoi est plein.</li>
3912 <li>Avec <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>, le temps d'attente maximum des
3913 sorties d'un script CGI.</li>
3915 <li>Avec <code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code>, le temps d'attente
3916 maximum des sorties d'un processus de filtrage.</li>
3918 <li>Avec <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, la valeur du délai par défaut
3919 si <code class="directive"><a href="../mod/mod_proxy.html#proxytimeout">ProxyTimeout</a></code> n'est
3925 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
3926 <div class="directive-section"><h2><a name="TraceEnable" id="TraceEnable">TraceEnable</a> <a name="traceenable" id="traceenable">Directive</a></h2>
3927 <table class="directive">
3928 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine le comportement des requêtes
3929 <code>TRACE</code></td></tr>
3930 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>TraceEnable <var>[on|off|extended]</var></code></td></tr>
3931 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>TraceEnable on</code></td></tr>
3932 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
3933 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
3934 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
3935 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible dans les versions 1.3.34, 2.0.55 et
3936 supérieures du serveur HTTP Apache</td></tr>
3938 <p>Cette directive l'emporte sur le comportement de
3939 <code>TRACE</code> pour le noyau du serveur et
3940 <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. La définition par défaut
3941 <code>TraceEnable on</code> permet des requêtes <code>TRACE</code>
3942 selon la RFC 2616, qui interdit d'ajouter tout corps à la requête.
3943 La définition <code>TraceEnable off</code> indique au noyau du
3944 serveur et à <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> de retourner un code
3945 d'erreur <code>405</code> (Méthode non autorisée) au client.</p>
3947 <p>En fait, et à des fins de test et de diagnostic seulement, on
3948 peut autoriser l'ajout d'un corps de requête à l'aide de la
3949 définition non standard <code>TraceEnable extended</code>. Le noyau
3950 du serveur (dans le cas d'un serveur d'origine) va limiter la taille
3951 du corps de requête à 64k (plus 8k pour les en-têtes de
3952 fractionnement si <code>Transfer-Encoding: chunked</code> est
3953 utilisé). Le noyau du serveur va reproduire l'ensemble des en-têtes,
3954 y compris les en-têtes de fractionnement avec le corps de la
3955 réponse. Dans le cas d'un serveur mandataire, la taille du corps de
3956 requête n'est pas limitée à 64k.</p>
3959 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
3960 <div class="directive-section"><h2><a name="UnDefine" id="UnDefine">UnDefine</a> <a name="undefine" id="undefine">Directive</a></h2>
3961 <table class="directive">
3962 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Invalide la définition d'une variable</td></tr>
3963 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>UnDefine <var>nom-variable</var></code></td></tr>
3964 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
3965 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
3966 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
3968 <p>Annule l'effet d'une directive <code class="directive"><a href="#define">Define</a></code> ou d'un argument <code>-D</code> de
3969 <code class="program"><a href="../programs/httpd.html">httpd</a></code> en invalidant l'existence de la variable
3971 <p>On peut utiliser cette directive pour inverser l'effet d'une
3972 section <code class="directive"><a href="#ifdefine"><IfDefine></a></code>
3973 sans avoir à modifier les arguments <code>-D</code> dans les scripts
3977 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
3978 <div class="directive-section"><h2><a name="UseCanonicalName" id="UseCanonicalName">UseCanonicalName</a> <a name="usecanonicalname" id="usecanonicalname">Directive</a></h2>
3979 <table class="directive">
3980 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la manière dont le serveur détermine son propre nom
3981 et son port</td></tr>
3982 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>UseCanonicalName On|Off|DNS</code></td></tr>
3983 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>UseCanonicalName Off</code></td></tr>
3984 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
3985 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
3986 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
3988 <p>Dans de nombreuses situations, Apache httpd doit construire une URL
3989 <em>auto-identifiante</em> -- c'est à dire une URL qui fait
3990 référence au serveur lui-même. Avec <code>UseCanonicalName
3991 On</code>, Apache httpd va utiliser le nom d'hôte et le port spécifiés par
3992 la directive <code class="directive"><a href="#servername">ServerName</a></code> pour
3993 construire le nom canonique du serveur. Ce nom est utilisé dans
3994 toutes les URLs auto-identifiantes, et affecté aux variables
3995 <code>SERVER_NAME</code> et <code>SERVER_PORT</code> dans les
3998 <p>Avec <code>UseCanonicalName Off</code>, Apache httpd va construire ses
3999 URLs auto-identifiantes à l'aide du nom d'hôte et du port fournis
4000 par le client, si ce dernier en a fourni un (dans la négative,
4001 Apache utilisera le nom canonique, de la même manière que
4002 ci-dessus). Ces valeurs sont les mêmes que celles qui sont utilisées
4003 pour implémenter les <a href="../vhosts/name-based.html">serveurs virtuels à base de
4004 nom</a>, et sont disponibles avec les mêmes clients. De même, les
4005 variables CGI <code>SERVER_NAME</code> et <code>SERVER_PORT</code>
4006 seront affectées des valeurs fournies par le client.</p>
4008 <p>Cette directive peut s'avérer utile, par exemple, sur un serveur
4009 intranet auquel les utilisateurs se connectent en utilisant des noms
4010 courts tels que <code>www</code>. Si les utilisateurs tapent un nom
4011 court suivi d'une URL qui fait référence à un répertoire, comme
4012 <code>http://www/splat</code>, <em>sans le slash terminal</em>, vous
4013 remarquerez qu'Apache httpd va les rediriger vers
4014 <code>http://www.domain.com/splat/</code>. Si vous avez activé
4015 l'authentification, ceci va obliger l'utilisateur à s'authentifier
4016 deux fois (une première fois pour <code>www</code> et une seconde
4017 fois pour <code>www.domain.com</code> -- voir <a href="http://httpd.apache.org/docs/misc/FAQ.html#prompted-twice">la
4018 foire aux questions sur ce sujet pour plus d'informations</a>). Par
4019 contre, si <code class="directive">UseCanonicalName</code> est définie à
4020 <code>Off</code>, Apache httpd redirigera l'utilisateur vers
4021 <code>http://www/splat/</code>.</p>
4023 <p>Pour l'hébergement virtuel en masse à base d'adresse IP, on
4024 utilise une troisième option, <code>UseCanonicalName
4025 DNS</code>, pour supporter les clients anciens qui ne
4026 fournissent pas d'en-tête <code>Host:</code>. Apache httpd effectue alors
4027 une recherche DNS inverse sur l'adresse IP du serveur auquel le
4028 client s'est connecté afin de construire ses URLs
4029 auto-identifiantes.</p>
4031 <div class="warning"><h3>Avertissement</h3>
4032 <p>Les programmes CGI risquent d'être perturbés par cette option
4033 s'ils tiennent compte de la variable <code>SERVER_NAME</code>. Le
4034 client est pratiquement libre de fournir la valeur qu'il veut comme
4035 nom d'hôte. Mais si le programme CGI n'utilise
4036 <code>SERVER_NAME</code> que pour construire des URLs
4037 auto-identifiantes, il ne devrait pas y avoir de problème.</p>
4042 <li><code class="directive"><a href="#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></code></li>
4043 <li><code class="directive"><a href="#servername">ServerName</a></code></li>
4044 <li><code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code></li>
4047 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
4048 <div class="directive-section"><h2><a name="UseCanonicalPhysicalPort" id="UseCanonicalPhysicalPort">UseCanonicalPhysicalPort</a> <a name="usecanonicalphysicalport" id="usecanonicalphysicalport">Directive</a></h2>
4049 <table class="directive">
4050 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la manière dont le serveur détermine son propre nom
4051 et son port</td></tr>
4052 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>UseCanonicalPhysicalPort On|Off</code></td></tr>
4053 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>UseCanonicalPhysicalPort Off</code></td></tr>
4054 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
4055 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
4056 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
4058 <p>Dans de nombreuses situations, Apache httpd doit construire une URL
4059 <em>auto-identifiante</em> -- c'est à dire une URL qui fait
4060 référence au serveur lui-même. Avec <code>UseCanonicalPhysicalPort
4061 On</code>, Apache httpd va fournir le numéro de port physique réel utilisé
4062 par la requête en tant que port potentiel, pour construire le port
4063 canonique afin que le serveur puisse alimenter la directive
4064 <code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code>. Avec
4065 <code>UseCanonicalPhysicalPort Off</code>, Apache httpd n'utilisera pas le
4066 numéro de port physique réel, mais au contraire se référera aux
4067 informations de configuration pour construire un numéro de port
4070 <div class="note"><h3>Note</h3>
4071 <p>L'ordre dans lequel s'effectue la recherche du port est le
4072 suivant :<br /><br />
4073 <code>UseCanonicalName On</code></p>
4075 <li>Port spécifié par <code>Servername</code></li>
4076 <li>Port physique</li>
4077 <li>Port par défaut</li>
4079 <code>UseCanonicalName Off | DNS</code>
4081 <li>Port spécifié dans l'en-tête <code>Host:</code></li>
4082 <li>Port physique</li>
4083 <li>Port spécifié par <code>Servername</code></li>
4084 <li>Port par défaut</li>
4087 <p>Avec <code>UseCanonicalPhysicalPort Off</code>, on reprend
4088 l'ordre ci-dessus en supprimant "Port physique".</p>
4094 <li><code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code></li>
4095 <li><code class="directive"><a href="#servername">ServerName</a></code></li>
4096 <li><code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code></li>
4099 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
4100 <div class="directive-section"><h2><a name="VirtualHost" id="VirtualHost"><VirtualHost></a> <a name="virtualhost" id="virtualhost">Directive</a></h2>
4101 <table class="directive">
4102 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des directives qui ne s'appliquent qu'à un nom
4103 d'hôte spécifique ou à une adresse IP</td></tr>
4104 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><VirtualHost
4105 <var>adresse IP</var>[:<var>port</var>] [<var>adresse
4106 IP</var>[:<var>port</var>]] ...> ...
4107 </VirtualHost></code></td></tr>
4108 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
4109 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
4110 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
4112 <p>Les balises <code class="directive"><VirtualHost></code> et
4113 <code></VirtualHost></code> permettent de rassembler un groupe
4114 de directives qui ne s'appliquent qu'à un serveur virtuel
4115 particulier. Toute directive autorisée dans un contexte de serveur
4116 virtuel peut être utilisée. Lorsque le serveur reçoit un requête
4117 pour un document hébergé par un serveur virtuel particulier, il
4118 applique les directives de configuration rassemblées dans la section
4119 <code class="directive"><VirtualHost></code>. <var>adresse
4120 IP</var> peut être :</p>
4123 <li>L'adresse IP du serveur virtuel ;</li>
4125 <li>Un nom de domaine entièrement qualifié correspondant à
4126 l'adresse IP du serveur virtuel (non recommandé) ;</li>
4128 <li>Le caractère <code>*</code>, qui n'est utilisé qu'en
4129 combinaison avec <code>NameVirtualHost *</code> pour intercepter
4130 toutes les adresses IP ; ou</li>
4132 <li>La chaîne de caractères <code>_default_</code>, qui n'est
4133 utilisée qu'avec l'hébergement virtuel à base d'adresse IP pour
4134 intercepter les adresses IP qui ne correspondent à aucun serveur
4138 <div class="example"><h3>Exemple</h3><p><code>
4139 <VirtualHost 10.1.2.3><br />
4140 <span class="indent">
4141 ServerAdmin webmaster@host.example.com<br />
4142 DocumentRoot /www/docs/host.example.com<br />
4143 ServerName host.example.com<br />
4144 ErrorLog logs/host.example.com-error_log<br />
4145 TransferLog logs/host.example.com-access_log<br />
4147 </VirtualHost>
4151 <p>Les adresses IPv6 doivent être entourées de crochets car dans le
4152 cas contraire, un éventuel port optionnel ne pourrait pas être
4153 déterminé. Voici un exemple de serveur virtuel avec adresse IPv6
4156 <div class="example"><p><code>
4157 <VirtualHost [2001:db8::a00:20ff:fea7:ccea]><br />
4158 <span class="indent">
4159 ServerAdmin webmaster@host.example.com<br />
4160 DocumentRoot /www/docs/host.example.com<br />
4161 ServerName host.example.com<br />
4162 ErrorLog logs/host.example.com-error_log<br />
4163 TransferLog logs/host.example.com-access_log<br />
4165 </VirtualHost>
4168 <p>Chaque serveur virtuel doit correspondre à une adresse IP, un
4169 port ou un nom d'hôte spécifique ; dans le premier cas, le serveur
4170 doit être configuré pour recevoir les paquets IP de plusieurs
4171 adresses (si le serveur n'a qu'une interface réseau, on peut
4172 utiliser à cet effet la commande <code>ifconfig alias</code> -- si
4173 votre système d'exploitation le permet).</p>
4175 <div class="note"><h3>Note</h3>
4176 <p>L'utilisation de la directive <code class="directive"><VirtualHost></code> n'affecte en rien les
4177 adresses IP sur lesquelles Apache httpd est en écoute. Vous devez vous
4178 assurer que les adresses des serveurs virtuels sont bien incluses
4179 dans la liste des adresses précisées par la directive <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code>.</p>
4182 <p>Avec l'hébergement virtuel à base d'adresse IP, on peut utiliser
4183 le nom spécial <code>_default_</code>, auquel cas le serveur virtuel
4184 considéré interceptera toute adresse IP qui n'est pas explicitement
4185 associée à un autre serveur virtuel. En l'absence de serveur virtuel
4186 associé à <code>_default_</code>, et si l'adresse IP demandée ne
4187 correspond à aucun serveur virtuel, c'est la configuration du
4188 serveur "principal" qui sera utilisée, c'est à dire l'ensemble des
4189 définitions situées en dehors de toute section VirtualHost.</p>
4191 <p>Vous pouvez spécifier <code>:port</code> pour modifier le port du
4192 serveur virtuel. S'il n'est pas spécifié, sa valeur par défaut
4193 correspond à celle qui est définie par la dernière directive
4194 <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code> du serveur
4195 principal. Vous pouvez aussi spécifier <code>:*</code> pour accepter
4196 tous les ports associés à l'adresse du serveur virtuel (c'est une
4197 configuration recommandée lorsqu'on utilise
4198 <code>_default_</code>).</p>
4200 <p>Tout bloc <code class="directive"><VirtualHost></code> doit comporter une directive
4201 <code class="directive"><a href="#servername">ServerName</a></code>. Dans le cas
4202 contraire, le serveur virtuel héritera de la valeur de la directive
4203 <code class="directive"><a href="#servername">ServerName</a></code> issue de la
4204 configuration du serveur principal.</p>
4206 <p>Si aucun serveur virtuel ne correspond, c'est le premier serveur
4207 virtuel correspondant à l'adresse IP qui sera utilisé. Par
4208 conséquent, le premier serveur virtuel défini est le serveur virtuel
4211 <div class="warning"><h3>Sécurité</h3>
4212 <p>Voir le document sur les <a href="../misc/security_tips.html">conseils à propos de sécurité</a>
4213 pour une description détaillée des raisons pour lesquelles la
4214 sécurité de votre serveur pourrait être compromise, si le répertoire
4215 contenant les fichiers journaux est inscriptible par tout autre
4216 utilisateur que celui qui démarre le serveur.</p>
4221 <li><a href="../vhosts/">Documentation des serveurs virtuels
4222 du serveur HTTP Apache</a></li>
4223 <li><a href="../dns-caveats.html">Problèmes concernant le DNS et
4224 le serveur HTTP Apache</a></li>
4225 <li><a href="../bind.html">Définition des adresses et ports
4226 qu'utilise le serveur HTTP Apache</a></li>
4227 <li><a href="../sections.html">Comment fonctionnent les sections
4228 <Directory>, <Location> et <Files></a> pour une
4229 explication de la manière dont ces différentes sections se combinent
4230 entre elles à la réception d'une requête</li>
4234 <div class="bottomlang">
4235 <p><span>Langues Disponibles: </span><a href="../de/mod/core.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
4236 <a href="../en/mod/core.html" hreflang="en" rel="alternate" title="English"> en </a> |
4237 <a href="../fr/mod/core.html" title="Français"> fr </a> |
4238 <a href="../ja/mod/core.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
4239 <a href="../tr/mod/core.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
4240 </div><div id="footer">
4241 <p class="apache">Copyright 2010 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
4242 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div>