<?xml-stylesheet type="text/xsl" href="./style/manual.fr.xsl"?>
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
-<!-- English Revision: 1060606 -->
+<!-- English Revision : 1636195 -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
un autre site si le serveur est démarré en utilisant la ligne de commande :
<code>httpd -DClosedForNow</code>:</p>
-<example>
-<IfDefine ClosedForNow><br />
-Redirect / http://otherserver.example.com/<br />
+<highlight language="config">
+<IfDefine ClosedForNow>
+ Redirect / http://otherserver.example.com/
</IfDefine>
-</example>
+</highlight>
<p>Le conteneur <directive type="section" module="core">IfModule</directive>
est similaire; les directives qu'il contient ne s'appliqueront que si
à propos de modules manquants.</p>
<p>Dans l'exemple suivant, la directive <directive
-module="mod_mime_magic">MimeMagicFiles</directive> ne s'appliquera que si le
+module="mod_mime_magic">MimeMagicFile</directive> ne s'appliquera que si le
module <module>mod_mime_magic</module> est disponible.</p>
-<example>
-<IfModule mod_mime_magic.c><br />
-MimeMagicFile conf/magic<br />
+<highlight language="config">
+<IfModule mod_mime_magic.c>
+ MimeMagicFile conf/magic
</IfModule>
-</example>
+</highlight>
<p>Le conteneur
<directive type="section" module="mod_version">IfVersion</directive>
et les grands réseaux qui doivent prendre en compte différentes versions
et configurations de httpd.</p>
-<example>
- <IfVersion >= 2.1><br />
- <indent>
+<highlight language="config">
+<IfVersion >= 2.4>
# les directives situées ici ne s'appliquent que si la version <br />
- # est supérieure ou égale à 2.1.0.<br />
- </indent>
- </IfVersion>
-</example>
+ # est supérieure ou égale à 2.4.0.
+</IfVersion>
+</highlight>
<p><directive type="section" module="core">IfDefine</directive>,
<directive type="section" module="core">IfModule</directive>, et
configuration suivante, l'indexation sera activée pour le répertoire
<code>/var/web/dir1</code> et tous ses sous-répertoires.</p>
-<example>
-<Directory /var/web/dir1><br />
-Options +Indexes<br />
+<highlight language="config">
+<Directory /var/web/dir1>
+ Options +Indexes
</Directory>
-</example>
+</highlight>
<p>Les directives contenues dans une section <directive type="section"
module="core">Files</directive> s'appliquent à tout fichier
l'accès à tout fichier nommé <code>private.html</code> quel que soit
l'endroit où il se trouve.</p>
-<example>
-<Files private.html><br />
-Order allow,deny<br />
-Deny from all<br />
+<highlight language="config">
+<Files private.html>
+ Require all denied
</Files>
-</example>
+</highlight>
<p>Pour faire référence à des fichiers qui se trouvent en des points
particuliers du système de fichiers, les sections
<code>private.html</code> qui se trouve dans l'arborescence
<code>/var/web/dir1/</code>.</p>
-<example>
-<Directory /var/web/dir1><br />
-<Files private.html><br />
-Order allow,deny<br />
-Deny from all<br />
-</Files><br />
+<highlight language="config">
+<Directory /var/web/dir1>
+ <Files private.html>
+ Require all denied
+ </Files>
</Directory>
-</example>
+</highlight>
</section>
<section id="webspace"><title>Conteneurs de l'arborescence du site web</title>
<code>http://yoursite.example.com/private/dir/file.html</code> ainsi qu'à
toute requête commençant par la chaîne de caractères <code>/private</code>.</p>
-<example>
-<LocationMatch ^/private><br />
-Order Allow,Deny<br />
-Deny from all<br />
-</Location>
-</example>
+<highlight language="config">
+<LocationMatch ^/private>
+ Require all denied
+</LocationMatch>
+</highlight>
<p>Le conteneur <directive type="section" module="core">Location</directive>
n'a pas besoin de faire référence à un élément du système de fichiers.
Il n'est pas nécessaire de trouver un fichier nommé <code>server-status</code>
dans le système de fichiers.</p>
-<example>
-<Location /server-status><br />
-SetHandler server-status<br />
+<highlight language="config">
+<Location /server-status>
+ SetHandler server-status
</Location>
-</example>
+</highlight>
</section>
<section id="overlapping-webspace"><title>Espace web imbriqué</title>
dans lequel certaines sections ou directives sont évaluées. Pour
<directive type="section" module="core">Location</directive>, on doit
avoir :</p>
-<example>
-<Location /foo><br />
-</Location><br />
-<Location /foo/bar><br />
+<highlight language="config">
+<Location /foo>
+</Location>
+<Location /foo/bar>
</Location>
-</example>
+</highlight>
<p>Les directives <directive type="section"
-module="core">Alias</directive>, quant à elles, sont évaluées vice-versa :</p>
-<example>
-Alias /foo/bar /srv/www/uncommon/bar<br />
-Alias /foo /srv/www/common/foo<br />
-</example>
+module="mod_alias">Alias</directive>, quant à elles, sont évaluées vice-versa :</p>
+<highlight language="config">
+Alias /foo/bar /srv/www/uncommon/bar
+Alias /foo /srv/www/common/foo
+</highlight>
<p>Ceci est aussi vrai pour les directives <directive
module="mod_proxy">ProxyPass</directive> :</p>
-<example>
-ProxyPass /special-area http://special.example.com smax=5 max=10<br />
+<highlight language="config">
+ProxyPass /special-area http://special.example.com smax=5 max=10
ProxyPass / balancer://mycluster/ stickysession=JSESSIONID|jsessionid nofailover=On
-</example>
-</section>
+</highlight>
+</section>
<section id="wildcards"><title>Caractères de remplacement
mais sans utiliser
les expressions rationnelles pourrait ressembler à ceci :</p>
-<example>
-<Directory /home/*/public_html><br />
-Options Indexes<br />
+<highlight language="config">
+<Directory /home/*/public_html>
+ Options Indexes
</Directory>
-</example>
+</highlight>
<p>Avec les conteneurs utilisant les expressions rationnelles,
on peut interdire l'accès à de nombreux types de fichiers d'images
simultanément :</p>
-<example>
-<FilesMatch \.(?i:gif|jpe?g|png)$><br />
-Order allow,deny<br />
-Deny from all<br />
+<highlight language="config">
++<FilesMatch \.(?i:gif|jpe?g|png)$>
+ Require all denied
</FilesMatch>
-</example>
+</highlight>
+
+<p>Les expressions rationnelles contenant des <strong>groupes nommés et
+des références arrières</strong> sont ajoutées à l'environnement avec
+leur nom en majuscules. Ceci permet de référencer des éléments de
+chemins de fichiers et d'URLs depuis une <a
+href="expr.html">expression</a> et au sein de modules comme
+<module>mod_rewrite</module>.</p>
+
+<highlight language="config">
+<DirectoryMatch ^/var/www/combined/(?<SITENAME>[^/]+)>
+ require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
+</DirectoryMatch>
+</highlight>
</section>
être définie sous la forme d'une expression booléenne. Dans l'exemple
suivant, l'accès est interdit si l'en-tête HTTP Referer ne commence pas
par "http://www.example.com/".</p>
-<example>
-<If "!(%{HTTP_REFERER} -strmatch 'http://www.example.com/*')"><br />
-Require all denied<br />
+<highlight language="config">
+<If "!(%{HTTP_REFERER} -strmatch 'http://www.example.com/*')">
+ Require all denied
</If>
-</example>
+</highlight>
</section>
du système de fichier, ce qui peut permettre de contourner vos restrictions.
Par exemple, imaginez la configuration suivante :</p>
-<example>
-<Location /dir/><br />
-Order allow,deny<br />
-Deny from all<br />
+<highlight language="config">
+<Location /dir/>
+ Require all denied
</Location>
-</example>
+</highlight>
<p>Elle fonctionne correctement si la requête appelle
<code>http://yoursite.example.com/dir/</code>. Mais que va-t-il se passer si
<p>Certains types de sections peuvent être imbriqués : d'une part, on
peut utiliser les sections <directive type="section"
-module="core">File</directive> à l'intérieur des sections <directive
+module="core">Files</directive> à l'intérieur des sections <directive
type="section" module="core">Directory</directive>, d'autre part, on
peut utiliser les
directives <directive type="section" module="core">If</directive> à
va interdire l'utilisation du serveur proxy pour accéder au site
<code>www.example.com</code>.</p>
-<example>
-<Proxy http://www.example.com/*><br />
-Order allow,deny<br />
-Deny from all<br />
+<highlight language="config">
+<Proxy http://www.example.com/*>
+ Require all granted
</Proxy>
-</example>
+</highlight>
</section>
<section id="whatwhere"><title>Quelles sont les directives autorisées ?</title>
</ul>
</section>
-<section id="mergin"><title>Comment les sections sont combinées entre elles</title>
+<section id="merging"><title>Comment les sections sont combinées entre elles</title>
<p>Les sections de configuration sont appliquées dans un ordre très particulier.
Il est important de savoir comment cet ordre est défini car il peut avoir
type="section">Directory</directive> dans l'ordre de traitement.</p>
<p>Les sections situées plus loin dans le fichier de configuration prévalent
- sur celles qui les précèdent.</p>
+ sur celles qui les précèdent ; cependant, chaque
+ module est responsable de la définition de la forme que doit prendre
+ cette prévalence. Une section de configuration ultérieure contenant
+ des directives d'un certain module peut être à l'origine d'une
+ fusion conceptuelle de certaines directives, de toutes les
+ directives, ou un remplacement complet de la configuration du module
+ par ses valeurs par défaut et les directives explicitement définies
+ dans cette section ultérieure.</p>
<note><title>Note technique</title>
Une séquence
cet exemple seront appliquées dans l'ordre suivant : A > B > C > D >
E.</p>
-<example>
-<Location /><br />
-E<br />
-</Location><br />
-<br />
-<Files f.html><br />
-D<br />
-</Files><br />
-<br />
-<VirtualHost *><br />
-<Directory /a/b><br />
-B<br />
-</Directory><br />
-</VirtualHost><br />
-<br />
-<DirectoryMatch "^.*b$"><br />
-C<br />
-</DirectoryMatch><br />
-<br />
-<Directory /a/b><br />
-A<br />
-</Directory><br />
-<br />
-</example>
+<highlight language="config">
+<Location />
+ E
+</Location>
+
+<Files f.html>
+ D
+</Files>
+
+<VirtualHost *>
+<Directory /a/b>
+ B
+</Directory>
+</VirtualHost>
+
+<DirectoryMatch "^.*b$">
+ C
+</DirectoryMatch>
+
+<Directory /a/b>
+ A
+</Directory>
+
+</highlight>
<p>Pour un exemple plus concret, considérez ce qui suit. Sans tenir compte
de toute restriction d'accès placée dans les sections <directive module="core"
En d'autres termes, l'ordre de la combinaison des sections est important,
soyez donc prudent !</p>
-<example>
-<Location /><br />
-Order deny,allow<br />
-Allow from all<br />
-</Location><br />
-<br />:if expand("%") == ""|browse confirm w|else|confirm w|endif
-
-# Arrghs! Cette section <Directory> n'aura aucun effet<br />
-<Directory /><br />
-Order allow,deny<br />
-Allow from all<br />
-Deny from badguy.example.com<br />
+<highlight language="config">
+<Location />
+ Require all granted
+</Location>
+
+# Arrghs! Cette section <Directory> n'aura aucun effet
+<Directory />
+ <RequireAll>
+ Require all granted
+ Require not host badguy.example.com
+ </RequireAll>
</Directory>
-</example>
+</highlight>
</section>