<?xml-stylesheet type="text/xsl" href="./style/manual.fr.xsl"?>
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
-<!-- English Revision: 1300910:1333091 (outdated) -->
+<!-- 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
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="mod_alias">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>
+<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>
+</highlight>
</section>
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
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
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>