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