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