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