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