github.com/krum110487/go-htaccess@v0.0.0-20240316004156-60641c8e7598/tests/data/apache_2_2_34/manual/sections.html.fr (about)

     1  <?xml version="1.0" encoding="ISO-8859-1"?>
     2  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
     3  <html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head>
     4  <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
     5  <!--
     6          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
     7                This file is generated from xml source: DO NOT EDIT
     8          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
     9        -->
    10  <title>Sections de configuration - Serveur Apache HTTP Version 2.2</title>
    11  <link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
    12  <link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
    13  <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" />
    14  <script src="./style/scripts/prettify.min.js" type="text/javascript">
    15  </script>
    16  
    17  <link href="./images/favicon.ico" rel="shortcut icon" /><link href="http://httpd.apache.org/docs/current/sections.html" rel="canonical" /></head>
    18  <body id="manual-page"><div id="page-header">
    19  <p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.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>
    20  <p class="apache">Serveur Apache HTTP Version 2.2</p>
    21  <img alt="" src="./images/feather.gif" /></div>
    22  <div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="./images/left.gif" /></a></div>
    23  <div id="path">
    24  <a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="./">Version 2.2</a></div><div id="page-content"><div class="retired"><h4>A savoir</h4>
    25              <p>Ce document concerne une version ancienne (<strong>2.2</strong>)
    26  	    du serveur HTTP Apache. La version actuelle est
    27  	    documentée <a href="http://httpd.apache.org/docs/current">ici</a>. Si vous n'avez
    28  	    pas encore effectué la mise è jour, veuillez suivre <a href="http://httpd.apache.org/docs/current/upgrading.html">ce
    29  	    lien</a> pour plus d'informations.</p>
    30          <p>Pour consulter la version actuelle de ce
    31  	document, vous pouvez suivre <a href="http://httpd.apache.org/docs/current/sections.html">ce lien</a>.</p></div><div id="preamble"><h1>Sections de configuration</h1>
    32  <div class="toplang">
    33  <p><span>Langues Disponibles: </span><a href="./en/sections.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    34  <a href="./fr/sections.html" title="Français">&nbsp;fr&nbsp;</a> |
    35  <a href="./ja/sections.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    36  <a href="./ko/sections.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    37  <a href="./tr/sections.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
    38  </div>
    39   <p>Les directives des <a href="configuring.html">fichiers de configuration</a> peuvent s'appliquer
    40  au serveur dans son ensemble, ou seulement à des répertoires, fichiers, hôtes,
    41  ou URLs particuliers.  Ce document décrit comment utiliser les conteneurs de
    42  sections de configuration ou les fichiers <code>.htaccess</code> pour
    43  modifier la portée des directives de configuration.</p>
    44  </div>
    45  <div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#types">Types de conteneurs de sections de
    46  configuration</a></li>
    47  <li><img alt="" src="./images/down.gif" /> <a href="#file-and-web">Système de fichiers et
    48  arborescence du site web</a></li>
    49  <li><img alt="" src="./images/down.gif" /> <a href="#virtualhost">Hôtes virtuels</a></li>
    50  <li><img alt="" src="./images/down.gif" /> <a href="#proxy">Mandataire</a></li>
    51  <li><img alt="" src="./images/down.gif" /> <a href="#whatwhere">Quelles sont les directives autorisées ?</a></li>
    52  <li><img alt="" src="./images/down.gif" /> <a href="#mergin">Comment les sections sont combinées entre elles</a></li>
    53  </ul><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div>
    54  <div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
    55  <div class="section">
    56  <h2><a name="types" id="types">Types de conteneurs de sections de
    57  configuration</a></h2>
    58  
    59  <table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparenté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#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_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>
    60  
    61  <p>Il existe deux grands types de conteneurs.  La plupart des conteneurs sont
    62  évalués pour chaque requête.  Les directives qu'ils contiennent s'appliquent
    63  seulement aux requêtes qui sont concernées par le conteneur.  En revanche,
    64  les conteneurs
    65  <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
    66  <code class="directive"><a href="./mod/mod_version.html#ifversion">&lt;IfVersion&gt;</a></code> sont
    67  évalués seulement au démarrage et au redémarrage du serveur.
    68  Si leurs conditions sont vérifiées au démarrage, les directives qu'ils contiennent
    69  s'appliqueront à toutes les requêtes.  Si leurs conditions ne sont pas vérifiées, les
    70  directives qu'ils contiennent seront ignorées.</p>
    71  
    72  <p>Le conteneur <code class="directive"><a href="./mod/core.html#ifdefine">&lt;IfDefine&gt;</a></code>
    73  contient des directives qui ne seront appliquées que si un paramètre
    74  approprié a été défini dans la ligne de commande de <code class="program"><a href="./programs/httpd.html">httpd</a></code>.
    75  Par exemple,
    76  avec la configuration suivante, toutes les requêtes seront redirigées vers
    77  un autre site si le serveur est démarré en utilisant la ligne de commande :
    78  <code>httpd -DClosedForNow</code>:</p>
    79  
    80  <pre class="prettyprint lang-config">&lt;IfDefine ClosedForNow&gt;
    81      Redirect / http://otherserver.example.com/
    82  &lt;/IfDefine&gt;</pre>
    83  
    84  
    85  <p>Le conteneur <code class="directive"><a href="./mod/core.html#ifmodule">&lt;IfModule&gt;</a></code>
    86  est similaire; les directives qu'il contient ne s'appliqueront que si
    87  un module particulier est disponible au niveau du serveur.
    88  Le module doit être soit compilé statiquement dans le serveur, soit
    89  dynamiquement et dans ce cas, la ligne <code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code> correspondante doit apparaître
    90  plus haut dans le fichier de configuration.  Ce conteneur ne doit être
    91  utilisé que dans le cas où votre fichier de configuration doit fonctionner
    92  indépendamment de la présence ou de l'absence de certains modules.
    93  Il ne doit pas contenir de directives que vous souhaitez voir s'appliquer
    94  systématiquement, car vous pouvez perdre ainsi de précieux messages d'erreur
    95  à propos de modules manquants.</p>
    96  
    97  <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
    98  module <code class="module"><a href="./mod/mod_mime_magic.html">mod_mime_magic</a></code> est disponible.</p>
    99  
   100  <pre class="prettyprint lang-config">&lt;IfModule mod_mime_magic.c&gt;
   101      MimeMagicFile conf/magic
   102  &lt;/IfModule&gt;</pre>
   103  
   104  
   105  <p>Le conteneur
   106  <code class="directive"><a href="./mod/mod_version.html#ifversion">&lt;IfVersion&gt;</a></code>
   107  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>; les directives qu'il contient ne
   108  s'appliqueront que si une version particulière du serveur s'exécute.  Ce
   109  conteneur a été conçu pour une utilisation dans les suites de tests
   110  et les grands réseaux qui doivent prendre en compte différentes versions
   111  et configurations de httpd.</p>
   112  
   113  <pre class="prettyprint lang-config">&lt;IfVersion &gt;= 2.1&gt;
   114      # les directives situées ici ne s'appliquent que si la version
   115      # est supérieure ou égale à 2.1.0.
   116  &lt;/IfVersion&gt;</pre>
   117  
   118  
   119  <p><code class="directive"><a href="./mod/core.html#ifdefine">&lt;IfDefine&gt;</a></code>,
   120  <code class="directive"><a href="./mod/core.html#ifmodule">&lt;IfModule&gt;</a></code>, et
   121  <code class="directive"><a href="./mod/mod_version.html#ifversion">&lt;IfVersion&gt;</a></code>
   122  peuvent inverser leur test conditionnel en le faisant précéder d'un "!".
   123  De plus, ces sections peuvent être imbriquées afin de définir des restrictions
   124  plus complexes.</p>
   125  </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
   126  <div class="section">
   127  <h2><a name="file-and-web" id="file-and-web">Système de fichiers et
   128  arborescence du site web</a></h2>
   129  
   130  <p>Les conteneurs de sections de configuration les plus couramment utilisés
   131  sont ceux qui modifient la configuration de points particuliers du système de
   132  fichiers ou de l'arborescence du site web.  Tout d'abord, il est important de
   133  comprendre la différence entre les deux.  Le système de fichiers est une vue
   134  de vos disques tels qu'ils sont perçus par votre système d'exploitation.
   135  Par exemple, avec une installation par défaut,
   136  Apache est situé dans <code>/usr/local/apache2</code> pour le système de
   137  fichiers UNIX, ou <code>"c:/Program Files/Apache Group/Apache2"</code> pour
   138  le système de fichiers Windows.  (Notez que des slashes directs doivent
   139  toujours être utilisés comme séparateur de chemin dans Apache, même sous
   140  Windows.)  Quant à
   141  l'arborescence du site web, il s'agit d'une vue de votre site
   142  tel que présenté par le
   143  serveur web et perçue par le client.  Ainsi le chemin <code>/dir/</code> dans
   144  l'arborescence du site web correspond au chemin
   145  <code>/usr/local/apache2/htdocs/dir/</code> dans le système de fichiers pour
   146  une installation d'Apache par défaut sous UNIX.
   147  En outre, l'arborescence du site web n'a pas besoin de correspondre en permanence au
   148  système de fichiers, car les pages web peuvent être générées dynamiquement
   149  à partir de bases de données ou d'autres emplacements.</p>
   150  
   151  <h3><a name="filesystem" id="filesystem">Conteneurs de système de fichiers</a></h3>
   152  
   153  <p>Les conteneurs <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code>
   154  et <code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code>,
   155  ainsi que leurs équivalents acceptant les
   156  <a class="glossarylink" href="./glossary.html#regex" title="voir glossaire">expressions rationnelles</a>,
   157  appliquent des directives à certaines parties du système de fichiers.
   158  Les directives contenues dans une section <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> s'appliquent au répertoire
   159  précisé, ainsi qu'à tous ses sous-répertoires et aux fichiers que ces
   160  derniers contiennent.
   161  Le même effet peut être obtenu en utilisant les <a href="howto/htaccess.html">fichiers .htaccess</a>.  Par exemple, avec la
   162  configuration suivante, l'indexation sera activée pour le répertoire
   163  <code>/var/web/dir1</code> et tous ses sous-répertoires.</p>
   164  
   165  <pre class="prettyprint lang-config">&lt;Directory /var/web/dir1&gt;
   166      Options +Indexes
   167  &lt;/Directory&gt;</pre>
   168  
   169  
   170  <p>Les directives contenues dans une section <code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code> s'appliquent à tout fichier
   171  avec le nom spécifié, quel que soit le répertoire dans lequel il se trouve.
   172  Ainsi par exemple, les directives de configuration suivantes, si elles sont
   173  placées dans la section principale du fichier de configuration, vont interdire
   174  l'accès à tout fichier nommé <code>private.html</code> quel que soit
   175  l'endroit où il se trouve.</p>
   176  
   177  <pre class="prettyprint lang-config">&lt;Files private.html&gt;
   178      Order allow,deny
   179      Deny from all
   180  &lt;/Files&gt;</pre>
   181  
   182  
   183  <p>Pour faire référence à des fichiers qui se trouvent en des points
   184  particuliers du système de fichiers, les sections
   185  <code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code> et
   186  <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code>
   187  peuvent être combinées.  Par exemple, la configuration suivante va interdire
   188  l'accès à <code>/var/web/dir1/private.html</code>,
   189  <code>/var/web/dir1/subdir2/private.html</code>,
   190  <code>/var/web/dir1/subdir3/private.html</code>, ainsi que toute instance de
   191  <code>private.html</code> qui se trouve dans l'arborescence
   192  <code>/var/web/dir1/</code>.</p>
   193  
   194  <pre class="prettyprint lang-config">&lt;Directory /var/web/dir1&gt;
   195      &lt;Files private.html&gt;
   196          Order allow,deny
   197          Deny from all
   198      &lt;/Files&gt;
   199  &lt;/Directory&gt;</pre>
   200  
   201  
   202  
   203  <h3><a name="webspace" id="webspace">Conteneurs de l'arborescence du site web</a></h3>
   204  
   205  <p>le conteneur <code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code>
   206  et son équivalent acceptant les
   207  <a class="glossarylink" href="./glossary.html#regex" title="voir glossaire">expressions rationnelles</a>, modifient quant à eux la
   208  configuration de parties de l'arborescence du site web.  Par exemple, la
   209  configuration suivante interdit l'accès à toute URL dont la partie chemin
   210  commence par /private.
   211  En particulier, l'interdiction s'appliquera aux requêtes pour :
   212  <code>http://yoursite.example.com/private</code>,
   213  <code>http://yoursite.example.com/private123</code>, et
   214  <code>http://yoursite.example.com/private/dir/file.html</code> ainsi qu'à
   215  toute requête commençant par la chaîne de caractères <code>/private</code>.</p>
   216  
   217  <pre class="prettyprint lang-config">&lt;LocationMatch ^/private&gt;
   218      Order Allow,Deny
   219      Deny from all
   220  &lt;/LocationMatch&gt;</pre>
   221  
   222  
   223  <p>Le conteneur <code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code>
   224  n'a pas besoin de faire référence à un élément du système de fichiers.
   225  Par exemple, l'exemple suivant montre comment faire référence à une URL
   226  particulière vers un gestionnaire interne d'Apache fourni par le module
   227  <code class="module"><a href="./mod/mod_status.html">mod_status</a></code>.
   228  Il n'est pas nécessaire de trouver un fichier nommé <code>server-status</code>
   229  dans le système de fichiers.</p>
   230  
   231  <pre class="prettyprint lang-config">&lt;Location /server-status&gt;
   232      SetHandler server-status
   233  &lt;/Location&gt;</pre>
   234  
   235  
   236  
   237  <h3><a name="wildcards" id="wildcards">Caractères de remplacement
   238  et expressions rationnelles</a></h3>
   239  
   240  <p>Les conteneurs
   241  <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code>,
   242  <code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code>, et
   243  <code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code>
   244  peuvent utiliser des caractères de remplacement de style shell comme dans
   245  la fonction <code>fnmatch</code> de la bibliothèque C standard.
   246  Le caractère "*"
   247  correspond à toute séquence de caractères, "?" à un caractère seul,
   248  et "[<em>seq</em>]" à tout caractère contenu dans <em>seq</em>.
   249  Le caractère "/"
   250  ne peut pas faire l'objet d'un remplacement;
   251  il doit être spécifié explicitement.</p>
   252  
   253  <p>Si une définition des critères de correspondance
   254  encore plus souple est nécessaire, chaque conteneur
   255  possède son équivalent acceptant les expressions rationnelles : <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
   256  <a class="glossarylink" href="./glossary.html#regex" title="voir glossaire">expressions rationnelles</a> compatibles Perl
   257  pour définir les critères de correspondance.  Mais voyez plus loin la section
   258  à propos de la combinaison des sections de configuration
   259  pour comprendre comment l'utilisation de
   260  conteneurs avec des expressions rationnelles va modifier la manière
   261  dont les directives sont appliquées.</p>
   262  
   263  <p>Un conteneur qui modifie la configuration de tous les
   264  répertoires utilisateurs à l'aide de caractères de remplacement
   265  mais sans utiliser
   266  les expressions rationnelles pourrait ressembler à ceci :</p>
   267  
   268  <pre class="prettyprint lang-config">&lt;Directory /home/*/public_html&gt;
   269      Options Indexes
   270  &lt;/Directory&gt;</pre>
   271  
   272  
   273  <p>Avec les conteneurs utilisant les expressions rationnelles,
   274  on peut interdire l'accès à de nombreux types de fichiers d'images
   275  simultanément :</p>
   276  <pre class="prettyprint lang-config">&lt;FilesMatch \.(?i:gif|jpe?g|png)$&gt;
   277      Order allow,deny
   278      Deny from all
   279  &lt;/FilesMatch&gt;</pre>
   280  
   281  
   282  
   283  
   284  <h3><a name="whichwhen" id="whichwhen">Que faut-il utiliser et quand ?</a></h3>
   285  
   286  <p>Choisir entre des conteneurs de système de fichiers et des conteneurs
   287  d'arborescence du site web est vraiment très simple.
   288  Pour appliquer des directives à des objets qui résident dans le système de
   289  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 à des objets
   290  qui ne résident pas dans le système de fichiers (comme une page web générée
   291  par une base de données), utilisez un conteneur <code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code>.</p>
   292  
   293  <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ès à des
   294  objets du système de fichiers, car plusieurs localisations de
   295  l'arborescence du site web (URLs) peuvent correspondre à la même localisation
   296  du système de fichier, ce qui peut permettre de contourner vos restrictions.
   297  Par exemple, imaginez la configuration suivante :</p>
   298  
   299  <pre class="prettyprint lang-config">&lt;Location /dir/&gt;
   300      Order allow,deny
   301      Deny from all
   302  &lt;/Location&gt;</pre>
   303  
   304  
   305  <p>Elle fonctionne correctement si la requête appelle
   306  <code>http://yoursite.example.com/dir/</code>.  Mais que va-t-il se passer si
   307  votre système de fichiers est insensible à la casse ?
   308  Votre restriction va pouvoir être tout simplement contournée en envoyant une
   309  requête sur
   310  <code>http://yoursite.example.com/DIR/</code>.  Le conteneur <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code>, quant à lui, s'appliquera
   311  à tout contenu servi à partir de cette localisation,
   312  sans tenir compte de la manière dont il est appelé.
   313  (Les liens du système de fichiers constituent une exception.
   314  Le même répertoire peut être placé dans plusieurs parties du système de
   315  fichiers en utilisant des liens symboliques.  Le conteneur
   316  <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> va suivre le
   317  lien symbolique sans modifier le nom du chemin.  Par conséquent, pour plus de
   318  sécurité, les liens symboliques doivent être désactivés à l'aide de la
   319  directive
   320  <code class="directive"><a href="./mod/core.html#options">Options</a></code> appropriée.)</p>
   321  
   322  <p>Si vous pensez que vous n'êtes pas concerné par ce problème
   323  parceque vous utilisez un système de fichiers sensible à la casse,
   324  gardez à l'esprit qu'il y a de nombreuses autres manières pour faire
   325  correspondre plusieurs localisations de l'arborescence du site web à la même
   326  localisation du système de fichiers.  C'est pourquoi vous devez autant que
   327  possible toujours utiliser les conteneurs de système de fichiers.
   328  Il y a cependant une exception à cette règle.  Placer des restrictions de
   329  configuration dans un conteneur <code>&lt;Location
   330  /&gt;</code> est tout à fait sans rique car ce conteneur va s'appliquer à
   331  toutes les requêtes sans tenir compte de l'URL spécifique.</p>
   332  
   333  
   334  </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
   335  <div class="section">
   336  <h2><a name="virtualhost" id="virtualhost">Hôtes virtuels</a></h2>
   337  
   338  <p>Le conteneur <code class="directive"><a href="./mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
   339  contient des directives qui s'appliquent à des hôtes spécifiques.
   340  Ceci s'avère utile pour servir des hôtes multiples à partir de la même machine,
   341  chacun d'entre eux possédant une configuration différente.  Pour de plus amples
   342  informations,
   343  voir la <a href="vhosts/">Documentation sur les hôtes virtuels</a>.</p>
   344  </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
   345  <div class="section">
   346  <h2><a name="proxy" id="proxy">Mandataire</a></h2>
   347  
   348  <p>Les conteneurs
   349  <code class="directive"><a href="./mod/mod_proxy.html#proxy">&lt;Proxy&gt;</a></code>
   350  et <code class="directive"><a href="./mod/mod_proxy.html#proxymatch">&lt;ProxyMatch&gt;</a></code>
   351  appliquent les directives de configuration qu'ils contiennent uniquement aux
   352  sites qui correspondent à l'URL spécifiée et auxquels on a
   353  accédé via le serveur mandataire du module <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code>.
   354  Par exemple, la configuration suivante n'autorisera l'accès au site web
   355  <code>www.example.com</code> via le serveur mandataire qu'à un sous-ensemble de
   356  clients :</p>
   357  
   358  <pre class="prettyprint lang-config">&lt;Proxy "http://www.example.com/*"&gt;
   359      Order allow,deny
   360      Allow from 192.168.1.104 192.168.1.205
   361      Deny from all
   362  &lt;/Proxy&gt;</pre>
   363  
   364  </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
   365  <div class="section">
   366  <h2><a name="whatwhere" id="whatwhere">Quelles sont les directives autorisées ?</a></h2>
   367  
   368  <p>Pour déterminer quelles sont les directives autorisées pour tel type de
   369  section de configuration, vérifiez le <a href="mod/directive-dict.html#Context">Contexte</a> de la directive.
   370  Tout ce qui est autorisé dans les sections
   371  <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code>
   372  l'est aussi d'un point de vue syntaxique dans les sections
   373  <code class="directive"><a href="./mod/core.html#directorymatch">&lt;DirectoryMatch&gt;</a></code>,
   374  <code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code>,
   375  <code class="directive"><a href="./mod/core.html#filesmatch">&lt;FilesMatch&gt;</a></code>,
   376  <code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code>,
   377  <code class="directive"><a href="./mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code>,
   378  <code class="directive"><a href="./mod/mod_proxy.html#proxy">&lt;Proxy&gt;</a></code>,
   379  et <code class="directive"><a href="./mod/mod_proxy.html#proxymatch">&lt;ProxyMatch&gt;</a></code>.
   380  Il y a cependant quelques exceptions :</p>
   381  
   382  <ul>
   383  <li>La directive <code class="directive"><a href="./mod/core.html#allowoverride">AllowOverride</a></code>
   384  ne fonctionne que dans les sections
   385  <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code>.</li>
   386  
   387  <li>Les <code class="directive"><a href="./mod/core.html#options">Options</a></code> <code>FollowSymLinks</code> et
   388  <code>SymLinksIfOwnerMatch</code>  ne fonctionnent que dans les sections
   389  <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> ou les fichiers
   390  <code>.htaccess</code>.</li>
   391  
   392  <li>La directive <code class="directive"><a href="./mod/core.html#options">Options</a></code> ne peut pas être
   393  utilisée dans les sections
   394  <code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code>
   395  et <code class="directive"><a href="./mod/core.html#filesmatch">&lt;FilesMatch&gt;</a></code>.</li>
   396  </ul>
   397  </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
   398  <div class="section">
   399  <h2><a name="mergin" id="mergin">Comment les sections sont combinées entre elles</a></h2>
   400  
   401  <p>Les sections de configuration sont appliquées dans un ordre très particulier.
   402  Il est important de savoir comment cet ordre est défini car il peut avoir
   403  des effets importants sur la manière dont les directives de configuration
   404  sont interprétées.</p>
   405  
   406      <p>L'ordre dans lequel les sections sont combinées est :</p>
   407  
   408      <ol>
   409        <li> Les sections <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> (à l'exception des
   410        expressions rationnelles)
   411        et les fichiers <code>.htaccess</code> sont appliqués simultanément (avec
   412        la possibilité pour <code>.htaccess</code>, s'il y est autorisé, de
   413        prévaloir sur
   414        <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code>)</li>
   415  
   416        <li>Les sections
   417        <code class="directive"><a href="./mod/core.html#directorymatch">&lt;DirectoryMatch&gt;</a></code>
   418        (et <code>&lt;Directory ~&gt;</code>)</li>
   419  
   420        <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ées
   421        simultanément</li>
   422  
   423        <li>Les sections
   424        <code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code>
   425        et <code class="directive"><a href="./mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code> sont appliquées
   426        simultanément</li>
   427      </ol>
   428  
   429      <p>Mises à part les sections <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code>, chaque groupe est traité selon
   430      l'ordre dans lequel il apparaît dans les fichiers de configuration.
   431      Les sections <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> (groupe 1 ci-dessus)
   432      sont traitées dans l'ordre du répertoire le plus court vers le plus long.
   433      Par exemple, <code>&lt;Directory /var/web/dir&gt;</code> sera
   434      traité avant <code>&lt;Directory
   435      /var/web/dir/subdir&gt;</code>.  Si plusieurs sections <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> s'appliquent au même
   436      répertoire, elles sont traitées selon l'ordre dans lequel elles
   437      apparaissent dans le fichier de configuration.
   438      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
   439      trouvaient réellement dans le fichier qui les inclut à la position de la
   440      directive
   441      <code class="directive"><a href="./mod/core.html#include">Include</a></code>.</p>
   442  
   443      <p>Les sections situées à l'intérieur de sections <code class="directive"><a href="./mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
   444      sont appliquées <em>après</em> les sections correspondantes situées en
   445      dehors de la définition de l'hôte virtuel, ce qui permet à l'hôte virtuel
   446      de prévaloir sur la configuration du serveur principal.</p>
   447  
   448      <p>Quand la requête est servie par le module <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code>,
   449      le conteneur <code class="directive"><a href="./mod/mod_proxy.html#proxy">&lt;Proxy&gt;</a></code>
   450      prend la place du conteneur <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> dans l'ordre de traitement.</p>
   451  
   452  <div class="note"><h3>Note technique</h3>
   453  	Une séquence
   454  	<code>&lt;Location&gt;</code>/<code>&lt;LocationMatch&gt;</code>
   455  	est réellement traitée juste avant la phase de traduction du nom
   456  	(où <code>Aliases</code> et <code>DocumentRoots</code>
   457        sont utilisés pour faire correspondre les URLs aux noms de fichiers).
   458        Les effets de cette séquence disparaissent totalement lorsque
   459        la traduction est terminée.
   460  </div>
   461  
   462  <h3><a name="relationship-module-configuration" id="relationship-module-configuration">Interactions entre
   463  modules et sections de configuration</a></h3>
   464      <p>Une question se pose souvent après avoir lu comment les sections de
   465      configuration sont fusionnées : comment et quand les directives de modules
   466      particuliers comme <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> sont-elles interprétées ? La
   467      réponse n'est pas triviale et nécessite un approfondissement. Chaque module
   468      httpd gère sa propre configuration, et chacune de ses directives dans
   469      httpd.conf définit un élément de configuration dans un contexte particulier.
   470      httpd n'exécute pas un commande au moment où elle est lue.</p>
   471      <p>A l'exécution, le noyau de httpd parcours les sections de configuration
   472      dans l'ordre décrit ci-dessus afin de déterminer lesquelles s'appliquent à
   473      la requête courante. Lorsqu'une première section s'applique, elle est
   474      considérée comme la configuration courante pour cette requête. Si une
   475      section suivante s'applique aussi, chaque module qui possède des directives
   476      dans chacune de ces sections a la possibilité de fusionner sa configuration
   477      entre ces deux sections. Il en résulte une troisième configuration et le
   478      processus de fusion se poursuit jusqu'à ce que toutes les sections de
   479      configuration aient été évaluées.</p>
   480      <p>Après l'étape précédente, le traitement proprement dit de la requête HTTP
   481      peut commencer : chaque module peut effectuer toute tâche qui lui incombe,
   482      et pour déterminer de quelle manière dont il doit agir, il peut s'appuyer
   483      sur le noyau de httpd pour retrouver sa configuration globale issue de la
   484      fusion précédente.</p>
   485      <p>Un exemple permet de mieux visualiser l'ensemble du processus. la
   486      configuration suivante utilise la directive <code class="directive"><a href="./mod/mod_headers.html#header">Header</a></code> du module
   487      <code class="module"><a href="./mod/mod_headers.html">mod_headers</a></code> pour définir un en-tête HTTP spécifique. Quelle
   488      valeur httpd va-t-il affecter à l'en-tête <code>CustomHeaderName</code> pour
   489      une requête vers <code>/example/index.html</code> ?
   490      </p>
   491      <pre class="prettyprint lang-config">&lt;Directory "/"&gt;
   492      Header set CustomHeaderName one
   493      &lt;FilesMatch ".*"&gt;
   494          Header set CustomHeaderName three
   495      &lt;/FilesMatch&gt;
   496  &lt;/Directory&gt;
   497  
   498  &lt;Directory "/example"&gt;
   499      Header set CustomHeaderName two
   500  &lt;/Directory&gt;</pre>
   501      
   502      <ul>
   503          <li><code class="directive">Directory</code> "/" s'applique, et une configuration
   504  	initiale est créée qui définit l'en-tête <code>CustomHeaderName</code>
   505  	avec la valeur <code>one</code>.</li>
   506          <li><code class="directive">Directory</code> "/example" s'applique, et comme
   507  	<code class="module"><a href="./mod/mod_headers.html">mod_headers</a></code> spécifie dans son code que
   508  	la valeur d'un en-tête doit être écrasée si ce dernier est défini à
   509  	nouveau, une nouvelle configuration est créée qui définit l'en-tête
   510  	<code>CustomHeaderName</code> avec la valeur <code>two</code>.</li>
   511          <li><code class="directive">FilesMatch</code> ".*" s'applique, une nouvelle
   512  	opportunité de fusion surgit, et l'en-tête <code>CustomHeaderName</code>
   513  	est défini à la valeur <code>three</code>.</li>
   514          <li>Finalement, au cours des étapes suivantes du traitement de la
   515  	requête HTTP, <code class="module"><a href="./mod/mod_headers.html">mod_headers</a></code> sera sollicité, et il se
   516  	basera sur la configuration qui a défini l'en-tête
   517  	<code>CustomHeaderName</code> à la valeur <code>three</code>.
   518  	<code class="module"><a href="./mod/mod_headers.html">mod_headers</a></code> utilise normalement cette configuration pour
   519  	accomplir sa tâche, à savoir définir des en-têtes HTTP. Cela ne veut
   520  	cependant pas dire qu'un module ne peut pas effectuer des actions plus
   521  	complexes comme désactiver des directives car elle ne sont pas
   522  	nécessaires ou obsolètes, etc...</li>
   523      </ul>
   524  
   525      <p>Ceci est aussi vrai pour les fichiers .htaccess car ils possèdent la même
   526      priorité que les sections <code class="directive">Directory</code> dans l'ordre de
   527      fusion. Il faut bien comprendre que les sections de configuration comme
   528      <code class="directive">Directory</code> et <code class="directive">FilesMatch</code> ne
   529      sont pas comparables avec les directives spécifiques de modules comme
   530      <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
   531      niveaux différents.
   532      </p>
   533  
   534  
   535  <h3><a name="merge-examples" id="merge-examples">Quelques exemples</a></h3>
   536  
   537  <p>Voici un exemple imaginaire qui montre l'ordre de combinaison des sections.
   538  En supposant qu'elles s'appliquent toutes à la requête, les directives de
   539  cet exemple seront appliquées dans l'ordre suivant : A &gt; B &gt; C &gt; D &gt;
   540  E.</p>
   541  
   542  <pre class="prettyprint lang-config">&lt;Location "/"&gt;
   543      E
   544  &lt;/Location&gt;
   545  
   546  &lt;Files "f.html"&gt;
   547      D
   548  &lt;/Files&gt;
   549  
   550  &lt;VirtualHost *&gt;
   551  &lt;Directory "/a/b"&gt;
   552      B
   553  &lt;/Directory&gt;
   554  &lt;/VirtualHost&gt;
   555  
   556  &lt;DirectoryMatch "^.*b$"&gt;
   557      C
   558  &lt;/DirectoryMatch&gt;
   559  
   560  &lt;Directory "/a/b"&gt;
   561      A
   562  &lt;/Directory&gt;</pre>
   563  
   564  
   565  <p>Pour un exemple plus concret, considérez ce qui suit.  Sans tenir compte
   566  de toute restriction d'accès placé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
   567  évaluée en dernier et permettra un accès au serveur sans aucune restriction.
   568  En d'autres termes, l'ordre de la combinaison des sections est important,
   569  soyez donc prudent !</p>
   570  
   571  <pre class="prettyprint lang-config">&lt;Location "/"&gt;
   572      Require all granted
   573  &lt;/Location&gt;
   574  # Arrghs!  Cette section &lt;Directory&gt; n'aura aucun effet
   575  &lt;Directory "/"&gt;
   576      &lt;RequireAll&gt;
   577          Require all granted
   578          Require not host badguy.example.com
   579      &lt;/RequireAll&gt;
   580  &lt;/Directory&gt;</pre>
   581  
   582  
   583  
   584  
   585  </div></div>
   586  <div class="bottomlang">
   587  <p><span>Langues Disponibles: </span><a href="./en/sections.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
   588  <a href="./fr/sections.html" title="Français">&nbsp;fr&nbsp;</a> |
   589  <a href="./ja/sections.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
   590  <a href="./ko/sections.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
   591  <a href="./tr/sections.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
   592  </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&amp;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>
   593  <script type="text/javascript"><!--//--><![CDATA[//><!--
   594  var comments_shortname = 'httpd';
   595  var comments_identifier = 'http://httpd.apache.org/docs/2.2/sections.html';
   596  (function(w, d) {
   597      if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
   598          d.write('<div id="comments_thread"><\/div>');
   599          var s = d.createElement('script');
   600          s.type = 'text/javascript';
   601          s.async = true;
   602          s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
   603          (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
   604      }
   605      else { 
   606          d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
   607      }
   608  })(window, document);
   609  //--><!]]></script></div><div id="footer">
   610  <p class="apache">Copyright 2017 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
   611  <p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.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[//><!--
   612  if (typeof(prettyPrint) !== 'undefined') {
   613      prettyPrint();
   614  }
   615  //--><!]]></script>
   616  </body></html>