1 <?xml version="1.0" encoding="ISO-8859-1" ?>
2 <!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
3 <?xml-stylesheet type="text/xsl" href="./style/manual.fr.xsl"?>
4 <!-- French translation : Lucien GENTIS -->
5 <!-- Reviewed by : Vincent Deffontaines -->
6 <!-- English Revision : 1174747 -->
9 Licensed to the Apache Software Foundation (ASF) under one or more
10 contributor license agreements. See the NOTICE file distributed with
11 this work for additional information regarding copyright ownership.
12 The ASF licenses this file to You under the Apache License, Version 2.0
13 (the "License"); you may not use this file except in compliance with
14 the License. You may obtain a copy of the License at
16 http://www.apache.org/licenses/LICENSE-2.0
18 Unless required by applicable law or agreed to in writing, software
19 distributed under the License is distributed on an "AS IS" BASIS,
20 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21 See the License for the specific language governing permissions and
22 limitations under the License.
25 <manualpage metafile="sections.xml.meta">
27 <title>Sections de configuration</title>
29 <summary> <p>Les directives des <a
30 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>
37 <section id="types"><title>Types de conteneurs de sections de
43 <module>mod_version</module>
44 <module>mod_proxy</module>
47 <directive type="section" module="core">Directory</directive>
48 <directive type="section" module="core">DirectoryMatch</directive>
49 <directive type="section" module="core">Files</directive>
50 <directive type="section" module="core">FilesMatch</directive>
51 <directive type="section" module="core">If</directive>
52 <directive type="section" module="core">IfDefine</directive>
53 <directive type="section" module="core">IfModule</directive>
54 <directive type="section" module="mod_version">IfVersion</directive>
55 <directive type="section" module="core">Location</directive>
56 <directive type="section" module="core">LocationMatch</directive>
57 <directive type="section" module="mod_proxy">Proxy</directive>
58 <directive type="section" module="mod_proxy">ProxyMatch</directive>
59 <directive type="section" module="core">VirtualHost</directive>
63 <p>Il existe deux grands types de conteneurs. La plupart des conteneurs sont
64 évalués pour chaque requête. Les directives qu'ils contiennent s'appliquent
65 seulement aux requêtes qui sont concernées par le conteneur. En revanche,
67 <directive type="section" module="core">IfDefine</directive>, <directive
68 type="section" module="core">IfModule</directive>, et
69 <directive type="section" module="mod_version">IfVersion</directive> sont
70 évalués seulement au démarrage et au redémarrage du serveur.
71 Si leurs conditions sont vérifiées au démarrage, les directives qu'ils contiennent
72 s'appliqueront à toutes les requêtes. Si leurs conditions ne sont pas vérifiées, les
73 directives qu'ils contiennent seront ignorées.</p>
75 <p>Le conteneur <directive type="section" module="core">IfDefine</directive>
76 contient des directives qui ne seront appliquées que si un paramètre
77 approprié a été défini dans la ligne de commande de <program>httpd</program>.
79 avec la configuration suivante, toutes les requêtes seront redirigées vers
80 un autre site si le serveur est démarré en utilisant la ligne de commande :
81 <code>httpd -DClosedForNow</code>:</p>
84 <IfDefine ClosedForNow><br />
85 Redirect / http://otherserver.example.com/<br />
89 <p>Le conteneur <directive type="section" module="core">IfModule</directive>
90 est similaire; les directives qu'il contient ne s'appliqueront que si
91 un module particulier est disponible au niveau du serveur.
92 Le module doit être soit compilé statiquement dans le serveur, soit
93 dynamiquement et dans ce cas, la ligne <directive
94 module="mod_so">LoadModule</directive> correspondante doit apparaître
95 plus haut dans le fichier de configuration. Ce conteneur ne doit être
96 utilisé que dans le cas où votre fichier de configuration doit fonctionner
97 indépendamment de la présence ou de l'absence de certains modules.
98 Il ne doit pas contenir de directives que vous souhaitez voir s'appliquer
99 systématiquement, car vous pouvez perdre ainsi de précieux messages d'erreur
100 à propos de modules manquants.</p>
102 <p>Dans l'exemple suivant, la directive <directive
103 module="mod_mime_magic">MimeMagicFiles</directive> ne s'appliquera que si le
104 module <module>mod_mime_magic</module> est disponible.</p>
107 <IfModule mod_mime_magic.c><br />
108 MimeMagicFile conf/magic<br />
113 <directive type="section" module="mod_version">IfVersion</directive>
114 est similaire aux conteneurs <directive type="section"
115 module="core">IfDefine</directive> et <directive type="section"
116 module="core">IfModule</directive>; les directives qu'il contient ne
117 s'appliqueront que si une version particulière du serveur s'exécute. Ce
118 conteneur a été conçu pour une utilisation dans les suites de tests
119 et les grands réseaux qui doivent prendre en compte différentes versions
120 et configurations de httpd.</p>
123 <IfVersion >= 2.1><br />
125 # les directives situées ici ne s'appliquent que si la version <br />
126 # est supérieure ou égale à 2.1.0.<br />
131 <p><directive type="section" module="core">IfDefine</directive>,
132 <directive type="section" module="core">IfModule</directive>, et
133 <directive type="section" module="mod_version">IfVersion</directive>
134 peuvent inverser leur test conditionnel en le faisant précéder d'un "!".
135 De plus, ces sections peuvent être imbriquées afin de définir des restrictions
139 <section id="file-and-web"><title>Système de fichiers,
140 arborescence du site web et expressions booléennes</title>
142 <p>Les conteneurs de sections de configuration les plus couramment utilisés
143 sont ceux qui modifient la configuration de points particuliers du système de
144 fichiers ou de l'arborescence du site web. Tout d'abord, il est important de
145 comprendre la différence entre les deux. Le système de fichiers est une vue
146 de vos disques tels qu'ils sont perçus par votre système d'exploitation.
147 Par exemple, avec une installation par défaut,
148 Apache httpd est situé dans <code>/usr/local/apache2</code> pour le système de
149 fichiers UNIX, ou <code>"c:/Program Files/Apache Group/Apache2"</code> pour
150 le système de fichiers Windows. (Notez que des slashes directs doivent
151 toujours être utilisés comme séparateur de chemin
152 dans les fichiers de configuration d'Apache httpd, même sous
153 Windows.) Quant à
154 l'arborescence du site web, il s'agit d'une vue de votre site
155 tel que présenté par le
156 serveur web et perçue par le client. Ainsi le chemin <code>/dir/</code> dans
157 l'arborescence du site web correspond au chemin
158 <code>/usr/local/apache2/htdocs/dir/</code> dans le système de fichiers pour
159 une installation d'Apache httpd par défaut sous UNIX.
160 En outre, l'arborescence du site web n'a pas besoin de correspondre en permanence au
161 système de fichiers, car les pages web peuvent être générées dynamiquement
162 à partir de bases de données ou d'autres emplacements.</p>
164 <section id="filesystem"><title>Conteneurs de système de fichiers</title>
166 <p>Les conteneurs <directive type="section" module="core">Directory</directive>
167 et <directive type="section" module="core">Files</directive>,
168 ainsi que leurs équivalents acceptant les
169 <glossary ref="regex">expressions rationnelles</glossary>,
170 appliquent des directives à certaines parties du système de fichiers.
171 Les directives contenues dans une section <directive
172 type="section" module="core">Directory</directive> s'appliquent au répertoire
173 précisé, ainsi qu'à tous ses sous-répertoires et aux fichiers que ces
174 derniers contiennent.
175 Le même effet peut être obtenu en utilisant les <a
176 href="howto/htaccess.html">fichiers .htaccess</a>. Par exemple, avec la
177 configuration suivante, l'indexation sera activée pour le répertoire
178 <code>/var/web/dir1</code> et tous ses sous-répertoires.</p>
181 <Directory /var/web/dir1><br />
182 Options +Indexes<br />
186 <p>Les directives contenues dans une section <directive type="section"
187 module="core">Files</directive> s'appliquent à tout fichier
188 avec le nom spécifié, quel que soit le répertoire dans lequel il se trouve.
189 Ainsi par exemple, les directives de configuration suivantes, si elles sont
190 placées dans la section principale du fichier de configuration, vont interdire
191 l'accès à tout fichier nommé <code>private.html</code> quel que soit
192 l'endroit où il se trouve.</p>
195 <Files private.html><br />
196 Order allow,deny<br />
201 <p>Pour faire référence à des fichiers qui se trouvent en des points
202 particuliers du système de fichiers, les sections
203 <directive type="section" module="core">Files</directive> et
204 <directive type="section" module="core">Directory</directive>
205 peuvent être combinées. Par exemple, la configuration suivante va interdire
206 l'accès à <code>/var/web/dir1/private.html</code>,
207 <code>/var/web/dir1/subdir2/private.html</code>,
208 <code>/var/web/dir1/subdir3/private.html</code>, ainsi que toute instance de
209 <code>private.html</code> qui se trouve dans l'arborescence
210 <code>/var/web/dir1/</code>.</p>
213 <Directory /var/web/dir1><br />
214 <Files private.html><br />
215 Order allow,deny<br />
222 <section id="webspace"><title>Conteneurs de l'arborescence du site web</title>
224 <p>le conteneur <directive type="section" module="core">Location</directive>
225 et son équivalent acceptant les
226 <glossary ref="regex">expressions rationnelles</glossary>, modifient quant à eux la
227 configuration de parties de l'arborescence du site web. Par exemple, la
228 configuration suivante interdit l'accès à toute URL dont la partie chemin
229 commence par /private.
230 En particulier, l'interdiction s'appliquera aux requêtes pour :
231 <code>http://yoursite.example.com/private</code>,
232 <code>http://yoursite.example.com/private123</code>, et
233 <code>http://yoursite.example.com/private/dir/file.html</code> ainsi qu'à
234 toute requête commençant par la chaîne de caractères <code>/private</code>.</p>
237 <LocationMatch ^/private><br />
238 Order Allow,Deny<br />
243 <p>Le conteneur <directive type="section" module="core">Location</directive>
244 n'a pas besoin de faire référence à un élément du système de fichiers.
245 Par exemple, l'exemple suivant montre comment faire référence à une URL
246 particulière vers un gestionnaire interne du serveur HTTP Apache fourni par le module
247 <module>mod_status</module>.
248 Il n'est pas nécessaire de trouver un fichier nommé <code>server-status</code>
249 dans le système de fichiers.</p>
252 <Location /server-status><br />
253 SetHandler server-status<br />
258 <section id="overlapping-webspace"><title>Espace web imbriqué</title>
259 <p>Pour contrôler deux URLs imbriquées, on doit tenir compte de l'ordre
260 dans lequel certaines sections ou directives sont évaluées. Pour
261 <directive type="section" module="core">Location</directive>, on doit
264 <Location /foo><br />
265 </Location><br />
266 <Location /foo/bar><br />
269 <p>Les directives <directive type="section"
270 module="core">Alias</directive>, quant à elles, sont évaluées vice-versa :</p>
272 Alias /foo/bar /srv/www/uncommon/bar<br />
273 Alias /foo /srv/www/common/foo<br />
275 <p>Ceci est aussi vrai pour les directives <directive
276 module="mod_proxy">ProxyPass</directive> :</p>
278 ProxyPass /special-area http://special.example.com smax=5 max=10<br />
279 ProxyPass / balancer://mycluster/ stickysession=JSESSIONID|jsessionid nofailover=On
284 <section id="wildcards"><title>Caractères de remplacement
285 et expressions rationnelles</title>
288 <directive type="section" module="core">Directory</directive>,
289 <directive type="section" module="core">Files</directive>, et
290 <directive type="section" module="core">Location</directive>
291 peuvent utiliser des caractères de remplacement de style shell comme dans
292 la fonction <code>fnmatch</code> de la bibliothèque C standard.
293 Le caractère "*"
294 correspond à toute séquence de caractères, "?" à un caractère seul,
295 et "[<em>seq</em>]" à tout caractère contenu dans <em>seq</em>.
296 Le caractère "/"
297 ne peut pas faire l'objet d'un remplacement;
298 il doit être spécifié explicitement.</p>
300 <p>Si une définition des critères de correspondance
301 encore plus souple est nécessaire, chaque conteneur
302 possède son équivalent acceptant les expressions rationnelles : <directive
303 type="section" module="core">DirectoryMatch</directive>, <directive
304 type="section" module="core">FilesMatch</directive>, et <directive
305 type="section" module="core">LocationMatch</directive> acceptent les
306 <glossary ref="regex">expressions rationnelles</glossary> compatibles Perl
307 pour définir les critères de correspondance. Mais voyez plus loin la section
308 à propos de la combinaison des sections de configuration
309 pour comprendre comment l'utilisation de
310 conteneurs avec des expressions rationnelles va modifier la manière
311 dont les directives sont appliquées.</p>
313 <p>Un conteneur qui modifie la configuration de tous les
314 répertoires utilisateurs à l'aide de caractères de remplacement
316 les expressions rationnelles pourrait ressembler à ceci :</p>
319 <Directory /home/*/public_html><br />
320 Options Indexes<br />
324 <p>Avec les conteneurs utilisant les expressions rationnelles,
325 on peut interdire l'accès à de nombreux types de fichiers d'images
326 simultanément :</p>
328 <FilesMatch \.(?i:gif|jpe?g|png)$><br />
329 Order allow,deny<br />
336 <section id="expressions"><title>Expressions booléennes</title>
337 <p>La directive <directive type="section" module="core">If</directive>
338 permet de modifier la configuration en fonction d'une condition qui peut
339 être définie sous la forme d'une expression booléenne. Dans l'exemple
340 suivant, l'accès est interdit si l'en-tête HTTP Referer ne commence pas
341 par "http://www.example.com/".</p>
343 <If "!(%{HTTP_REFERER} -strmatch 'http://www.example.com/*')"><br />
344 Require all denied<br />
350 <section id="whichwhen"><title>Que faut-il utiliser et quand ?</title>
352 <p>Choisir entre des conteneurs de système de fichiers et des conteneurs
353 d'arborescence du site web est vraiment très simple.
354 Pour appliquer des directives à des objets qui résident dans le système de
355 fichiers, utilisez toujours un conteneur <directive type="section"
356 module="core">Directory</directive> ou <directive type="section"
357 module="core">Files</directive>. Pour appliquer des directives à des objets
358 qui ne résident pas dans le système de fichiers (comme une page web générée
359 par une base de données), utilisez un conteneur <directive type="section"
360 module="core">Location</directive>.</p>
362 <p>Il ne faut jamais utiliser un conteneur <directive type="section"
363 module="core">Location</directive> pour restreindre l'accès à des
364 objets du système de fichiers, car plusieurs localisations de
365 l'arborescence du site web (URLs) peuvent correspondre à la même localisation
366 du système de fichier, ce qui peut permettre de contourner vos restrictions.
367 Par exemple, imaginez la configuration suivante :</p>
370 <Location /dir/><br />
371 Order allow,deny<br />
376 <p>Elle fonctionne correctement si la requête appelle
377 <code>http://yoursite.example.com/dir/</code>. Mais que va-t-il se passer si
378 votre système de fichiers est insensible à la casse ?
379 Votre restriction va pouvoir être tout simplement contournée en envoyant une
381 <code>http://yoursite.example.com/DIR/</code>. Le conteneur <directive
382 type="section" module="core">Directory</directive>, quant à lui, s'appliquera
383 à tout contenu servi à partir de cette localisation,
384 sans tenir compte de la manière dont il est appelé.
385 (Les liens du système de fichiers constituent une exception.
386 Le même répertoire peut être placé dans plusieurs parties du système de
387 fichiers en utilisant des liens symboliques. Le conteneur
388 <directive type="section" module="core">Directory</directive> va suivre le
389 lien symbolique sans modifier le nom du chemin. Par conséquent, pour plus de
390 sécurité, les liens symboliques doivent être désactivés à l'aide de la
392 <directive module="core">Options</directive> appropriée.)</p>
394 <p>Si vous pensez que vous n'êtes pas concerné par ce problème
395 parceque vous utilisez un système de fichiers sensible à la casse,
396 gardez à l'esprit qu'il y a de nombreuses autres manières pour faire
397 correspondre plusieurs localisations de l'arborescence du site web à la même
398 localisation du système de fichiers. C'est pourquoi vous devez autant que
399 possible toujours utiliser les conteneurs de système de fichiers.
400 Il y a cependant une exception à cette règle. Placer des restrictions de
401 configuration dans un conteneur <code><Location
402 /></code> est tout à fait sans rique car ce conteneur va s'appliquer à
403 toutes les requêtes sans tenir compte de l'URL spécifique.</p>
406 <section id="nesting"><title>Imbrication des sections</title>
408 <p>Certains types de sections peuvent être imbriqués : d'une part, on
409 peut utiliser les sections <directive type="section"
410 module="core">File</directive> à l'intérieur des sections <directive
411 type="section" module="core">Directory</directive>, d'autre part, on
413 directives <directive type="section" module="core">If</directive> à
414 l'intérieur des sections <directive type="section"
415 module="core">Directory</directive>, <directive type="section"
416 module="core">Location</directive> et <directive type="section"
417 module="core">Files</directive>. Les valeurs des expressions
418 rationnelles correspondant aux sections nommées se comportent de manière
421 <p>Les sections imbriquées sont fusionnées après les sections
422 non-imbriquées de même type.</p>
428 <section id="virtualhost"><title>Hôtes virtuels</title>
430 <p>Le conteneur <directive type="section" module="core">VirtualHost</directive>
431 contient des directives qui s'appliquent à des hôtes spécifiques.
432 Ceci s'avère utile pour servir des hôtes multiples à partir de la même machine,
433 chacun d'entre eux possédant une configuration différente. Pour de plus amples
435 voir la <a href="vhosts/">Documentation sur les hôtes virtuels</a>.</p>
438 <section id="proxy"><title>Mandataire</title>
441 <directive type="section" module="mod_proxy">Proxy</directive>
442 et <directive type="section" module="mod_proxy">ProxyMatch</directive>
443 appliquent les directives de configuration qu'ils contiennent uniquement aux
444 sites qui correspondent à l'URL spécifiée et auxquels on a
445 accédé via le serveur mandataire du module <module>mod_proxy</module>.
446 Par exemple, la configuration suivante
447 va interdire l'utilisation du serveur proxy pour accéder au site
448 <code>www.example.com</code>.</p>
451 <Proxy http://www.example.com/*><br />
452 Order allow,deny<br />
458 <section id="whatwhere"><title>Quelles sont les directives autorisées ?</title>
460 <p>Pour déterminer quelles sont les directives autorisées pour tel type de
461 section de configuration, vérifiez le <a
462 href="mod/directive-dict.html#Context">Contexte</a> de la directive.
463 Tout ce qui est autorisé dans les sections
464 <directive type="section" module="core">Directory</directive>
465 l'est aussi d'un point de vue syntaxique dans les sections
466 <directive type="section" module="core">DirectoryMatch</directive>,
467 <directive type="section" module="core">Files</directive>,
468 <directive type="section" module="core">FilesMatch</directive>,
469 <directive type="section" module="core">Location</directive>,
470 <directive type="section" module="core">LocationMatch</directive>,
471 <directive type="section" module="mod_proxy">Proxy</directive>,
472 et <directive type="section" module="mod_proxy">ProxyMatch</directive>.
473 Il y a cependant quelques exceptions :</p>
476 <li>La directive <directive module="core">AllowOverride</directive>
477 ne fonctionne que dans les sections
478 <directive type="section" module="core">Directory</directive>.</li>
481 module="core">Options</directive> <code>FollowSymLinks</code> et
482 <code>SymLinksIfOwnerMatch</code> ne fonctionnent que dans les sections
483 <directive type="section" module="core">Directory</directive> ou les fichiers
484 <code>.htaccess</code>.</li>
486 <li>La directive <directive module="core">Options</directive> ne peut pas être
487 utilisée dans les sections
488 <directive type="section" module="core">Files</directive>
489 et <directive type="section" module="core">FilesMatch</directive>.</li>
493 <section id="mergin"><title>Comment les sections sont combinées entre elles</title>
495 <p>Les sections de configuration sont appliquées dans un ordre très particulier.
496 Il est important de savoir comment cet ordre est défini car il peut avoir
497 des effets importants sur la manière dont les directives de configuration
498 sont interprétées.</p>
500 <p>L'ordre dans lequel les sections sont combinées est :</p>
503 <li> Les sections <directive type="section"
504 module="core">Directory</directive> (à l'exception des
505 expressions rationnelles)
506 et les fichiers <code>.htaccess</code> sont appliqués simultanément (avec
507 la possibilité pour <code>.htaccess</code>, s'il y est autorisé, de
509 <directive type="section" module="core">Directory</directive>)</li>
512 <directive type="section" module="core">DirectoryMatch</directive>
513 (et <code><Directory ~></code>)</li>
515 <li>Les sections <directive type="section"
516 module="core">Files</directive> et <directive
517 type="section" module="core">FilesMatch</directive> sont appliquées
518 simultanément</li>
521 <directive type="section" module="core">Location</directive>
522 et <directive type="section"
523 module="core">LocationMatch</directive> sont appliquées
524 simultanément</li>
526 <li>Les directives <directive type="section" module="core">If</directive>
530 <p>Mises à part les sections <directive type="section"
531 module="core">Directory</directive>, chaque groupe est traité selon
532 l'ordre dans lequel il apparaît dans les fichiers de configuration.
533 Les sections <directive
534 type="section" module="core">Directory</directive> (groupe 1 ci-dessus)
535 sont traitées dans l'ordre du répertoire le plus court vers le plus long.
536 Par exemple, <code><Directory /var/web/dir></code> sera
537 traité avant <code><Directory
538 /var/web/dir/subdir></code>. Si plusieurs sections <directive
539 type="section" module="core">Directory</directive> s'appliquent au même
540 répertoire, elles sont traitées selon l'ordre dans lequel elles
541 apparaissent dans le fichier de configuration.
542 Les sections de configuration incluses via la directive <directive
543 module="core">Include</directive> sont traitées comme si elles se
544 trouvaient réellement dans le fichier qui les inclut à la position de la
546 <directive module="core">Include</directive>.</p>
548 <p>Les sections situées à l'intérieur de sections <directive type="section"
549 module="core">VirtualHost</directive>
550 sont appliquées <em>après</em> les sections correspondantes situées en
551 dehors de la définition de l'hôte virtuel, ce qui permet à l'hôte virtuel
552 de prévaloir sur la configuration du serveur principal.</p>
554 <p>Quand la requête est servie par le module <module>mod_proxy</module>,
555 le conteneur <directive module="mod_proxy" type="section">Proxy</directive>
556 prend la place du conteneur <directive module="core"
557 type="section">Directory</directive> dans l'ordre de traitement.</p>
559 <p>Les sections situées plus loin dans le fichier de configuration prévalent
560 sur celles qui les précèdent.</p>
562 <note><title>Note technique</title>
564 <code><Location></code>/<code><LocationMatch></code>
565 est réellement traitée juste avant la phase de traduction du nom
566 (où <code>Aliases</code> et <code>DocumentRoots</code>
567 sont utilisés pour faire correspondre les URLs aux noms de fichiers).
568 Les effets de cette séquence disparaissent totalement lorsque
569 la traduction est terminée.
572 <section id="merge-examples"><title>Quelques exemples</title>
574 <p>Voici un exemple imaginaire qui montre l'ordre de combinaison des sections.
575 En supposant qu'elles s'appliquent toutes à la requête, les directives de
576 cet exemple seront appliquées dans l'ordre suivant : A > B > C > D >
580 <Location /><br />
582 </Location><br />
584 <Files f.html><br />
588 <VirtualHost *><br />
589 <Directory /a/b><br />
591 </Directory><br />
592 </VirtualHost><br />
594 <DirectoryMatch "^.*b$"><br />
596 </DirectoryMatch><br />
598 <Directory /a/b><br />
600 </Directory><br />
604 <p>Pour un exemple plus concret, considérez ce qui suit. Sans tenir compte
605 de toute restriction d'accès placée dans les sections <directive module="core"
606 type="section">Directory</directive>, la section <directive
607 module="core" type="section">Location</directive> sera
608 évaluée en dernier et permettra un accès au serveur sans aucune restriction.
609 En d'autres termes, l'ordre de la combinaison des sections est important,
610 soyez donc prudent !</p>
613 <Location /><br />
614 Order deny,allow<br />
616 </Location><br />
617 <br />:if expand("%") == ""|browse confirm w|else|confirm w|endif
619 # Arrghs! Cette section <Directory> n'aura aucun effet<br />
620 <Directory /><br />
621 Order allow,deny<br />
623 Deny from badguy.example.com<br />