<!DOCTYPE html SYSTEM "about:legacy-compat">
<html lang="fr"><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta content="width=device-width, initial-scale=1" name="viewport">
<!--
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
              This file is generated from xml source: DO NOT EDIT
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -->
<title>Sections de configuration - Serveur HTTP Apache Version 2.4</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 rel="stylesheet" type="text/css" href="./style/css/prettify.css">
<script src="./style/scripts/prettify.min.js">
</script>

<link href="./images/favicon.png" rel="shortcut icon"></head>
<body id="manual-page"><div id="page-header">
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/quickreference.html">Directives</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a> | <a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2">Signaler un bug</a></p>
<p class="apache">Serveur HTTP Apache Version 2.4</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="https://www.apache.org/">Apache</a> &gt; <a href="https://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="https://httpd.apache.org/docs/">Documentation</a> &gt; <a href="./">Version 2.4</a></div><div id="page-content"><div id="preamble"><h1>Sections de configuration</h1>
<button aria-label="Toggle language list" class="lang-toggle"><svg xmlns="http://www.w3.org/2000/svg" stroke-width="2" stroke="currentColor" fill="none" viewBox="0 0 24 24" height="16" width="16"><circle r="10" cy="12" cx="12"/><line y2="12" x2="22" y1="12" x1="2"/><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"/></svg></button>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="./en/sections.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="./fr/sections.html" title="Fran&ccedil;ais">&nbsp;fr&nbsp;</a> |
<a href="./ja/sections.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/sections.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/sections.html" hreflang="tr" rel="alternate" title="T&uuml;rk&ccedil;e">&nbsp;tr&nbsp;</a></p>
</div>
 <p>Les directives des <a href="configuring.html">fichiers de configuration</a> peuvent s'appliquer
au serveur dans son ensemble, ou seulement &agrave; des r&eacute;pertoires, fichiers, h&ocirc;tes,
ou URLs particuliers.  Ce document d&eacute;crit comment utiliser les conteneurs de
sections de configuration ou les fichiers <code>.htaccess</code> pour
modifier la port&eacute;e des directives de configuration.</p>
</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&egrave;me de fichiers,
arborescence du site web et expressions bool&eacute;ennes</a></li>
<li><img alt="" src="./images/down.gif"> <a href="#virtualhost">Serveurs 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&eacute;es&nbsp;?</a></li>
<li><img alt="" src="./images/down.gif"> <a href="#merging">Comment les sections sont combin&eacute;es entre elles</a></li>
</ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif"></a></div>
<div class="section">
<h2 id="types">Types de conteneurs de sections de
configuration <a title="Lien permanent" href="#types" class="permalink">&para;</a></h2>

<table class="related"><tr><th>Modules Apparent&eacute;s</th><th>Directives Apparent&eacute;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_md.html#mdomainsetsection">&lt;MDomainSet&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>

<p>Il existe deux grands types de conteneurs. La plupart des conteneurs sont
&eacute;valu&eacute;s pour chaque requ&ecirc;te. Les directives qu'ils contiennent s'appliquent
seulement aux requ&ecirc;tes qui sont concern&eacute;es par le conteneur. En revanche,
les conteneurs
<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
<code class="directive"><a href="./mod/mod_version.html#ifversion">&lt;IfVersion&gt;</a></code> sont
&eacute;valu&eacute;s seulement au d&eacute;marrage et au red&eacute;marrage du serveur.
Si leurs conditions sont v&eacute;rifi&eacute;es au d&eacute;marrage, les directives qu'ils contiennent
s'appliqueront &agrave; toutes les requ&ecirc;tes. Si leurs conditions ne sont pas v&eacute;rifi&eacute;es, les
directives qu'ils contiennent seront ignor&eacute;es.</p>

<p>Le conteneur <code class="directive"><a href="./mod/core.html#ifdefine">&lt;IfDefine&gt;</a></code>
contient des directives qui ne seront appliqu&eacute;es que si un param&egrave;tre appropri&eacute; a
&eacute;t&eacute; d&eacute;fini dans la ligne de commande de <code class="program"><a href="./programs/httpd.html">httpd</a></code>. Par exemple,
avec la configuration suivante, toutes les requ&ecirc;tes seront redirig&eacute;es vers un
autre site si le serveur est d&eacute;marr&eacute; en utilisant la ligne de commande&nbsp;:
<code>httpd -DClosedForNow</code>&nbsp;:</p>

<pre class="prettyprint lang-config">&lt;IfDefine ClosedForNow&gt;
    Redirect "/" "http://otherserver.example.com/"
&lt;/IfDefine&gt;</pre>


<p>Le conteneur <code class="directive"><a href="./mod/core.html#ifmodule">&lt;IfModule&gt;</a></code>
est similaire&nbsp;; les directives qu'il contient ne s'appliqueront que si
un module particulier est disponible au niveau du serveur.
Le module doit &ecirc;tre soit compil&eacute; statiquement dans le serveur, soit
dynamiquement et dans ce cas, la ligne <code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code> correspondante doit appara&icirc;tre
plus haut dans le fichier de configuration. Ce conteneur ne doit &ecirc;tre
utilis&eacute; que dans le cas o&ugrave; votre fichier de configuration doit &ecirc;tre valable
ind&eacute;pendamment de la pr&eacute;sence ou de l'absence de certains modules.
Il ne doit pas contenir de directives que vous souhaitez voir s'appliquer
syst&eacute;matiquement, car vous pouvez perdre ainsi de pr&eacute;cieux messages d'erreur
&agrave; propos de modules manquants.</p>

<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>

<pre class="prettyprint lang-config">&lt;IfModule mod_mime_magic.c&gt;
    MimeMagicFile "conf/magic"
&lt;/IfModule&gt;</pre>


<p>Le conteneur
<code class="directive"><a href="./mod/mod_version.html#ifversion">&lt;IfVersion&gt;</a></code>
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>&nbsp;; les directives qu'il contient ne
s'appliqueront que si une version particuli&egrave;re du serveur s'ex&eacute;cute. Ce
conteneur a &eacute;t&eacute; con&ccedil;u pour une utilisation dans les suites de tests
et les grands r&eacute;seaux qui doivent prendre en compte diff&eacute;rentes versions
et configurations de httpd.</p>

<pre class="prettyprint lang-config">&lt;IfVersion &gt;= 2.4&gt;
    # les directives situ&eacute;es ici ne s'appliquent que si la version <br>
    # est sup&eacute;rieure ou &eacute;gale &agrave; 2.4.0.
&lt;/IfVersion&gt;</pre>


<p><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
<code class="directive"><a href="./mod/mod_version.html#ifversion">&lt;IfVersion&gt;</a></code>
peuvent inverser leur test conditionnel en le faisant pr&eacute;c&eacute;der d'un &laquo;&nbsp;!&nbsp;&raquo;.
De plus, ces sections peuvent &ecirc;tre imbriqu&eacute;es afin de d&eacute;finir des restrictions
plus complexes.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif"></a></div>
<div class="section">
<h2 id="file-and-web">Syst&egrave;me de fichiers,
arborescence du site web et expressions bool&eacute;ennes <a title="Lien permanent" href="#file-and-web" class="permalink">&para;</a></h2>

<p>Les conteneurs de sections de configuration les plus couramment utilis&eacute;s
sont ceux qui modifient la configuration de points particuliers du syst&egrave;me de
fichiers ou de l'arborescence du site web. Tout d'abord, il est important de
comprendre la diff&eacute;rence entre les deux. Le syst&egrave;me de fichiers est une vue de
vos disques tels qu'ils sont per&ccedil;us par votre syst&egrave;me d'exploitation.  Par
exemple, avec une installation par d&eacute;faut, Apache httpd est situ&eacute; dans
<code>/usr/local/apache2</code> pour le syst&egrave;me de fichiers UNIX, ou
<code>"c:/Program Files/Apache Group/Apache2"</code> pour le syst&egrave;me de
fichiers Windows (notez que des slashes directs doivent toujours &ecirc;tre utilis&eacute;s
comme s&eacute;parateur de chemin dans les fichiers de configuration d'Apache httpd,
m&ecirc;me sous Windows). Quant &agrave; l'arborescence du site web, il s'agit d'une vue de
votre site telle que pr&eacute;sent&eacute;e par le serveur web et per&ccedil;ue par le client.
Ainsi le chemin <code>/dir/</code> dans l'arborescence du site web correspond
au chemin <code>/usr/local/apache2/htdocs/dir/</code> dans le syst&egrave;me de
fichiers pour une installation d'Apache httpd par d&eacute;faut sous UNIX.  En outre,
l'arborescence du site web n'a pas besoin de correspondre en permanence au
syst&egrave;me de fichiers, car les pages web peuvent &ecirc;tre g&eacute;n&eacute;r&eacute;es dynamiquement &agrave;
partir de bases de donn&eacute;es ou d'autres emplacements.</p>

<h3 id="filesystem">Conteneurs de syst&egrave;me de fichiers</h3>

<p>Les conteneurs <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code>
et <code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code>,
ainsi que leurs &eacute;quivalents acceptant les
<a class="glossarylink" href="./glossary.html#regex" title="voir glossaire">expressions rationnelles</a>,
appliquent des directives &agrave; certaines parties du syst&egrave;me de fichiers.
Les directives contenues dans une section <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> s'appliquent au r&eacute;pertoire
pr&eacute;cis&eacute;, ainsi qu'&agrave; tous ses sous-r&eacute;pertoires et aux fichiers que ces
derniers contiennent.
Le m&ecirc;me effet peut &ecirc;tre obtenu en utilisant les <a href="howto/htaccess.html">fichiers .htaccess</a>. Par exemple, avec la
configuration suivante, l'indexation sera activ&eacute;e pour le r&eacute;pertoire
<code>/var/web/dir1</code> et tous ses sous-r&eacute;pertoires.</p>

<pre class="prettyprint lang-config">&lt;Directory "/var/web/dir1"&gt;
    Options +Indexes
&lt;/Directory&gt;</pre>


<p>Les directives contenues dans une section <code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code> s'appliquent &agrave; tout fichier
avec le nom sp&eacute;cifi&eacute;, quel que soit le r&eacute;pertoire dans lequel il se trouve.
Ainsi par exemple, les directives de configuration suivantes, si elles sont
plac&eacute;es dans la section principale du fichier de configuration, vont interdire
l'acc&egrave;s &agrave; tout fichier nomm&eacute; <code>private.html</code> quel que soit
l'endroit o&ugrave; il se trouve.</p>

<pre class="prettyprint lang-config">&lt;Files "private.html"&gt;
    Require all denied
&lt;/Files&gt;</pre>


<p>Pour faire r&eacute;f&eacute;rence &agrave; des fichiers qui se trouvent en des points
particuliers du syst&egrave;me de fichiers, 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#directory">&lt;Directory&gt;</a></code>
peuvent &ecirc;tre combin&eacute;es. Par exemple, la configuration suivante va interdire
l'acc&egrave;s &agrave; <code>/var/web/dir1/private.html</code>,
<code>/var/web/dir1/subdir2/private.html</code>,
<code>/var/web/dir1/subdir3/private.html</code>, ainsi que toute instance de
<code>private.html</code> qui se trouve dans l'arborescence
<code>/var/web/dir1/</code>.</p>

<pre class="prettyprint lang-config">&lt;Directory "/var/web/dir1"&gt;
    &lt;Files "private.html"&gt;
        Require all denied
    &lt;/Files&gt;
&lt;/Directory&gt;</pre>



<h3 id="webspace">Conteneurs de l'arborescence du site web</h3>

<p>le conteneur <code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code>
et son &eacute;quivalent acceptant les
<a class="glossarylink" href="./glossary.html#regex" title="voir glossaire">expressions rationnelles</a> modifient quant &agrave; eux la
configuration de parties de l'arborescence du site web. Par exemple, la
configuration suivante interdit l'acc&egrave;s &agrave; toute URL dont la partie chemin
commence par /private.
En particulier, l'interdiction s'appliquera aux requ&ecirc;tes pour :
<code>http://yoursite.example.com/private</code>,
<code>http://yoursite.example.com/private123</code>, et
<code>http://yoursite.example.com/private/dir/file.html</code> ainsi qu'&agrave;
toute requ&ecirc;te commen&ccedil;ant par la cha&icirc;ne de caract&egrave;res <code>/private</code>.</p>

<pre class="prettyprint lang-config">&lt;LocationMatch "^/private"&gt;
    Require all denied
&lt;/LocationMatch&gt;</pre>


<p>Le conteneur <code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code>
n'a pas besoin de faire r&eacute;f&eacute;rence &agrave; un &eacute;l&eacute;ment du syst&egrave;me de fichiers.
&Agrave; ce titre, l'exemple suivant montre comment faire correspondre une URL
particuli&egrave;re &agrave; un gestionnaire interne fourni par le module
<code class="module"><a href="./mod/mod_status.html">mod_status</a></code>.
Il n'est pas n&eacute;cessaire de trouver un fichier nomm&eacute; <code>server-status</code>
dans le syst&egrave;me de fichiers.</p>

<pre class="prettyprint lang-config"># Un URL vers un gestionnaire interne&nbsp;:
&lt;Location "/server-status"&gt;
    SetHandler server-status
&lt;/Location&gt;

# Un chemin d&rsquo;URL vers un dorsal de mandataire inverse&nbsp;:
&lt;Location "/app"&gt;
    ProxyPass "http://backend.example.com/"
    ProxyPassReverse "http://backend.example.com/"
&lt;/Location&gt;

# Interdire l&rsquo;acc&egrave;s &agrave; un chemin d&rsquo;URL sans tenir compte de ce qui le traite&nbsp;:
&lt;Location "/private"&gt;
    Require all denied
&lt;/Location&gt;</pre>


<p>&Eacute;tant donn&eacute; que la section <code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code> op&egrave;re sur des URLs, et non sur des chemins du
syst&egrave;me de fichiers, il s'agit du conteneur appropri&eacute; pour la configuration du
mandataire et les points de terminaison fournis par les modules.</p>


<h3 id="overlapping-webspace">Espace web imbriqu&eacute;</h3>
<p>Pour contr&ocirc;ler deux URLs imbriqu&eacute;es, on doit tenir compte de l'ordre
dans lequel certaines sections ou directives sont &eacute;valu&eacute;es. Pour
<code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code>, on doit
avoir&nbsp;:</p>
<pre class="prettyprint lang-config">&lt;Location "/foo"&gt;
&lt;/Location&gt;
&lt;Location "/foo/bar"&gt;
&lt;/Location&gt;</pre>

<p>Les directives <code class="directive"><a href="./mod/mod_alias.html#alias">&lt;Alias&gt;</a></code>, quant &agrave; elles, sont &eacute;valu&eacute;es vice-versa&nbsp;:</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>&nbsp;:</p>
<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 id="wildcards">Caract&egrave;res de remplacement
et expressions rationnelles</h3>

<p>Les conteneurs <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code>, <code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code> et <code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code> peuvent utiliser des caract&egrave;res de
remplacement de style shell comme dans la fonction <code>fnmatch</code> de la
biblioth&egrave;que C standard.  Le caract&egrave;re &laquo;&nbsp;*&nbsp;&raquo; correspond &agrave; toute s&eacute;quence de
caract&egrave;res, &laquo;&nbsp;?&nbsp;&raquo; &agrave; un caract&egrave;re seul, et &laquo;&nbsp;[<em>seq</em>]&nbsp;&raquo; &agrave; tout caract&egrave;re
contenu dans <em>seq</em>.  Le caract&egrave;re &laquo;&nbsp;/&nbsp;&raquo; ne peut pas faire l'objet d'un
remplacement&nbsp;; il doit &ecirc;tre sp&eacute;cifi&eacute; explicitement.</p>

<p>Si une d&eacute;finition des crit&egrave;res de correspondance encore plus souple est
n&eacute;cessaire, chaque conteneur poss&egrave;de son &eacute;quivalent acceptant les expressions
rationnelles&nbsp;: <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 <a class="glossarylink" href="./glossary.html#regex" title="voir glossaire">expressions rationnelles</a> compatibles Perl pour d&eacute;finir
les crit&egrave;res de correspondance. Mais voyez plus loin la section &agrave; propos de la
combinaison des sections de configuration pour comprendre comment l'utilisation
de conteneurs avec des expressions rationnelles va modifier la mani&egrave;re dont les
directives sont appliqu&eacute;es.</p>

<p>Un conteneur qui modifie la configuration de tous les r&eacute;pertoires
utilisateurs &agrave; l'aide de caract&egrave;res de remplacement mais sans utiliser les
expressions rationnelles pourrait ressembler &agrave; ceci&nbsp;:</p>

<pre class="prettyprint lang-config">&lt;Directory "/home/*/public_html"&gt;
    Options Indexes
&lt;/Directory&gt;</pre>


<p>Avec les conteneurs utilisant les expressions rationnelles,
on peut interdire l'acc&egrave;s &agrave; de nombreux types de fichiers d'images
simultan&eacute;ment&nbsp;:</p>
<pre class="prettyprint lang-config">+&lt;FilesMatch "\.(?i:gif|jpe?g|png)$"&gt;
    Require all denied
&lt;/FilesMatch&gt;</pre>


<p>Les expressions rationnelles contenant des <strong>groupes nomm&eacute;s et
des r&eacute;f&eacute;rences arri&egrave;res</strong> sont ajout&eacute;es &agrave; l'environnement avec
leur nom en majuscules. Cela permet de r&eacute;f&eacute;rencer des &eacute;l&eacute;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">&lt;DirectoryMatch "^/var/www/combined/(?&lt;SITENAME&gt;[^/]+)"&gt;
    Require ldap-group "cn=%{env:MATCH_SITENAME},ou=combined,o=Example"
&lt;/DirectoryMatch&gt;</pre>




<h3 id="expressions">Expressions bool&eacute;ennes</h3>
<p>La directive <code class="directive"><a href="./mod/core.html#if">&lt;If&gt;</a></code>
permet de modifier la configuration en fonction d'une condition qui peut
&ecirc;tre d&eacute;finie sous la forme d'une expression bool&eacute;enne. Dans l'exemple
suivant, l'acc&egrave;s est interdit si l'en-t&ecirc;te HTTP Referer ne commence pas
par &laquo;&nbsp;http://www.example.com/&nbsp;&raquo;.</p>
<pre class="prettyprint lang-config">&lt;If "!(%{HTTP_REFERER} -strmatch 'http://www.example.com/*')"&gt;
    Require all denied
&lt;/If&gt;</pre>




<h3 id="whichwhen">Que faut-il utiliser et quand ?</h3>

<p>Choisir entre des conteneurs de syst&egrave;me de fichiers et des conteneurs
d'arborescence du site web est vraiment tr&egrave;s simple.
Pour appliquer des directives &agrave; des objets qui r&eacute;sident dans le syst&egrave;me de
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 &agrave; des objets
qui ne r&eacute;sident pas dans le syst&egrave;me de fichiers (comme une page web g&eacute;n&eacute;r&eacute;e
par une base de donn&eacute;es), utilisez un conteneur <code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code>.</p>

<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&egrave;s &agrave; des
objets du syst&egrave;me de fichiers, car plusieurs emplacements de
l'arborescence du site web (URLs) peuvent correspondre au m&ecirc;me emplacement
du syst&egrave;me de fichier, ce qui peut permettre de contourner vos restrictions.
Par exemple, imaginez la configuration suivante :</p>

<pre class="prettyprint lang-config">&lt;Location "/dir/"&gt;
    Require all denied
&lt;/Location&gt;</pre>


<p>Elle fonctionne correctement si la requ&ecirc;te appelle
<code>http://yoursite.example.com/dir/</code>. Mais que va-t-il se passer si
votre syst&egrave;me de fichiers est insensible &agrave; la casse&nbsp;?  Votre restriction va
pouvoir &ecirc;tre tout simplement contourn&eacute;e en envoyant une requ&ecirc;te sur
<code>http://yoursite.example.com/DIR/</code>. Le conteneur <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code>, quant &agrave; lui, s'appliquera &agrave;
tout contenu servi &agrave; partir de cet emplacement, sans tenir compte de la mani&egrave;re
dont il est appel&eacute;.  Les liens du syst&egrave;me de fichiers constituent une exception.
Le m&ecirc;me r&eacute;pertoire peut &ecirc;tre plac&eacute; dans plusieurs parties du syst&egrave;me de fichiers
en utilisant des liens symboliques. Le conteneur <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> va suivre le lien symbolique sans modifier
le nom du chemin. Par cons&eacute;quent, pour plus de s&eacute;curit&eacute;, les liens symboliques
doivent &ecirc;tre d&eacute;sactiv&eacute;s &agrave; l'aide de la directive <code class="directive"><a href="./mod/core.html#options">Options</a></code> appropri&eacute;e.</p>

<p>Si vous pensez que vous n'&ecirc;tes pas concern&eacute; par ce probl&egrave;me
parce que vous utilisez un syst&egrave;me de fichiers sensible &agrave; la casse,
gardez &agrave; l'esprit qu'il y a de nombreuses autres mani&egrave;res pour faire
correspondre plusieurs emplacements de l'arborescence du site web au m&ecirc;me
emplacement du syst&egrave;me de fichiers. C'est pourquoi vous devez autant que
possible toujours utiliser les conteneurs de syst&egrave;me de fichiers.
Il y a cependant une exception &agrave; cette r&egrave;gle. Placer des restrictions de
configuration dans un conteneur <code>&lt;Location
"/"&gt;</code> est absolument sans rique car ce conteneur va s'appliquer &agrave;
toutes les requ&ecirc;tes sans tenir compte de l'URL sp&eacute;cifique.</p>


<h3 id="nesting">Imbrication des sections</h3>

<p>Certains types de sections peuvent &ecirc;tre imbriqu&eacute;s&nbsp;: d'une part, on peut
utiliser les sections <code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code>
&agrave; l'int&eacute;rieur des sections <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code>, d'autre part, on peut utiliser les
directives <code class="directive"><a href="./mod/core.html#if">&lt;If&gt;</a></code> &agrave; l'int&eacute;rieur
des sections <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code>,
<code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code> et <code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code> (mais pas &agrave; l'int&eacute;rieur d'une
autre section <code class="directive"><a href="./mod/core.html#if">&lt;If&gt;</a></code>). Les
valeurs des expressions rationnelles correspondant aux sections cit&eacute;es se
comportent de mani&egrave;re identique.</p>

<p>Les sections imbriqu&eacute;es sont fusionn&eacute;es apr&egrave;s les sections
non-imbriqu&eacute;es de m&ecirc;me type.</p>



</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif"></a></div>
<div class="section">
<h2 id="virtualhost">Serveurs virtuels <a title="Lien permanent" href="#virtualhost" class="permalink">&para;</a></h2>

<p>Le conteneur <code class="directive"><a href="./mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
contient des directives qui s'appliquent &agrave; des serveurs virtuels sp&eacute;cifiques.
Cela s'av&egrave;re utile pour servir les contenus de plusieurs serveurs virtuels &agrave;
partir de la m&ecirc;me machine, chacun d'entre eux poss&eacute;dant une configuration
diff&eacute;rente. Pour de plus amples informations, voir la <a href="vhosts/">Documentation sur les serveurs virtuels</a>.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif"></a></div>
<div class="section">
<h2 id="proxy">Mandataire <a title="Lien permanent" href="#proxy" class="permalink">&para;</a></h2>

<p>Les conteneurs
<code class="directive"><a href="./mod/mod_proxy.html#proxy">&lt;Proxy&gt;</a></code>
et <code class="directive"><a href="./mod/mod_proxy.html#proxymatch">&lt;ProxyMatch&gt;</a></code>
appliquent les directives de configuration qu'ils contiennent uniquement aux
sites qui correspondent &agrave; l'URL sp&eacute;cifi&eacute;e et auxquels on a
acc&eacute;d&eacute; &agrave; l'aide du serveur mandataire du module <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code>.
Par exemple, la configuration suivante n'autorisera qu'un sous-ensemble de
clients &agrave; acc&eacute;der au site <code>www.example.com</code> en passant par le serveur
mandataire&nbsp;:</p>

<pre class="prettyprint lang-config">&lt;Proxy "http://www.example.com/*"&gt;
    Require host yournetwork.example.com
&lt;/Proxy&gt;</pre>

</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif"></a></div>
<div class="section">
<h2 id="whatwhere">Quelles sont les directives autoris&eacute;es&nbsp;? <a title="Lien permanent" href="#whatwhere" class="permalink">&para;</a></h2>

<p>Pour d&eacute;terminer quelles sont les directives autoris&eacute;es pour tel type de
section de configuration, v&eacute;rifiez le <a href="mod/directive-dict.html#Context">Contexte</a> de la directive.
Tout ce qui est autoris&eacute; dans les sections
<code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code>
l'est aussi d'un point de vue syntaxique dans les sections
<code class="directive"><a href="./mod/core.html#directorymatch">&lt;DirectoryMatch&gt;</a></code>,
<code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code>,
<code class="directive"><a href="./mod/core.html#filesmatch">&lt;FilesMatch&gt;</a></code>,
<code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code>,
<code class="directive"><a href="./mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code>,
<code class="directive"><a href="./mod/mod_proxy.html#proxy">&lt;Proxy&gt;</a></code>
et <code class="directive"><a href="./mod/mod_proxy.html#proxymatch">&lt;ProxyMatch&gt;</a></code>.
Il y a cependant quelques exceptions&nbsp;:</p>

<ul>
<li>La directive <code class="directive"><a href="./mod/core.html#allowoverride">AllowOverride</a></code>
ne fonctionne que dans les sections
<code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code>.</li>

<li>Les <code class="directive"><a href="./mod/core.html#options">Options</a></code> <code>FollowSymLinks</code> et
<code>SymLinksIfOwnerMatch</code> ne fonctionnent que dans les sections
<code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> ou les fichiers
<code>.htaccess</code>.</li>

<li>La directive <code class="directive"><a href="./mod/core.html#options">Options</a></code> ne peut pas &ecirc;tre
utilis&eacute;e dans 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>.</li>
</ul>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif"></a></div>
<div class="section">
<h2 id="merging">Comment les sections sont combin&eacute;es entre elles <a title="Lien permanent" href="#merging" class="permalink">&para;</a></h2>

<p>Les sections de configuration sont appliqu&eacute;es dans un ordre tr&egrave;s particulier.
Il est important de savoir comment cet ordre est d&eacute;fini car il peut avoir
des effets importants sur la mani&egrave;re dont les directives de configuration
sont interpr&eacute;t&eacute;es.</p>

    <p>L'ordre dans lequel les sections sont appliqu&eacute;es est&nbsp;:</p>

    <ol>
      <li> Les sections <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> (&agrave; l'exception des expressions
      rationnelles) et les fichiers <code>.htaccess</code> sont appliqu&eacute;es
      simultan&eacute;ment (avec la possibilit&eacute; pour <code>.htaccess</code>, s'il y est
      autoris&eacute;, de pr&eacute;valoir sur <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code>)</li>

      <li>Les sections <code class="directive"><a href="./mod/core.html#directorymatch">&lt;DirectoryMatch&gt;</a></code> (et <code>&lt;Directory
      "~"&gt;</code>)</li>

      <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&eacute;es simultan&eacute;ment</li>

      <li>Les sections <code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code> et <code class="directive"><a href="./mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code> sont appliqu&eacute;es simultan&eacute;ment</li>

      <li>Les sections <code class="directive"><a href="./mod/core.html#if">&lt;If&gt;</a></code>,
      m&ecirc;me si elles sont incluses dans un des contextes pr&eacute;c&eacute;dents.  </li>
    </ol>

    <p>Quelques remarques importantes :</p>
    <ul>
    <li>Mises &agrave; part les sections <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code>, dans chaque groupe, les sections sont
    trait&eacute;es selon
    l'ordre dans lequel elles apparaissent dans les fichiers de configuration.
    Par exemple, une requ&ecirc;te pour <em>/foo/bar</em> correspondra &agrave;
    <code>&lt;Location "/foo/bar"&gt;</code> et <code>&lt;Location
    "/foo"&gt;</code> (dans ce cas le groupe 4)&nbsp;: les deux sections seront
    &eacute;valu&eacute;es mais selon l'ordre dans lequel elles apparaissent dans le fichier
    de configuration.</li>
    <li>Les sections <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> (groupe 1 ci-dessus)
    sont trait&eacute;es dans l'ordre du r&eacute;pertoire le plus court vers le plus long
    (sans tenir compte de leur ordre d&rsquo;apparition dans le fichier de
    configuration).
    Par exemple, <code>&lt;Directory "/var/web/dir"&gt;</code> sera
    trait&eacute;e avant <code>&lt;Directory
    "/var/web/dir/subdir"&gt;</code>.</li>
    <li>Si plusieurs sections <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> s'appliquent au m&ecirc;me r&eacute;pertoire, elles
    sont trait&eacute;es selon l'ordre dans lequel elles apparaissent dans le fichier
    de configuration. La m&ecirc;me r&egrave;gle s&rsquo;applique lorsque plusieurs sections
    <code class="directive"><a href="./mod/core.html#directorymatch">&lt;DirectoryMatch&gt;</a></code>,
    <code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code>, <code class="directive"><a href="./mod/core.html#filesmatch">&lt;FilesMatch&gt;</a></code>, <code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code> ou <code class="directive"><a href="./mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code> ciblent &agrave; la m&ecirc;me
    ressource.</li>
    <li>Les sections de configuration incluses &agrave; laide de la directive <code class="directive"><a href="./mod/core.html#include">Include</a></code> sont trait&eacute;es comme si elles se
    trouvaient r&eacute;ellement dans le fichier qui les inclut &agrave; la position de la
    directive
    <code class="directive"><a href="./mod/core.html#include">Include</a></code>.</li>
    <li>Les sections situ&eacute;es &agrave; l'int&eacute;rieur de sections <code class="directive"><a href="./mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
    sont appliqu&eacute;es <em>apr&egrave;s</em> les sections correspondantes situ&eacute;es en
    dehors de la d&eacute;finition du serveur virtuel, ce qui permet au serveur virtuel
    de pr&eacute;valoir sur la configuration du serveur global. Notez qu&rsquo;&agrave; la
    diff&eacute;rence des autres types de section, un seul <code class="directive"><a href="./mod/core.html#serveur virtuel">&lt;serveur virtuel&gt;</a></code> est s&eacute;lectionn&eacute; pour une requ&ecirc;te
    &mdash;&nbsp;les directives de plusieurs serveurs virtuels correspondants ne sont
    jamais fusionn&eacute;es. Voir <a href="vhosts/details.html">Correspondance des
    serveurs virtuels</a> pour des d&eacute;tails &agrave; propos de la mani&egrave;re dont les
    serveurs virtuels sont s&eacute;lectionn&eacute;s.</li>
    <li>Quand la requ&ecirc;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">&lt;Proxy&gt;</a></code>
    prend la place du conteneur <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> dans l'ordre de traitement.</li>
    <li>Il faut &ecirc;tre tr&egrave;s prudent lorsqu'on m&eacute;lange des directives de
    configuration similaires &agrave; l'int&eacute;rieur et &agrave; l'ext&eacute;rieur d'une section
    <code class="directive"><a href="./mod/core.html#if">&lt;If&gt;</a></code> car leur ordre
    d'apparition a de l'importance. A cet effet, l'utilisation explicite de la
    directive <code class="directive"><a href="./mod/core.html#else">&lt;Else&gt;</a></code>
    peut vous y aider.
        </li>
        <li>Lorsqu'une section <code class="directive"><a href="./mod/core.html#if">&lt;If&gt;</a></code> est utilis&eacute;e dans un fichier <code>.htaccess</code>, les
	directives incluses dans un "directory" parent seront fusionn&eacute;es
	<em>apr&egrave;s</em> les directives non-incluses dans un "directory" enfant.
	</li>
	<li><div class="warning"><h3>Avertissement&nbsp;: une directive
	&lt;Limit&gt; au sein d&rsquo;une section &lt;Location&gt; peut accorder un
	acc&egrave;s silencieusement</h3>
        <p>Utiliser la directive <code class="directive"><a href="./mod/core.html#limit">&lt;Limit&gt;</a></code> au sein d&rsquo;une section <code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code> pour restreindre
	la liste des m&eacute;thodes HTTP autoris&eacute;es peut donner des r&eacute;sultats
	inattendus. Pour les m&eacute;thodes non sp&eacute;cifi&eacute;es par la directive <code class="directive"><a href="./mod/core.html#limit">&lt;Limit&gt;</a></code>, la section <code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code> h&ocirc;te est trait&eacute;e comme
	n&rsquo;imposant aucune condition d&rsquo;autorisation, ce qui a effectivement pour
	effet d&rsquo;accorder l&rsquo;acc&egrave;s et outrepasse toute &eacute;ventuelle restriction
	d&rsquo;une section <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> qui, autrement, aurait d&ucirc; s&rsquo;appliquer.
	C&rsquo;est pourquoi il est pr&eacute;f&eacute;rable d&rsquo;utiliser la directive <code class="directive"><a href="./mod/core.html#limitexcept">&lt;LimitExcept&gt;</a></code> ou de d&eacute;finir les
	autorisations sans restriction sur les m&eacute;thodes.</p>
        </div></li>
    </ul>

	<div class="note"><h3>Note technique</h3>
	Une s&eacute;quence <code>&lt;Location&gt;</code>/<code>&lt;LocationMatch&gt;</code>
	est r&eacute;ellement trait&eacute;e juste avant la phase de traduction du nom
	(o&ugrave; <code>Aliases</code> et <code>DocumentRoots</code>
      sont utilis&eacute;s pour faire correspondre les URLs aux noms de fichiers).
      Les effets de cette s&eacute;quence disparaissent totalement lorsque
      la traduction est termin&eacute;e.
	</div>

<h3 id="relationship-module-configuration">Interactions entre
modules et sections de configuration</h3>
    <p>Une question se pose souvent apr&egrave;s avoir lu comment les sections de
    configuration sont fusionn&eacute;es&nbsp;: 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&eacute;t&eacute;es&nbsp;? La
    r&eacute;ponse n'est pas triviale et n&eacute;cessite un approfondissement. Chaque module
    httpd g&egrave;re sa propre configuration, et chacune de ses directives dans
    httpd.conf d&eacute;finit un &eacute;l&eacute;ment de configuration dans un contexte particulier.
    httpd n'ex&eacute;cute pas une commande au moment o&ugrave; elle est lue.</p>
    <p>A l'ex&eacute;cution, le noyau de httpd parcourt les sections de configuration
    dans l'ordre d&eacute;crit ci-dessus afin de d&eacute;terminer lesquelles s'appliquent &agrave;
    la requ&ecirc;te actuelle. Lorsqu'une premi&egrave;re section s'applique, elle est
    consid&eacute;r&eacute;e comme la configuration actuelle pour cette requ&ecirc;te. Si une
    section suivante s'applique aussi, chaque module qui poss&egrave;de des directives
    dans chacune de ces sections a la possibilit&eacute; de fusionner sa configuration
    entre ces deux sections. Il en r&eacute;sulte une troisi&egrave;me configuration et le
    processus de fusion se poursuit jusqu'&agrave; ce que toutes les sections de
    configuration aient &eacute;t&eacute; &eacute;valu&eacute;es.</p>
    <p>Apr&egrave;s l'&eacute;tape pr&eacute;c&eacute;dente, le traitement proprement dit de la requ&ecirc;te HTTP
    peut commencer&nbsp;: chaque module peut effectuer toute t&acirc;che qui lui incombe,
    et pour d&eacute;terminer de quelle mani&egrave;re il doit agir, il peut s'appuyer
    sur le noyau de httpd pour retrouver sa configuration globale issue de la
    fusion pr&eacute;c&eacute;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&eacute;finir un en-t&ecirc;te HTTP sp&eacute;cifique. Quelle
    valeur httpd va-t-il affecter &agrave; l'en-t&ecirc;te <code>CustomHeaderName</code> pour
    une requ&ecirc;te vers <code>/example/index.html</code>&nbsp;?
    </p>
    <pre class="prettyprint lang-config">&lt;Directory "/"&gt;
    Header set CustomHeaderName one
    &lt;FilesMatch ".*"&gt;
        Header set CustomHeaderName three
    &lt;/FilesMatch&gt;
&lt;/Directory&gt;

&lt;Directory "/example"&gt;
    Header set CustomHeaderName two
&lt;/Directory&gt;</pre>

    <ul>
        <li><code class="directive">Directory</code> "/" s'applique, et une configuration
	initiale est cr&eacute;&eacute;e qui d&eacute;finit l'en-t&ecirc;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&eacute;cifie dans son code que
	la valeur d'un en-t&ecirc;te doit &ecirc;tre &eacute;cras&eacute;e si ce dernier est d&eacute;fini &agrave;
	nouveau, une nouvelle configuration est cr&eacute;&eacute;e qui d&eacute;finit l'en-t&ecirc;te
	<code>CustomHeaderName</code> avec la valeur <code>two</code>.</li>
        <li><code class="directive">FilesMatch</code> ".*" s'applique, une nouvelle
	opportunit&eacute; de fusion survient, et l'en-t&ecirc;te <code>CustomHeaderName</code>
	est d&eacute;fini &agrave; la valeur <code>three</code>.</li>
        <li>Finalement, au cours des &eacute;tapes suivantes du traitement de la
	requ&ecirc;te HTTP, <code class="module"><a href="./mod/mod_headers.html">mod_headers</a></code> sera sollicit&eacute;, et il se
	basera sur la configuration qui a d&eacute;fini l'en-t&ecirc;te
	<code>CustomHeaderName</code> &agrave; 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&acirc;che, &agrave; savoir d&eacute;finir des en-t&ecirc;tes HTTP. Cela ne veut
	cependant pas dire qu'un module ne peut pas effectuer des actions plus
	complexes comme d&eacute;sactiver des directives car elle ne sont pas
	n&eacute;cessaires ou obsol&egrave;tes, etc.</li>
    </ul>

    <p>Ceci est aussi vrai pour les fichiers .htaccess car ils poss&egrave;dent la m&ecirc;me
    priorit&eacute; 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&eacute;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 &agrave; des
    niveaux diff&eacute;rents.
    </p>


<h3 id="merge-examples">Quelques exemples utiles</h3>

<p>Voici un exemple imaginaire qui montre l'ordre de combinaison des sections.
En supposant qu'elles s'appliquent toutes &agrave; la requ&ecirc;te, les directives de
cet exemple seront appliqu&eacute;es dans l'ordre suivant : A &gt; B &gt; C &gt; D &gt;
E.</p>

<pre class="prettyprint lang-config">&lt;Location "/"&gt;
    E
&lt;/Location&gt;

&lt;Files "f.html"&gt;
    D
&lt;/Files&gt;

&lt;VirtualHost *&gt;
   &lt;Directory "/a/b"&gt;
        B
   &lt;/Directory&gt;
&lt;/VirtualHost&gt;

&lt;DirectoryMatch "^.*b$"&gt;
    C
&lt;/DirectoryMatch&gt;

&lt;Directory "/a/b"&gt;
    A
&lt;/Directory&gt;</pre>


<p>Pour un exemple plus concret, consid&eacute;rez ce qui suit. Sans tenir compte
d'une quelconque restriction d'acc&egrave;s plac&eacute;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
&eacute;valu&eacute;e en dernier et permettra un acc&egrave;s au serveur sans aucune restriction.
En d'autres termes, l'ordre de la combinaison des sections est important&nbsp;;
soyez donc prudent&nbsp;!</p>

<pre class="prettyprint lang-config">&lt;Location "/"&gt;
    Require all granted
&lt;/Location&gt;

# Grrrr&nbsp;!  Cette section &lt;Directory&gt; n'aura aucun effet
&lt;Directory "/"&gt;
    &lt;RequireAll&gt;
        Require all granted
        Require not host badguy.example.com
    &lt;/RequireAll&gt;
&lt;/Directory&gt;</pre>




</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="./en/sections.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="./fr/sections.html" title="Fran&ccedil;ais">&nbsp;fr&nbsp;</a> |
<a href="./ja/sections.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/sections.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/sections.html" hreflang="tr" rel="alternate" title="T&uuml;rk&ccedil;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
<p class="apache">Copyright 2026 The Apache Software Foundation.<br>Autoris&eacute; sous <a href="https://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="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a> | <a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2">Signaler un bug</a></p></div><script><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
    prettyPrint();
}
var langToggle = document.querySelector('.lang-toggle');
var topLang = document.querySelector('.toplang');
if (langToggle && topLang) {
    langToggle.addEventListener('click', function() { topLang.classList.toggle('open'); });
}
var qv = document.getElementById('quickview');
if (qv) {
    document.body.appendChild(qv);
    var qvBtn = document.createElement('button');
    qvBtn.className = 'qv-toggle';
    qvBtn.setAttribute('aria-label', 'Toggle page navigation');
    qvBtn.innerHTML = '&#9776;';
    document.body.appendChild(qvBtn);
    qvBtn.addEventListener('click', function() {
        var isOpen = qv.classList.toggle('open');
        if (isOpen) {
            qv.style.top = window.scrollY + 10 + 'px';
        }
    });
    window.addEventListener('scroll', function() { qv.classList.remove('open'); });
}
//--><!]]></script>
</body></html>