<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
+<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head>
+<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
+<!--
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
-<title>Sections de configuration - Serveur Apache HTTP</title>
+<title>Sections de configuration - Serveur Apache HTTP Version 2.5</title>
<link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
-<link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
+<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" />
+<script src="./style/scripts/prettify.min.js" type="text/javascript">
+</script>
+
<link href="./images/favicon.ico" rel="shortcut icon" /></head>
<body id="manual-page"><div id="page-header">
-<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>
-<p class="apache">Serveur Apache HTTP Version 2.3</p>
-<img alt="" src="./images/feather.gif" /></div>
+<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>
+<p class="apache">Serveur Apache HTTP Version 2.5</p>
+<img alt="" src="./images/feather.png" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div>
<div id="path">
-<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.3</a></div><div id="page-content"><div id="preamble"><h1>Sections de configuration</h1>
+<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Sections de configuration</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="./en/sections.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="./fr/sections.html" title="Français"> fr </a> |
<a href="./ko/sections.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="./tr/sections.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<p>Les directives des <a href="configuring.html">fichiers de configuration</a> peuvent s'appliquer
au serveur dans son ensemble, ou seulement à des répertoires, fichiers, hôtes,
ou URLs particuliers. Ce document décrit comment utiliser les conteneurs de
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#types">Types de conteneurs de sections de
configuration</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#file-and-web">Système de fichiers et
-arborescence du site web</a></li>
+<li><img alt="" src="./images/down.gif" /> <a href="#file-and-web">Système de fichiers,
+arborescence du site web et expressions booléennes</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#virtualhost">Hôtes virtuels</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#proxy">Mandataire</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#whatwhere">Quelles sont les directives autorisées ?</a></li>
-<li><img alt="" src="./images/down.gif" /> <a href="#mergin">Comment les sections sont combinées entre elles</a></li>
-</ul></div>
+<li><img alt="" src="./images/down.gif" /> <a href="#merging">Comment les sections sont combinées entre elles</a></li>
+</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="types" id="types">Types de conteneurs de sections de
un autre site si le serveur est démarré en utilisant la ligne de commande :
<code>httpd -DClosedForNow</code>:</p>
-<div class="example"><p><code>
-<IfDefine ClosedForNow><br />
-Redirect / http://otherserver.example.com/<br />
-</IfDefine>
-</code></p></div>
+<pre class="prettyprint lang-config"><IfDefine ClosedForNow>
+ Redirect "/" "http://otherserver.example.com/"
+</IfDefine></pre>
+
<p>Le conteneur <code class="directive"><a href="./mod/core.html#ifmodule"><IfModule></a></code>
est similaire; les directives qu'il contient ne s'appliqueront que si
systématiquement, car vous pouvez perdre ainsi de précieux messages d'erreur
à propos de modules manquants.</p>
-<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
+<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
module <code class="module"><a href="./mod/mod_mime_magic.html">mod_mime_magic</a></code> est disponible.</p>
-<div class="example"><p><code>
-<IfModule mod_mime_magic.c><br />
-MimeMagicFile conf/magic<br />
-</IfModule>
-</code></p></div>
+<pre class="prettyprint lang-config"><IfModule mod_mime_magic.c>
+ MimeMagicFile conf/magic
+</IfModule></pre>
+
<p>Le conteneur
<code class="directive"><a href="./mod/mod_version.html#ifversion"><IfVersion></a></code>
et les grands réseaux qui doivent prendre en compte différentes versions
et configurations de httpd.</p>
-<div class="example"><p><code>
- <IfVersion >= 2.1><br />
- <span class="indent">
+<pre class="prettyprint lang-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 />
- </span>
- </IfVersion>
-</code></p></div>
+ # est supérieure ou égale à 2.4.0.
+</IfVersion></pre>
+
<p><code class="directive"><a href="./mod/core.html#ifdefine"><IfDefine></a></code>,
<code class="directive"><a href="./mod/core.html#ifmodule"><IfModule></a></code>, et
plus complexes.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="file-and-web" id="file-and-web">Système de fichiers et
-arborescence du site web</a></h2>
+<h2><a name="file-and-web" id="file-and-web">Système de fichiers,
+arborescence du site web et expressions booléennes</a></h2>
<p>Les conteneurs de sections de configuration les plus couramment utilisés
sont ceux qui modifient la configuration de points particuliers du système de
configuration suivante, l'indexation sera activée pour le répertoire
<code>/var/web/dir1</code> et tous ses sous-répertoires.</p>
-<div class="example"><p><code>
-<Directory /var/web/dir1><br />
-Options +Indexes<br />
-</Directory>
-</code></p></div>
+<pre class="prettyprint lang-config"><Directory "/var/web/dir1">
+ Options +Indexes
+</Directory></pre>
+
<p>Les directives contenues dans une section <code class="directive"><a href="./mod/core.html#files"><Files></a></code> s'appliquent à tout fichier
avec le nom spécifié, quel que soit le répertoire dans lequel il se trouve.
l'accès à tout fichier nommé <code>private.html</code> quel que soit
l'endroit où il se trouve.</p>
-<div class="example"><p><code>
-<Files private.html><br />
-Order allow,deny<br />
-Deny from all<br />
-</Files>
-</code></p></div>
+<pre class="prettyprint lang-config"><Files "private.html">
+ Require all denied
+</Files></pre>
+
<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>
-<div class="example"><p><code>
-<Directory /var/web/dir1><br />
-<Files private.html><br />
-Order allow,deny<br />
-Deny from all<br />
-</Files><br />
-</Directory>
-</code></p></div>
+<pre class="prettyprint lang-config"><Directory "/var/web/dir1">
+ <Files "private.html">
+ Require all denied
+ </Files>
+</Directory></pre>
+
<h3><a name="webspace" id="webspace">Conteneurs de l'arborescence du site web</a></h3>
<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>
-<div class="example"><p><code>
-<LocationMatch ^/private><br />
-Order Allow,Deny<br />
-Deny from all<br />
-</Location>
-</code></p></div>
+<pre class="prettyprint lang-config"><LocationMatch "^/private">
+ Require all denied
+</LocationMatch></pre>
+
<p>Le conteneur <code class="directive"><a href="./mod/core.html#location"><Location></a></code>
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>
-<div class="example"><p><code>
-<Location /server-status><br />
-SetHandler server-status<br />
-</Location>
-</code></p></div>
+<pre class="prettyprint lang-config"><Location "/server-status">
+ SetHandler server-status
+</Location></pre>
+
<h3><a name="overlapping-webspace" id="overlapping-webspace">Espace web imbriqué</a></h3>
dans lequel certaines sections ou directives sont évaluées. Pour
<code class="directive"><a href="./mod/core.html#location"><Location></a></code>, on doit
avoir :</p>
-<div class="example"><p><code>
-<Location /foo><br />
-</Location><br />
-<Location /foo/bar><br />
+<pre class="prettyprint lang-config"><Location "/foo">
</Location>
-</code></p></div>
-<p>Les directives <code class="directive"><a href="./mod/core.html#alias"><Alias></a></code>, quant à elles, sont évaluées vice-versa :</p>
-<div class="example"><p><code>
-Alias /foo/bar /srv/www/uncommon/bar<br />
-Alias /foo /srv/www/common/foo<br />
-</code></p></div>
+<Location "/foo/bar">
+</Location></pre>
+
+<p>Les directives <code class="directive"><a href="./mod/mod_alias.html#alias"><Alias></a></code>, quant à elles, sont évaluées vice-versa :</p>
+<pre class="prettyprint lang-config">Alias "/foo/bar" "/srv/www/uncommon/bar"
+Alias "/foo" "/srv/www/common/foo"</pre>
+
<p>Ceci est aussi vrai pour les directives <code class="directive"><a href="./mod/mod_proxy.html#proxypass">ProxyPass</a></code> :</p>
-<div class="example"><p><code>
-ProxyPass /special-area http://special.example.com smax=5 max=10<br />
-ProxyPass / balancer://mycluster/ stickysession=JSESSIONID|jsessionid nofailover=On
-</code></p></div>
-
+<pre class="prettyprint lang-config">ProxyPass "/special-area" "http://special.example.com" smax=5 max=10
+ProxyPass "/" "balancer://mycluster/" stickysession=JSESSIONID|jsessionid nofailover=On</pre>
+
+
<h3><a name="wildcards" id="wildcards">Caractères de remplacement
mais sans utiliser
les expressions rationnelles pourrait ressembler à ceci :</p>
-<div class="example"><p><code>
-<Directory /home/*/public_html><br />
-Options Indexes<br />
-</Directory>
-</code></p></div>
+<pre class="prettyprint lang-config"><Directory "/home/*/public_html">
+ Options Indexes
+</Directory></pre>
+
<p>Avec les conteneurs utilisant les expressions rationnelles,
on peut interdire l'accès à de nombreux types de fichiers d'images
simultanément :</p>
-<div class="example"><p><code>
-<FilesMatch \.(?i:gif|jpe?g|png)$><br />
-Order allow,deny<br />
-Deny from all<br />
-</FilesMatch>
-</code></p></div>
+<pre class="prettyprint lang-config">+<FilesMatch "\.(?i:gif|jpe?g|png)$">
+ Require all denied
+</FilesMatch></pre>
+
+
+<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
+<code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code>.</p>
+
+<pre class="prettyprint lang-config"><DirectoryMatch "^/var/www/combined/(?<SITENAME>[^/]+)">
+ require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
+</DirectoryMatch></pre>
+
+
+
+
+<h3><a name="expressions" id="expressions">Expressions booléennes</a></h3>
+<p>La directive <code class="directive"><a href="./mod/core.html#if"><If></a></code>
+permet de modifier la configuration en fonction d'une condition qui peut
+ê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>
+<pre class="prettyprint lang-config"><If "!(%{HTTP_REFERER} -strmatch 'http://www.example.com/*')">
+ Require all denied
+</If></pre>
+
du système de fichier, ce qui peut permettre de contourner vos restrictions.
Par exemple, imaginez la configuration suivante :</p>
-<div class="example"><p><code>
-<Location /dir/><br />
-Order allow,deny<br />
-Deny from all<br />
-</Location>
-</code></p></div>
+<pre class="prettyprint lang-config"><Location "/dir/">
+ Require all denied
+</Location></pre>
+
<p>Elle fonctionne correctement si la requête appelle
<code>http://yoursite.example.com/dir/</code>. Mais que va-t-il se passer si
possible toujours utiliser les conteneurs de système de fichiers.
Il y a cependant une exception à cette règle. Placer des restrictions de
configuration dans un conteneur <code><Location
-/></code> est tout à fait sans rique car ce conteneur va s'appliquer à
+"/"></code> est tout à fait sans rique car ce conteneur va s'appliquer à
toutes les requêtes sans tenir compte de l'URL spécifique.</p>
+<h3><a name="nesting" id="nesting">Imbrication des sections</a></h3>
+
+<p>Certains types de sections peuvent être imbriqués : d'une part, on
+peut utiliser les sections <code class="directive"><a href="./mod/core.html#files"><Files></a></code> à l'intérieur des sections <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code>, d'autre part, on
+peut utiliser les
+directives <code class="directive"><a href="./mod/core.html#if"><If></a></code> à
+l'intérieur des sections <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code>, <code class="directive"><a href="./mod/core.html#location"><Location></a></code> et <code class="directive"><a href="./mod/core.html#files"><Files></a></code>. Les valeurs des expressions
+rationnelles correspondant aux sections nommées se comportent de manière
+identique.</p>
+
+<p>Les sections imbriquées sont fusionnées après les sections
+non-imbriquées de même type.</p>
+
+
+
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="virtualhost" id="virtualhost">Hôtes virtuels</a></h2>
appliquent les directives de configuration qu'ils contiennent uniquement aux
sites qui correspondent à l'URL spécifiée et auxquels on a
accédé via le serveur mandataire du module <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code>.
-Par exemple, la configuration suivante
-va interdire l'utilisation du serveur proxy pour accéder au site
-<code>www.example.com</code>.</p>
-
-<div class="example"><p><code>
-<Proxy http://www.example.com/*><br />
-Order allow,deny<br />
-Deny from all<br />
-</Proxy>
-</code></p></div>
+Par exemple, la configuration suivante n'autorisera qu'un sous-ensemble de
+clients à accéder au site <code>www.example.com</code> en passant par le serveur
+mandataire :.</p>
+
+<pre class="prettyprint lang-config"><Proxy http://www.example.com/*>
+ Require host yournetwork.example.com
+</Proxy></pre>
+
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="whatwhere" id="whatwhere">Quelles sont les directives autorisées ?</a></h2>
</ul>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
-<h2><a name="mergin" id="mergin">Comment les sections sont combinées entre elles</a></h2>
+<h2><a name="merging" id="merging">Comment les sections sont combinées entre elles</a></h2>
<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
<code class="directive"><a href="./mod/core.html#location"><Location></a></code>
et <code class="directive"><a href="./mod/core.html#locationmatch"><LocationMatch></a></code> sont appliquées
simultanément</li>
+
+ <li>Les directives <code class="directive"><a href="./mod/core.html#if"><If></a></code>
+ </li>
</ol>
<p>Mises à part les sections <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code>, chaque groupe est traité selon
l'ordre dans lequel il apparaît dans les fichiers de configuration.
Les sections <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code> (groupe 1 ci-dessus)
sont traitées dans l'ordre du répertoire le plus court vers le plus long.
- Par exemple, <code><Directory /var/web/dir></code> sera
+ Par exemple, <code><Directory "/var/web/dir"></code> sera
traité avant <code><Directory
- /var/web/dir/subdir></code>. Si plusieurs sections <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code> s'appliquent au même
+ "/var/web/dir/subdir"></code>. Si plusieurs sections <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code> s'appliquent au même
répertoire, elles sont traitées selon l'ordre dans lequel elles
apparaissent dans le fichier de configuration.
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
<p>Quand la requête est servie par le module <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code>,
le conteneur <code class="directive"><a href="./mod/mod_proxy.html#proxy"><Proxy></a></code>
prend la place du conteneur <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code> 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>
-
-<div class="note"><h3>Note technique</h3>
- Une séquence
- <code><Location></code>/<code><LocationMatch></code>
+
+ <div class="note"><h3>Note technique</h3>
+ Une séquence <code><Location></code>/<code><LocationMatch></code>
est réellement traitée juste avant la phase de traduction du nom
(où <code>Aliases</code> et <code>DocumentRoots</code>
sont utilisés pour faire correspondre les URLs aux noms de fichiers).
Les effets de cette séquence disparaissent totalement lorsque
la traduction est terminée.
-</div>
+ </div>
+
+<h3><a name="relationship-module-configuration" id="relationship-module-configuration">Interactions entre
+modules et sections de configuration</a></h3>
+ <p>Une question se pose souvent après avoir lu comment les sections de
+ configuration sont fusionnées : comment et quand les directives de modules
+ particuliers comme <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> sont-elles interprétées ? La
+ réponse n'est pas triviale et nécessite un approfondissement. Chaque module
+ httpd gère sa propre configuration, et chacune de ses directives dans
+ httpd.conf définit un élément de configuration dans un contexte particulier.
+ httpd n'exécute pas un commande au moment où elle est lue.</p>
+ <p>A l'exécution, le noyau de httpd parcours les sections de configuration
+ dans l'ordre décrit ci-dessus afin de déterminer lesquelles s'appliquent à
+ la requête courante. Lorsqu'une première section s'applique, elle est
+ considérée comme la configuration courante pour cette requête. Si une
+ section suivante s'applique aussi, chaque module qui possède des directives
+ dans chacune de ces sections a la possibilité de fusionner sa configuration
+ entre ces deux sections. Il en résulte une troisième configuration et le
+ processus de fusion se poursuit jusqu'à ce que toutes les sections de
+ configuration aient été évaluées.</p>
+ <p>Après l'étape précédente, le traitement proprement dit de la requête HTTP
+ peut commencer : chaque module peut effectuer toute tâche qui lui incombe,
+ et pour déterminer de quelle manière dont il doit agir, il peut s'appuyer
+ sur le noyau de httpd pour retrouver sa configuration globale issue de la
+ fusion précédente.</p>
+ <p>Un exemple permet de mieux visualiser l'ensemble du processus. la
+ configuration suivante utilise la directive <code class="directive"><a href="./mod/mod_headers.html#header">Header</a></code> du module
+ <code class="module"><a href="./mod/mod_headers.html">mod_headers</a></code> pour définir un en-tête HTTP spécifique. Quelle
+ valeur httpd va-t-il affecter à l'en-tête <code>CustomHeaderName</code> pour
+ une requête vers <code>/example/index.html</code> ?
+ </p>
+ <pre class="prettyprint lang-config"><Directory "/">
+ Header set CustomHeaderName one
+ <FilesMatch ".*">
+ Header set CustomHeaderName three
+ </FilesMatch>
+</Directory>
-<h3><a name="merge-examples" id="merge-examples">Quelques exemples</a></h3>
+<Directory "/example">
+ Header set CustomHeaderName two
+</Directory></pre>
+
+ <ul>
+ <li><code class="directive">Directory</code> "/" s'applique, et une configuration
+ initiale est créée qui définit l'en-tête <code>CustomHeaderName</code>
+ avec la valeur <code>one</code>.</li>
+ <li><code class="directive">Directory</code> "/example" s'applique, et comme
+ <code class="module"><a href="./mod/mod_headers.html">mod_headers</a></code> spécifie dans son code que
+ la valeur d'un en-tête doit être écrasée si ce dernier est défini à
+ nouveau, une nouvelle configuration est créée qui définit l'en-tête
+ <code>CustomHeaderName</code> avec la valeur <code>two</code>.</li>
+ <li><code class="directive">FilesMatch</code> ".*" s'applique, une nouvelle
+ opportunité de fusion surgit, et l'en-tête <code>CustomHeaderName</code>
+ est défini à la valeur <code>three</code>.</li>
+ <li>Finalement, au cours des étapes suivantes du traitement de la
+ requête HTTP, <code class="module"><a href="./mod/mod_headers.html">mod_headers</a></code> sera sollicité, et il se
+ basera sur la configuration qui a défini l'en-tête
+ <code>CustomHeaderName</code> à la valeur <code>three</code>.
+ <code class="module"><a href="./mod/mod_headers.html">mod_headers</a></code> utilise normalement cette configuration pour
+ accomplir sa tâche, à savoir définir des en-têtes HTTP. Cela ne veut
+ cependant pas dire qu'un module ne peut pas effectuer des actions plus
+ complexes comme désactiver des directives car elle ne sont pas
+ nécessaires ou obsolètes, etc...</li>
+ </ul>
+
+ <p>Ceci est aussi vrai pour les fichiers .htaccess car ils possèdent la même
+ priorité que les sections <code class="directive">Directory</code> dans l'ordre de
+ fusion. Il faut bien comprendre que les sections de configuration comme
+ <code class="directive">Directory</code> et <code class="directive">FilesMatch</code> ne
+ sont pas comparables avec les directives spécifiques de modules comme
+ <code class="directive"><a href="./mod/mod_headers.html#header">Header</a></code> ou <code class="directive"><a href="./mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> car elles agissent à des
+ niveaux différents.
+ </p>
+
+
+<h3><a name="merge-examples" id="merge-examples">Quelques exemples utiles</a></h3>
<p>Voici un exemple imaginaire qui montre l'ordre de combinaison des sections.
En supposant qu'elles s'appliquent toutes à la requête, les directives de
cet exemple seront appliquées dans l'ordre suivant : A > B > C > D >
E.</p>
-<div class="example"><p><code>
-<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 />
-</code></p></div>
+<pre class="prettyprint lang-config"><Location "/">
+ E
+</Location>
+
+<Files "f.html">
+ D
+</Files>
+
+<VirtualHost *>
+ <Directory "/a/">
+ B
+ </Directory>
+</VirtualHost>
+
+<DirectoryMatch "^.*b$">
+ C
+</DirectoryMatch>
+
+<Directory "/a/b">
+ A
+</Directory></pre>
+
<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 <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code>, la section <code class="directive"><a href="./mod/core.html#location"><Location></a></code> sera
En d'autres termes, l'ordre de la combinaison des sections est important,
soyez donc prudent !</p>
-<div class="example"><p><code>
-<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 />
-</Directory>
-</code></p></div>
+<pre class="prettyprint lang-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></pre>
+
<a href="./ja/sections.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/sections.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="./tr/sections.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
-</div><div id="footer">
-<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
-<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>
+</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&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>
+<script type="text/javascript"><!--//--><![CDATA[//><!--
+var comments_shortname = 'httpd';
+var comments_identifier = 'http://httpd.apache.org/docs/trunk/sections.html';
+(function(w, d) {
+ if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
+ d.write('<div id="comments_thread"><\/div>');
+ var s = d.createElement('script');
+ s.type = 'text/javascript';
+ s.async = true;
+ s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
+ (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
+ }
+ else {
+ d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
+ }
+})(window, document);
+//--><!]]></script></div><div id="footer">
+<p class="apache">Copyright 2016 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+<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[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
</body></html>
\ No newline at end of file