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