]> granicus.if.org Git - apache/blob - docs/manual/sections.html.fr
update transformation
[apache] / docs / manual / sections.html.fr
1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
4         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5               This file is generated from xml source: DO NOT EDIT
6         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7       -->
8 <title>Sections de configuration - Serveur Apache HTTP</title>
9 <link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
10 <link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
11 <link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="./style/css/prettify.css" />
12 <script src="./style/scripts/prettify.js" type="text/javascript">
13 </script>
14
15 <link href="./images/favicon.ico" rel="shortcut icon" /></head>
16 <body id="manual-page"><div id="page-header">
17 <p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p>
18 <p class="apache">Serveur Apache HTTP Version 2.5</p>
19 <img alt="" src="./images/feather.gif" /></div>
20 <div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="./images/left.gif" /></a></div>
21 <div id="path">
22 <a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="./">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Sections de configuration</h1>
23 <div class="toplang">
24 <p><span>Langues Disponibles: </span><a href="./en/sections.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
25 <a href="./fr/sections.html" title="Français">&nbsp;fr&nbsp;</a> |
26 <a href="./ja/sections.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
27 <a href="./ko/sections.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
28 <a href="./tr/sections.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
29 </div>
30 <div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
31             anglaise pour les changements récents.</div>
32  <p>Les directives des <a href="configuring.html">fichiers de configuration</a> peuvent s'appliquer
33 au serveur dans son ensemble, ou seulement à des répertoires, fichiers, hôtes,
34 ou URLs particuliers.  Ce document décrit comment utiliser les conteneurs de
35 sections de configuration ou les fichiers <code>.htaccess</code> pour
36 modifier la portée des directives de configuration.</p>
37 </div>
38 <div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#types">Types de conteneurs de sections de
39 configuration</a></li>
40 <li><img alt="" src="./images/down.gif" /> <a href="#file-and-web">Système de fichiers,
41 arborescence du site web et expressions booléennes</a></li>
42 <li><img alt="" src="./images/down.gif" /> <a href="#virtualhost">Hôtes virtuels</a></li>
43 <li><img alt="" src="./images/down.gif" /> <a href="#proxy">Mandataire</a></li>
44 <li><img alt="" src="./images/down.gif" /> <a href="#whatwhere">Quelles sont les directives autorisées ?</a></li>
45 <li><img alt="" src="./images/down.gif" /> <a href="#merging">Comment les sections sont combinées entre elles</a></li>
46 </ul><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div>
47 <div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
48 <div class="section">
49 <h2><a name="types" id="types">Types de conteneurs de sections de
50 configuration</a></h2>
51
52 <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/core.html">core</a></code></li><li><code class="module"><a href="./mod/mod_version.html">mod_version</a></code></li><li><code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code></li><li><code class="directive"><a href="./mod/core.html#directorymatch">&lt;DirectoryMatch&gt;</a></code></li><li><code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code></li><li><code class="directive"><a href="./mod/core.html#filesmatch">&lt;FilesMatch&gt;</a></code></li><li><code class="directive"><a href="./mod/core.html#if">&lt;If&gt;</a></code></li><li><code class="directive"><a href="./mod/core.html#ifdefine">&lt;IfDefine&gt;</a></code></li><li><code class="directive"><a href="./mod/core.html#ifmodule">&lt;IfModule&gt;</a></code></li><li><code class="directive"><a href="./mod/mod_version.html#ifversion">&lt;IfVersion&gt;</a></code></li><li><code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code></li><li><code class="directive"><a href="./mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxy">&lt;Proxy&gt;</a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxymatch">&lt;ProxyMatch&gt;</a></code></li><li><code class="directive"><a href="./mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code></li></ul></td></tr></table>
53
54 <p>Il existe deux grands types de conteneurs.  La plupart des conteneurs sont
55 évalués pour chaque requête.  Les directives qu'ils contiennent s'appliquent
56 seulement aux requêtes qui sont concernées par le conteneur.  En revanche,
57 les conteneurs
58 <code class="directive"><a href="./mod/core.html#ifdefine">&lt;IfDefine&gt;</a></code>, <code class="directive"><a href="./mod/core.html#ifmodule">&lt;IfModule&gt;</a></code>, et
59 <code class="directive"><a href="./mod/mod_version.html#ifversion">&lt;IfVersion&gt;</a></code> sont
60 évalués seulement au démarrage et au redémarrage du serveur.
61 Si leurs conditions sont vérifiées au démarrage, les directives qu'ils contiennent
62 s'appliqueront à toutes les requêtes.  Si leurs conditions ne sont pas vérifiées, les
63 directives qu'ils contiennent seront ignorées.</p>
64
65 <p>Le conteneur <code class="directive"><a href="./mod/core.html#ifdefine">&lt;IfDefine&gt;</a></code>
66 contient des directives qui ne seront appliquées que si un paramètre
67 approprié a été défini dans la ligne de commande de <code class="program"><a href="./programs/httpd.html">httpd</a></code>.
68 Par exemple,
69 avec la configuration suivante, toutes les requêtes seront redirigées vers
70 un autre site si le serveur est démarré en utilisant la ligne de commande :
71 <code>httpd -DClosedForNow</code>:</p>
72
73 <pre class="prettyprint lang-config">
74 &lt;IfDefine ClosedForNow&gt;
75     Redirect / http://otherserver.example.com/
76 &lt;/IfDefine&gt;
77 </pre>
78
79
80 <p>Le conteneur <code class="directive"><a href="./mod/core.html#ifmodule">&lt;IfModule&gt;</a></code>
81 est similaire; les directives qu'il contient ne s'appliqueront que si
82 un module particulier est disponible au niveau du serveur.
83 Le module doit être soit compilé statiquement dans le serveur, soit
84 dynamiquement et dans ce cas, la ligne <code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code> correspondante doit apparaître
85 plus haut dans le fichier de configuration.  Ce conteneur ne doit être
86 utilisé que dans le cas où votre fichier de configuration doit fonctionner
87 indépendamment de la présence ou de l'absence de certains modules.
88 Il ne doit pas contenir de directives que vous souhaitez voir s'appliquer
89 systématiquement, car vous pouvez perdre ainsi de précieux messages d'erreur
90 à propos de modules manquants.</p>
91
92 <p>Dans l'exemple suivant, la directive <code class="directive"><a href="./mod/mod_mime_magic.html#mimemagicfile">MimeMagicFile</a></code> ne s'appliquera que si le
93 module <code class="module"><a href="./mod/mod_mime_magic.html">mod_mime_magic</a></code> est disponible.</p>
94
95 <pre class="prettyprint lang-config">
96 &lt;IfModule mod_mime_magic.c&gt;
97     MimeMagicFile conf/magic
98 &lt;/IfModule&gt;
99 </pre>
100
101
102 <p>Le conteneur
103 <code class="directive"><a href="./mod/mod_version.html#ifversion">&lt;IfVersion&gt;</a></code>
104 est similaire aux conteneurs <code class="directive"><a href="./mod/core.html#ifdefine">&lt;IfDefine&gt;</a></code> et <code class="directive"><a href="./mod/core.html#ifmodule">&lt;IfModule&gt;</a></code>; les directives qu'il contient ne
105 s'appliqueront que si une version particulière du serveur s'exécute.  Ce
106 conteneur a été conçu pour une utilisation dans les suites de tests
107 et les grands réseaux qui doivent prendre en compte différentes versions
108 et configurations de httpd.</p>
109
110 <pre class="prettyprint lang-config">
111 &lt;IfVersion &gt;= 2.4&gt;
112     # les directives situées ici ne s'appliquent que si la version <br />
113     # est supérieure ou égale à 2.4.0.
114 &lt;/IfVersion&gt;
115 </pre>
116
117
118 <p><code class="directive"><a href="./mod/core.html#ifdefine">&lt;IfDefine&gt;</a></code>,
119 <code class="directive"><a href="./mod/core.html#ifmodule">&lt;IfModule&gt;</a></code>, et
120 <code class="directive"><a href="./mod/mod_version.html#ifversion">&lt;IfVersion&gt;</a></code>
121 peuvent inverser leur test conditionnel en le faisant précéder d'un "!".
122 De plus, ces sections peuvent être imbriquées afin de définir des restrictions
123 plus complexes.</p>
124 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
125 <div class="section">
126 <h2><a name="file-and-web" id="file-and-web">Système de fichiers,
127 arborescence du site web et expressions booléennes</a></h2>
128
129 <p>Les conteneurs de sections de configuration les plus couramment utilisés
130 sont ceux qui modifient la configuration de points particuliers du système de
131 fichiers ou de l'arborescence du site web.  Tout d'abord, il est important de
132 comprendre la différence entre les deux.  Le système de fichiers est une vue
133 de vos disques tels qu'ils sont perçus par votre système d'exploitation.
134 Par exemple, avec une installation par défaut,
135 Apache httpd est situé dans <code>/usr/local/apache2</code> pour le système de
136 fichiers UNIX, ou <code>"c:/Program Files/Apache Group/Apache2"</code> pour
137 le système de fichiers Windows.  (Notez que des slashes directs doivent
138 toujours être utilisés comme séparateur de chemin
139 dans les fichiers de configuration d'Apache httpd, même sous
140 Windows.)  Quant à
141 l'arborescence du site web, il s'agit d'une vue de votre site
142 tel que présenté par le
143 serveur web et perçue par le client.  Ainsi le chemin <code>/dir/</code> dans
144 l'arborescence du site web correspond au chemin
145 <code>/usr/local/apache2/htdocs/dir/</code> dans le système de fichiers pour
146 une installation d'Apache httpd par défaut sous UNIX.
147 En outre, l'arborescence du site web n'a pas besoin de correspondre en permanence au
148 système de fichiers, car les pages web peuvent être générées dynamiquement
149 à partir de bases de données ou d'autres emplacements.</p>
150
151 <h3><a name="filesystem" id="filesystem">Conteneurs de système de fichiers</a></h3>
152
153 <p>Les conteneurs <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code>
154 et <code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code>,
155 ainsi que leurs équivalents acceptant les
156 <a class="glossarylink" href="./glossary.html#regex" title="voir glossaire">expressions rationnelles</a>,
157 appliquent des directives à certaines parties du système de fichiers.
158 Les directives contenues dans une section <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> s'appliquent au répertoire
159 précisé, ainsi qu'à tous ses sous-répertoires et aux fichiers que ces
160 derniers contiennent.
161 Le même effet peut être obtenu en utilisant les <a href="howto/htaccess.html">fichiers .htaccess</a>.  Par exemple, avec la
162 configuration suivante, l'indexation sera activée pour le répertoire
163 <code>/var/web/dir1</code> et tous ses sous-répertoires.</p>
164
165 <pre class="prettyprint lang-config">
166 &lt;Directory /var/web/dir1&gt;
167     Options +Indexes
168 &lt;/Directory&gt;
169 </pre>
170
171
172 <p>Les directives contenues dans une section <code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code> s'appliquent à tout fichier
173 avec le nom spécifié, quel que soit le répertoire dans lequel il se trouve.
174 Ainsi par exemple, les directives de configuration suivantes, si elles sont
175 placées dans la section principale du fichier de configuration, vont interdire
176 l'accès à tout fichier nommé <code>private.html</code> quel que soit
177 l'endroit où il se trouve.</p>
178
179 <pre class="prettyprint lang-config">
180 &lt;Files private.html&gt;
181     Require all denied
182 &lt;/Files&gt;
183 </pre>
184
185
186 <p>Pour faire référence à des fichiers qui se trouvent en des points
187 particuliers du système de fichiers, les sections
188 <code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code> et
189 <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code>
190 peuvent être combinées.  Par exemple, la configuration suivante va interdire
191 l'accès à <code>/var/web/dir1/private.html</code>,
192 <code>/var/web/dir1/subdir2/private.html</code>,
193 <code>/var/web/dir1/subdir3/private.html</code>, ainsi que toute instance de
194 <code>private.html</code> qui se trouve dans l'arborescence
195 <code>/var/web/dir1/</code>.</p>
196
197 <pre class="prettyprint lang-config">
198 &lt;Directory /var/web/dir1&gt;
199     &lt;Files private.html&gt;
200         Require all denied
201     &lt;/Files&gt;
202 &lt;/Directory&gt;
203 </pre>
204
205
206
207 <h3><a name="webspace" id="webspace">Conteneurs de l'arborescence du site web</a></h3>
208
209 <p>le conteneur <code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code>
210 et son équivalent acceptant les
211 <a class="glossarylink" href="./glossary.html#regex" title="voir glossaire">expressions rationnelles</a>, modifient quant à eux la
212 configuration de parties de l'arborescence du site web.  Par exemple, la
213 configuration suivante interdit l'accès à toute URL dont la partie chemin
214 commence par /private.
215 En particulier, l'interdiction s'appliquera aux requêtes pour :
216 <code>http://yoursite.example.com/private</code>,
217 <code>http://yoursite.example.com/private123</code>, et
218 <code>http://yoursite.example.com/private/dir/file.html</code> ainsi qu'à
219 toute requête commençant par la chaîne de caractères <code>/private</code>.</p>
220
221 <pre class="prettyprint lang-config">
222 &lt;LocationMatch ^/private&gt;
223     Require all denied
224 &lt;/LocationMatch&gt;
225 </pre>
226
227
228 <p>Le conteneur <code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code>
229 n'a pas besoin de faire référence à un élément du système de fichiers.
230 Par exemple, l'exemple suivant montre comment faire référence à une URL
231 particulière vers un gestionnaire interne du serveur HTTP Apache fourni par le module
232 <code class="module"><a href="./mod/mod_status.html">mod_status</a></code>.
233 Il n'est pas nécessaire de trouver un fichier nommé <code>server-status</code>
234 dans le système de fichiers.</p>
235
236 <pre class="prettyprint lang-config">
237 &lt;Location /server-status&gt;
238     SetHandler server-status
239 &lt;/Location&gt;
240 </pre>
241
242
243
244 <h3><a name="overlapping-webspace" id="overlapping-webspace">Espace web imbriqué</a></h3>
245 <p>Pour contrôler deux URLs imbriquées, on doit tenir compte de l'ordre
246 dans lequel certaines sections ou directives sont évaluées. Pour
247 <code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code>, on doit
248 avoir :</p>
249 <pre class="prettyprint lang-config">
250 &lt;Location /foo&gt;
251 &lt;/Location&gt;
252 &lt;Location /foo/bar&gt;
253 &lt;/Location&gt;
254 </pre>
255
256 <p>Les directives <code class="directive"><a href="./mod/mod_alias.html#alias">&lt;Alias&gt;</a></code>, quant à elles, sont évaluées vice-versa :</p>
257 <pre class="prettyprint lang-config">
258 Alias /foo/bar /srv/www/uncommon/bar
259 Alias /foo /srv/www/common/foo
260 </pre>
261
262 <p>Ceci est aussi vrai pour les directives <code class="directive"><a href="./mod/mod_proxy.html#proxypass">ProxyPass</a></code> :</p>
263 <pre class="prettyprint lang-config">
264 ProxyPass /special-area http://special.example.com smax=5 max=10
265 ProxyPass / balancer://mycluster/ stickysession=JSESSIONID|jsessionid nofailover=On
266 </pre>
267
268
269
270
271 <h3><a name="wildcards" id="wildcards">Caractères de remplacement
272 et expressions rationnelles</a></h3>
273
274 <p>Les conteneurs
275 <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code>,
276 <code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code>, et
277 <code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code>
278 peuvent utiliser des caractères de remplacement de style shell comme dans
279 la fonction <code>fnmatch</code> de la bibliothèque C standard.
280 Le caractère "*"
281 correspond à toute séquence de caractères, "?" à un caractère seul,
282 et "[<em>seq</em>]" à tout caractère contenu dans <em>seq</em>.
283 Le caractère "/"
284 ne peut pas faire l'objet d'un remplacement;
285 il doit être spécifié explicitement.</p>
286
287 <p>Si une définition des critères de correspondance
288 encore plus souple est nécessaire, chaque conteneur
289 possède son équivalent acceptant les expressions rationnelles : <code class="directive"><a href="./mod/core.html#directorymatch">&lt;DirectoryMatch&gt;</a></code>, <code class="directive"><a href="./mod/core.html#filesmatch">&lt;FilesMatch&gt;</a></code>, et <code class="directive"><a href="./mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code> acceptent les
290 <a class="glossarylink" href="./glossary.html#regex" title="voir glossaire">expressions rationnelles</a> compatibles Perl
291 pour définir les critères de correspondance.  Mais voyez plus loin la section
292 à propos de la combinaison des sections de configuration
293 pour comprendre comment l'utilisation de
294 conteneurs avec des expressions rationnelles va modifier la manière
295 dont les directives sont appliquées.</p>
296
297 <p>Un conteneur qui modifie la configuration de tous les
298 répertoires utilisateurs à l'aide de caractères de remplacement
299 mais sans utiliser
300 les expressions rationnelles pourrait ressembler à ceci :</p>
301
302 <pre class="prettyprint lang-config">
303 &lt;Directory /home/*/public_html&gt;
304     Options Indexes
305 &lt;/Directory&gt;
306 </pre>
307
308
309 <p>Avec les conteneurs utilisant les expressions rationnelles,
310 on peut interdire l'accès à de nombreux types de fichiers d'images
311 simultanément :</p>
312 <pre class="prettyprint lang-config">
313 +&lt;FilesMatch \.(?i:gif|jpe?g|png)$&gt;
314     Require all denied
315 &lt;/FilesMatch&gt;
316 </pre>
317
318
319
320
321 <h3><a name="expressions" id="expressions">Expressions booléennes</a></h3>
322 <p>La directive <code class="directive"><a href="./mod/core.html#if">&lt;If&gt;</a></code>
323 permet de modifier la configuration en fonction d'une condition qui peut
324 être définie sous la forme d'une expression booléenne. Dans l'exemple
325 suivant, l'accès est interdit si l'en-tête HTTP Referer ne commence pas
326 par "http://www.example.com/".</p>
327 <pre class="prettyprint lang-config">
328 &lt;If "!(%{HTTP_REFERER} -strmatch 'http://www.example.com/*')"&gt;
329     Require all denied
330 &lt;/If&gt;
331 </pre>
332
333
334
335
336 <h3><a name="whichwhen" id="whichwhen">Que faut-il utiliser et quand ?</a></h3>
337
338 <p>Choisir entre des conteneurs de système de fichiers et des conteneurs
339 d'arborescence du site web est vraiment très simple.
340 Pour appliquer des directives à des objets qui résident dans le système de
341 fichiers, utilisez toujours un conteneur <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> ou <code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code>.  Pour appliquer des directives à des objets
342 qui ne résident pas dans le système de fichiers (comme une page web générée
343 par une base de données), utilisez un conteneur <code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code>.</p>
344
345 <p>Il ne faut jamais utiliser un conteneur <code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code> pour restreindre l'accès à des
346 objets du système de fichiers, car plusieurs localisations de
347 l'arborescence du site web (URLs) peuvent correspondre à la même localisation
348 du système de fichier, ce qui peut permettre de contourner vos restrictions.
349 Par exemple, imaginez la configuration suivante :</p>
350
351 <pre class="prettyprint lang-config">
352 &lt;Location /dir/&gt;
353     Require all denied
354 &lt;/Location&gt;
355 </pre>
356
357
358 <p>Elle fonctionne correctement si la requête appelle
359 <code>http://yoursite.example.com/dir/</code>.  Mais que va-t-il se passer si
360 votre système de fichiers est insensible à la casse ?
361 Votre restriction va pouvoir être tout simplement contournée en envoyant une
362 requête sur
363 <code>http://yoursite.example.com/DIR/</code>.  Le conteneur <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code>, quant à lui, s'appliquera
364 à tout contenu servi à partir de cette localisation,
365 sans tenir compte de la manière dont il est appelé.
366 (Les liens du système de fichiers constituent une exception.
367 Le même répertoire peut être placé dans plusieurs parties du système de
368 fichiers en utilisant des liens symboliques.  Le conteneur
369 <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> va suivre le
370 lien symbolique sans modifier le nom du chemin.  Par conséquent, pour plus de
371 sécurité, les liens symboliques doivent être désactivés à l'aide de la
372 directive
373 <code class="directive"><a href="./mod/core.html#options">Options</a></code> appropriée.)</p>
374
375 <p>Si vous pensez que vous n'êtes pas concerné par ce problème
376 parceque vous utilisez un système de fichiers sensible à la casse,
377 gardez à l'esprit qu'il y a de nombreuses autres manières pour faire
378 correspondre plusieurs localisations de l'arborescence du site web à la même
379 localisation du système de fichiers.  C'est pourquoi vous devez autant que
380 possible toujours utiliser les conteneurs de système de fichiers.
381 Il y a cependant une exception à cette règle.  Placer des restrictions de
382 configuration dans un conteneur <code>&lt;Location
383 /&gt;</code> est tout à fait sans rique car ce conteneur va s'appliquer à
384 toutes les requêtes sans tenir compte de l'URL spécifique.</p>
385
386
387 <h3><a name="nesting" id="nesting">Imbrication des sections</a></h3>
388
389 <p>Certains types de sections peuvent être imbriqués : d'une part, on
390 peut utiliser les sections <code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code> à l'intérieur des sections <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code>, d'autre part, on
391 peut utiliser les
392 directives <code class="directive"><a href="./mod/core.html#if">&lt;If&gt;</a></code> à
393 l'intérieur des sections <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code>, <code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code> et <code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code>. Les valeurs des expressions
394 rationnelles correspondant aux sections nommées se comportent de manière
395 identique.</p>
396
397 <p>Les sections imbriquées sont fusionnées après les sections
398 non-imbriquées de même type.</p>
399
400
401
402 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
403 <div class="section">
404 <h2><a name="virtualhost" id="virtualhost">Hôtes virtuels</a></h2>
405
406 <p>Le conteneur <code class="directive"><a href="./mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
407 contient des directives qui s'appliquent à des hôtes spécifiques.
408 Ceci s'avère utile pour servir des hôtes multiples à partir de la même machine,
409 chacun d'entre eux possédant une configuration différente.  Pour de plus amples
410 informations,
411 voir la <a href="vhosts/">Documentation sur les hôtes virtuels</a>.</p>
412 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
413 <div class="section">
414 <h2><a name="proxy" id="proxy">Mandataire</a></h2>
415
416 <p>Les conteneurs
417 <code class="directive"><a href="./mod/mod_proxy.html#proxy">&lt;Proxy&gt;</a></code>
418 et <code class="directive"><a href="./mod/mod_proxy.html#proxymatch">&lt;ProxyMatch&gt;</a></code>
419 appliquent les directives de configuration qu'ils contiennent uniquement aux
420 sites qui correspondent à l'URL spécifiée et auxquels on a
421 accédé via le serveur mandataire du module <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code>.
422 Par exemple, la configuration suivante
423 va interdire l'utilisation du serveur proxy pour accéder au site
424 <code>www.example.com</code>.</p>
425
426 <pre class="prettyprint lang-config">
427 &lt;Proxy http://www.example.com/*&gt;
428     Require all granted
429 &lt;/Proxy&gt;
430 </pre>
431
432 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
433 <div class="section">
434 <h2><a name="whatwhere" id="whatwhere">Quelles sont les directives autorisées ?</a></h2>
435
436 <p>Pour déterminer quelles sont les directives autorisées pour tel type de
437 section de configuration, vérifiez le <a href="mod/directive-dict.html#Context">Contexte</a> de la directive.
438 Tout ce qui est autorisé dans les sections
439 <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code>
440 l'est aussi d'un point de vue syntaxique dans les sections
441 <code class="directive"><a href="./mod/core.html#directorymatch">&lt;DirectoryMatch&gt;</a></code>,
442 <code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code>,
443 <code class="directive"><a href="./mod/core.html#filesmatch">&lt;FilesMatch&gt;</a></code>,
444 <code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code>,
445 <code class="directive"><a href="./mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code>,
446 <code class="directive"><a href="./mod/mod_proxy.html#proxy">&lt;Proxy&gt;</a></code>,
447 et <code class="directive"><a href="./mod/mod_proxy.html#proxymatch">&lt;ProxyMatch&gt;</a></code>.
448 Il y a cependant quelques exceptions :</p>
449
450 <ul>
451 <li>La directive <code class="directive"><a href="./mod/core.html#allowoverride">AllowOverride</a></code>
452 ne fonctionne que dans les sections
453 <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code>.</li>
454
455 <li>Les <code class="directive"><a href="./mod/core.html#options">Options</a></code> <code>FollowSymLinks</code> et
456 <code>SymLinksIfOwnerMatch</code>  ne fonctionnent que dans les sections
457 <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> ou les fichiers
458 <code>.htaccess</code>.</li>
459
460 <li>La directive <code class="directive"><a href="./mod/core.html#options">Options</a></code> ne peut pas être
461 utilisée dans les sections
462 <code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code>
463 et <code class="directive"><a href="./mod/core.html#filesmatch">&lt;FilesMatch&gt;</a></code>.</li>
464 </ul>
465 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
466 <div class="section">
467 <h2><a name="merging" id="merging">Comment les sections sont combinées entre elles</a></h2>
468
469 <p>Les sections de configuration sont appliquées dans un ordre très particulier.
470 Il est important de savoir comment cet ordre est défini car il peut avoir
471 des effets importants sur la manière dont les directives de configuration
472 sont interprétées.</p>
473
474     <p>L'ordre dans lequel les sections sont combinées est :</p>
475
476     <ol>
477       <li> Les sections <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> (à l'exception des
478       expressions rationnelles)
479       et les fichiers <code>.htaccess</code> sont appliqués simultanément (avec
480       la possibilité pour <code>.htaccess</code>, s'il y est autorisé, de
481       prévaloir sur
482       <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code>)</li>
483
484       <li>Les sections
485       <code class="directive"><a href="./mod/core.html#directorymatch">&lt;DirectoryMatch&gt;</a></code>
486       (et <code>&lt;Directory ~&gt;</code>)</li>
487
488       <li>Les sections <code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code> et <code class="directive"><a href="./mod/core.html#filesmatch">&lt;FilesMatch&gt;</a></code> sont appliquées
489       simultanément</li>
490
491       <li>Les sections
492       <code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code>
493       et <code class="directive"><a href="./mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code> sont appliquées
494       simultanément</li>
495
496       <li>Les directives <code class="directive"><a href="./mod/core.html#if">&lt;If&gt;</a></code>
497       </li>
498     </ol>
499
500     <p>Mises à part les sections <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code>, chaque groupe est traité selon
501     l'ordre dans lequel il apparaît dans les fichiers de configuration.
502     Les sections <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> (groupe 1 ci-dessus)
503     sont traitées dans l'ordre du répertoire le plus court vers le plus long.
504     Par exemple, <code>&lt;Directory /var/web/dir&gt;</code> sera
505     traité avant <code>&lt;Directory
506     /var/web/dir/subdir&gt;</code>.  Si plusieurs sections <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> s'appliquent au même
507     répertoire, elles sont traitées selon l'ordre dans lequel elles
508     apparaissent dans le fichier de configuration.
509     Les sections de configuration incluses via la directive <code class="directive"><a href="./mod/core.html#include">Include</a></code> sont traitées comme si elles se
510     trouvaient réellement dans le fichier qui les inclut à la position de la
511     directive
512     <code class="directive"><a href="./mod/core.html#include">Include</a></code>.</p>
513
514     <p>Les sections situées à l'intérieur de sections <code class="directive"><a href="./mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
515     sont appliquées <em>après</em> les sections correspondantes situées en
516     dehors de la définition de l'hôte virtuel, ce qui permet à l'hôte virtuel
517     de prévaloir sur la configuration du serveur principal.</p>
518
519     <p>Quand la requête est servie par le module <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code>,
520     le conteneur <code class="directive"><a href="./mod/mod_proxy.html#proxy">&lt;Proxy&gt;</a></code>
521     prend la place du conteneur <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> dans l'ordre de traitement.</p>
522
523     <p>Les sections situées plus loin dans le fichier de configuration prévalent
524     sur celles qui les précèdent ; cependant, chaque
525     module est responsable de la définition de la forme que doit prendre
526     cette prévalence. Une section de configuration ultérieure contenant
527     des directives d'un certain module peut être à l'origine d'une
528     fusion conceptuelle de certaines directives, de toutes les
529     directives, ou un remplacement complet de la configuration du module
530     par ses valeurs par défaut et les directives explicitement définies
531     dans cette section ultérieure.</p>
532
533 <div class="note"><h3>Note technique</h3>
534         Une séquence
535         <code>&lt;Location&gt;</code>/<code>&lt;LocationMatch&gt;</code>
536         est réellement traitée juste avant la phase de traduction du nom
537         (où <code>Aliases</code> et <code>DocumentRoots</code>
538       sont utilisés pour faire correspondre les URLs aux noms de fichiers).
539       Les effets de cette séquence disparaissent totalement lorsque
540       la traduction est terminée.
541 </div>
542
543 <h3><a name="merge-examples" id="merge-examples">Quelques exemples</a></h3>
544
545 <p>Voici un exemple imaginaire qui montre l'ordre de combinaison des sections.
546 En supposant qu'elles s'appliquent toutes à la requête, les directives de
547 cet exemple seront appliquées dans l'ordre suivant : A &gt; B &gt; C &gt; D &gt;
548 E.</p>
549
550 <pre class="prettyprint lang-config">
551 &lt;Location /&gt;
552     E
553 &lt;/Location&gt;
554
555 &lt;Files f.html&gt;
556     D
557 &lt;/Files&gt;
558
559 &lt;VirtualHost *&gt;
560 &lt;Directory /a/b&gt;
561     B
562 &lt;/Directory&gt;
563 &lt;/VirtualHost&gt;
564
565 &lt;DirectoryMatch "^.*b$"&gt;
566     C
567 &lt;/DirectoryMatch&gt;
568
569 &lt;Directory /a/b&gt;
570     A
571 &lt;/Directory&gt;
572
573 </pre>
574
575
576 <p>Pour un exemple plus concret, considérez ce qui suit.  Sans tenir compte
577 de toute restriction d'accès placée dans les sections <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code>, la section <code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code> sera
578 évaluée en dernier et permettra un accès au serveur sans aucune restriction.
579 En d'autres termes, l'ordre de la combinaison des sections est important,
580 soyez donc prudent !</p>
581
582 <pre class="prettyprint lang-config">
583 &lt;Location /&gt;
584     Require all granted
585 &lt;/Location&gt;
586
587 # Arrghs!  Cette section &lt;Directory&gt; n'aura aucun effet
588 &lt;Directory /&gt;
589     &lt;RequireAll&gt;
590         Require all granted
591         Require not host badguy.example.com
592     &lt;/RequireAll&gt;
593 &lt;/Directory&gt;
594 </pre>
595
596
597
598
599 </div></div>
600 <div class="bottomlang">
601 <p><span>Langues Disponibles: </span><a href="./en/sections.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
602 <a href="./fr/sections.html" title="Français">&nbsp;fr&nbsp;</a> |
603 <a href="./ja/sections.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
604 <a href="./ko/sections.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
605 <a href="./tr/sections.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
606 </div><div class="top"><a href="#page-header"><img src="./images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
607 <script type="text/javascript"><!--//--><![CDATA[//><!--
608 var comments_shortname = 'httpd';
609 var comments_identifier = 'http://httpd.apache.org/docs/trunk/sections.html';
610 (function(w, d) {
611     if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
612         d.write('<div id="comments_thread"><\/div>');
613         var s = d.createElement('script');
614         s.type = 'text/javascript';
615         s.async = true;
616         s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
617         (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
618     }
619     else {
620         d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
621     }
622 })(window, document);
623 //--><!]]></script></div><div id="footer">
624 <p class="apache">Copyright 2013 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
625 <p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
626 if (typeof(prettyPrint) !== 'undefined') {
627     prettyPrint();
628 }
629 //--><!]]></script>
630 </body></html>