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