mirror of
https://github.com/apache/httpd.git
synced 2025-07-08 20:42:01 +03:00
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1741769 13f79535-47bb-0310-9956-ffa450edef68
666 lines
40 KiB
Plaintext
666 lines
40 KiB
Plaintext
<?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>
|
||
<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 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 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/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.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<61>ais"> fr </a> |
|
||
<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<72>e"> tr </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 <20> des r<>pertoires, fichiers, h<>tes,
|
||
ou URLs particuliers. Ce document d<>crit comment utiliser les conteneurs de
|
||
sections de configuration ou les fichiers <code>.htaccess</code> pour
|
||
modifier la port<72>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<73>me de fichiers,
|
||
arborescence du site web et expressions bool<6F>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<69>es ?</a></li>
|
||
<li><img alt="" src="./images/down.gif" /> <a href="#merging">Comment les sections sont combin<69>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
|
||
configuration</a></h2>
|
||
|
||
<table class="related"><tr><th>Modules Apparent<6E>s</th><th>Directives Apparent<6E>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"><Directory></a></code></li><li><code class="directive"><a href="./mod/core.html#directorymatch"><DirectoryMatch></a></code></li><li><code class="directive"><a href="./mod/core.html#files"><Files></a></code></li><li><code class="directive"><a href="./mod/core.html#filesmatch"><FilesMatch></a></code></li><li><code class="directive"><a href="./mod/core.html#if"><If></a></code></li><li><code class="directive"><a href="./mod/core.html#ifdefine"><IfDefine></a></code></li><li><code class="directive"><a href="./mod/core.html#ifmodule"><IfModule></a></code></li><li><code class="directive"><a href="./mod/mod_version.html#ifversion"><IfVersion></a></code></li><li><code class="directive"><a href="./mod/core.html#location"><Location></a></code></li><li><code class="directive"><a href="./mod/core.html#locationmatch"><LocationMatch></a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxy"><Proxy></a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxymatch"><ProxyMatch></a></code></li><li><code class="directive"><a href="./mod/core.html#virtualhost"><VirtualHost></a></code></li></ul></td></tr></table>
|
||
|
||
<p>Il existe deux grands types de conteneurs. La plupart des conteneurs sont
|
||
<EFBFBD>valu<EFBFBD>s pour chaque requ<71>te. Les directives qu'ils contiennent s'appliquent
|
||
seulement aux requ<71>tes qui sont concern<72>es par le conteneur. En revanche,
|
||
les conteneurs
|
||
<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
|
||
<code class="directive"><a href="./mod/mod_version.html#ifversion"><IfVersion></a></code> sont
|
||
<EFBFBD>valu<EFBFBD>s seulement au d<>marrage et au red<65>marrage du serveur.
|
||
Si leurs conditions sont v<>rifi<66>es au d<>marrage, les directives qu'ils contiennent
|
||
s'appliqueront <20> toutes les requ<71>tes. Si leurs conditions ne sont pas v<>rifi<66>es, les
|
||
directives qu'ils contiennent seront ignor<6F>es.</p>
|
||
|
||
<p>Le conteneur <code class="directive"><a href="./mod/core.html#ifdefine"><IfDefine></a></code>
|
||
contient des directives qui ne seront appliqu<71>es que si un param<61>tre
|
||
appropri<EFBFBD> a <20>t<EFBFBD> d<>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<71>tes seront redirig<69>es vers
|
||
un autre site si le serveur est d<>marr<72> en utilisant la ligne de commande :
|
||
<code>httpd -DClosedForNow</code>:</p>
|
||
|
||
<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
|
||
un module particulier est disponible au niveau du serveur.
|
||
Le module doit <20>tre soit compil<69> 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<72>tre
|
||
plus haut dans le fichier de configuration. Ce conteneur ne doit <20>tre
|
||
utilis<EFBFBD> que dans le cas o<> votre fichier de configuration doit fonctionner
|
||
ind<EFBFBD>pendamment de la pr<70>sence ou de l'absence de certains modules.
|
||
Il ne doit pas contenir de directives que vous souhaitez voir s'appliquer
|
||
syst<EFBFBD>matiquement, car vous pouvez perdre ainsi de pr<70>cieux messages d'erreur
|
||
<EFBFBD> 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"><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>
|
||
est similaire aux conteneurs <code class="directive"><a href="./mod/core.html#ifdefine"><IfDefine></a></code> et <code class="directive"><a href="./mod/core.html#ifmodule"><IfModule></a></code>; les directives qu'il contient ne
|
||
s'appliqueront que si une version particuli<6C>re du serveur s'ex<65>cute. Ce
|
||
conteneur a <20>t<EFBFBD> con<6F>u pour une utilisation dans les suites de tests
|
||
et les grands r<>seaux qui doivent prendre en compte diff<66>rentes versions
|
||
et configurations de httpd.</p>
|
||
|
||
<pre class="prettyprint lang-config"><IfVersion >= 2.4>
|
||
# les directives situ<74>es ici ne s'appliquent que si la version <br />
|
||
# est sup<75>rieure ou <20>gale <20> 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
|
||
<code class="directive"><a href="./mod/mod_version.html#ifversion"><IfVersion></a></code>
|
||
peuvent inverser leur test conditionnel en le faisant pr<70>c<EFBFBD>der d'un "!".
|
||
De plus, ces sections peuvent <20>tre imbriqu<71>es afin de d<>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><a name="file-and-web" id="file-and-web">Syst<73>me de fichiers,
|
||
arborescence du site web et expressions bool<6F>ennes</a></h2>
|
||
|
||
<p>Les conteneurs de sections de configuration les plus couramment utilis<69>s
|
||
sont ceux qui modifient la configuration de points particuliers du syst<73>me de
|
||
fichiers ou de l'arborescence du site web. Tout d'abord, il est important de
|
||
comprendre la diff<66>rence entre les deux. Le syst<73>me de fichiers est une vue
|
||
de vos disques tels qu'ils sont per<65>us par votre syst<73>me d'exploitation.
|
||
Par exemple, avec une installation par d<>faut,
|
||
Apache httpd est situ<74> dans <code>/usr/local/apache2</code> pour le syst<73>me de
|
||
fichiers UNIX, ou <code>"c:/Program Files/Apache Group/Apache2"</code> pour
|
||
le syst<73>me de fichiers Windows. (Notez que des slashes directs doivent
|
||
toujours <20>tre utilis<69>s comme s<>parateur de chemin
|
||
dans les fichiers de configuration d'Apache httpd, m<>me sous
|
||
Windows.) Quant <20>
|
||
l'arborescence du site web, il s'agit d'une vue de votre site
|
||
tel que pr<70>sent<6E> par le
|
||
serveur web et per<65>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<73>me de fichiers pour
|
||
une installation d'Apache httpd par d<>faut sous UNIX.
|
||
En outre, l'arborescence du site web n'a pas besoin de correspondre en permanence au
|
||
syst<EFBFBD>me de fichiers, car les pages web peuvent <20>tre g<>n<EFBFBD>r<EFBFBD>es dynamiquement
|
||
<EFBFBD> partir de bases de donn<6E>es ou d'autres emplacements.</p>
|
||
|
||
<h3><a name="filesystem" id="filesystem">Conteneurs de syst<73>me de fichiers</a></h3>
|
||
|
||
<p>Les conteneurs <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code>
|
||
et <code class="directive"><a href="./mod/core.html#files"><Files></a></code>,
|
||
ainsi que leurs <20>quivalents acceptant les
|
||
<a class="glossarylink" href="./glossary.html#regex" title="voir glossaire">expressions rationnelles</a>,
|
||
appliquent des directives <20> certaines parties du syst<73>me de fichiers.
|
||
Les directives contenues dans une section <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code> s'appliquent au r<>pertoire
|
||
pr<EFBFBD>cis<EFBFBD>, ainsi qu'<27> tous ses sous-r<>pertoires et aux fichiers que ces
|
||
derniers contiennent.
|
||
Le m<>me effet peut <20>tre obtenu en utilisant les <a href="howto/htaccess.html">fichiers .htaccess</a>. Par exemple, avec la
|
||
configuration suivante, l'indexation sera activ<69>e pour le r<>pertoire
|
||
<code>/var/web/dir1</code> et tous ses sous-r<>pertoires.</p>
|
||
|
||
<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 <20> tout fichier
|
||
avec le nom sp<73>cifi<66>, quel que soit le r<>pertoire dans lequel il se trouve.
|
||
Ainsi par exemple, les directives de configuration suivantes, si elles sont
|
||
plac<EFBFBD>es dans la section principale du fichier de configuration, vont interdire
|
||
l'acc<63>s <20> tout fichier nomm<6D> <code>private.html</code> quel que soit
|
||
l'endroit o<> il se trouve.</p>
|
||
|
||
<pre class="prettyprint lang-config"><Files "private.html">
|
||
Require all denied
|
||
</Files></pre>
|
||
|
||
|
||
<p>Pour faire r<>f<EFBFBD>rence <20> des fichiers qui se trouvent en des points
|
||
particuliers du syst<73>me de fichiers, les sections
|
||
<code class="directive"><a href="./mod/core.html#files"><Files></a></code> et
|
||
<code class="directive"><a href="./mod/core.html#directory"><Directory></a></code>
|
||
peuvent <20>tre combin<69>es. Par exemple, la configuration suivante va interdire
|
||
l'acc<63>s <20> <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"><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>
|
||
|
||
<p>le conteneur <code class="directive"><a href="./mod/core.html#location"><Location></a></code>
|
||
et son <20>quivalent acceptant les
|
||
<a class="glossarylink" href="./glossary.html#regex" title="voir glossaire">expressions rationnelles</a>, modifient quant <20> eux la
|
||
configuration de parties de l'arborescence du site web. Par exemple, la
|
||
configuration suivante interdit l'acc<63>s <20> toute URL dont la partie chemin
|
||
commence par /private.
|
||
En particulier, l'interdiction s'appliquera aux requ<71>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'<27>
|
||
toute requ<71>te commen<65>ant par la cha<68>ne de caract<63>res <code>/private</code>.</p>
|
||
|
||
<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<EFBFBD>rence <20> un <20>l<EFBFBD>ment du syst<73>me de fichiers.
|
||
Par exemple, l'exemple suivant montre comment faire r<>f<EFBFBD>rence <20> une URL
|
||
particuli<EFBFBD>re vers un gestionnaire interne du serveur HTTP Apache fourni par le module
|
||
<code class="module"><a href="./mod/mod_status.html">mod_status</a></code>.
|
||
Il n'est pas n<>cessaire de trouver un fichier nomm<6D> <code>server-status</code>
|
||
dans le syst<73>me de fichiers.</p>
|
||
|
||
<pre class="prettyprint lang-config"><Location "/server-status">
|
||
SetHandler server-status
|
||
</Location></pre>
|
||
|
||
|
||
|
||
<h3><a name="overlapping-webspace" id="overlapping-webspace">Espace web imbriqu<71></a></h3>
|
||
<p>Pour contr<74>ler deux URLs imbriqu<71>es, on doit tenir compte de l'ordre
|
||
dans lequel certaines sections ou directives sont <20>valu<6C>es. Pour
|
||
<code class="directive"><a href="./mod/core.html#location"><Location></a></code>, on doit
|
||
avoir :</p>
|
||
<pre class="prettyprint lang-config"><Location "/foo">
|
||
</Location>
|
||
<Location "/foo/bar">
|
||
</Location></pre>
|
||
|
||
<p>Les directives <code class="directive"><a href="./mod/mod_alias.html#alias"><Alias></a></code>, quant <20> elles, sont <20>valu<6C>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>
|
||
<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<63>res de remplacement
|
||
et expressions rationnelles</a></h3>
|
||
|
||
<p>Les conteneurs
|
||
<code class="directive"><a href="./mod/core.html#directory"><Directory></a></code>,
|
||
<code class="directive"><a href="./mod/core.html#files"><Files></a></code>, et
|
||
<code class="directive"><a href="./mod/core.html#location"><Location></a></code>
|
||
peuvent utiliser des caract<63>res de remplacement de style shell comme dans
|
||
la fonction <code>fnmatch</code> de la biblioth<74>que C standard.
|
||
Le caract<63>re "*"
|
||
correspond <20> toute s<>quence de caract<63>res, "?" <20> un caract<63>re seul,
|
||
et "[<em>seq</em>]" <20> tout caract<63>re contenu dans <em>seq</em>.
|
||
Le caract<63>re "/"
|
||
ne peut pas faire l'objet d'un remplacement;
|
||
il doit <20>tre sp<73>cifi<66> explicitement.</p>
|
||
|
||
<p>Si une d<>finition des crit<69>res de correspondance
|
||
encore plus souple est n<>cessaire, chaque conteneur
|
||
poss<EFBFBD>de son <20>quivalent acceptant les expressions rationnelles : <code class="directive"><a href="./mod/core.html#directorymatch"><DirectoryMatch></a></code>, <code class="directive"><a href="./mod/core.html#filesmatch"><FilesMatch></a></code>, et <code class="directive"><a href="./mod/core.html#locationmatch"><LocationMatch></a></code> acceptent les
|
||
<a class="glossarylink" href="./glossary.html#regex" title="voir glossaire">expressions rationnelles</a> compatibles Perl
|
||
pour d<>finir les crit<69>res de correspondance. Mais voyez plus loin la section
|
||
<EFBFBD> propos de la combinaison des sections de configuration
|
||
pour comprendre comment l'utilisation de
|
||
conteneurs avec des expressions rationnelles va modifier la mani<6E>re
|
||
dont les directives sont appliqu<71>es.</p>
|
||
|
||
<p>Un conteneur qui modifie la configuration de tous les
|
||
r<EFBFBD>pertoires utilisateurs <20> l'aide de caract<63>res de remplacement
|
||
mais sans utiliser
|
||
les expressions rationnelles pourrait ressembler <20> ceci :</p>
|
||
|
||
<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<63>s <20> de nombreux types de fichiers d'images
|
||
simultan<EFBFBD>ment :</p>
|
||
<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<6D>s et
|
||
des r<>f<EFBFBD>rences arri<72>res</strong> sont ajout<75>es <20> l'environnement avec
|
||
leur nom en majuscules. Ceci permet de r<>f<EFBFBD>rencer des <20>l<EFBFBD>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<6F>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
|
||
<EFBFBD>tre d<>finie sous la forme d'une expression bool<6F>enne. Dans l'exemple
|
||
suivant, l'acc<63>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>
|
||
|
||
|
||
|
||
|
||
<h3><a name="whichwhen" id="whichwhen">Que faut-il utiliser et quand ?</a></h3>
|
||
|
||
<p>Choisir entre des conteneurs de syst<73>me de fichiers et des conteneurs
|
||
d'arborescence du site web est vraiment tr<74>s simple.
|
||
Pour appliquer des directives <20> des objets qui r<>sident dans le syst<73>me de
|
||
fichiers, utilisez toujours un conteneur <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code> ou <code class="directive"><a href="./mod/core.html#files"><Files></a></code>. Pour appliquer des directives <20> des objets
|
||
qui ne r<>sident pas dans le syst<73>me de fichiers (comme une page web g<>n<EFBFBD>r<EFBFBD>e
|
||
par une base de donn<6E>es), utilisez un conteneur <code class="directive"><a href="./mod/core.html#location"><Location></a></code>.</p>
|
||
|
||
<p>Il ne faut jamais utiliser un conteneur <code class="directive"><a href="./mod/core.html#location"><Location></a></code> pour restreindre l'acc<63>s <20> des
|
||
objets du syst<73>me de fichiers, car plusieurs localisations de
|
||
l'arborescence du site web (URLs) peuvent correspondre <20> la m<>me localisation
|
||
du syst<73>me de fichier, ce qui peut permettre de contourner vos restrictions.
|
||
Par exemple, imaginez la configuration suivante :</p>
|
||
|
||
<pre class="prettyprint lang-config"><Location "/dir/">
|
||
Require all denied
|
||
</Location></pre>
|
||
|
||
|
||
<p>Elle fonctionne correctement si la requ<71>te appelle
|
||
<code>http://yoursite.example.com/dir/</code>. Mais que va-t-il se passer si
|
||
votre syst<73>me de fichiers est insensible <20> la casse ?
|
||
Votre restriction va pouvoir <20>tre tout simplement contourn<72>e en envoyant une
|
||
requ<EFBFBD>te sur
|
||
<code>http://yoursite.example.com/DIR/</code>. Le conteneur <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code>, quant <20> lui, s'appliquera
|
||
<EFBFBD> tout contenu servi <20> partir de cette localisation,
|
||
sans tenir compte de la mani<6E>re dont il est appel<65>.
|
||
(Les liens du syst<73>me de fichiers constituent une exception.
|
||
Le m<>me r<>pertoire peut <20>tre plac<61> dans plusieurs parties du syst<73>me de
|
||
fichiers en utilisant des liens symboliques. Le conteneur
|
||
<code class="directive"><a href="./mod/core.html#directory"><Directory></a></code> va suivre le
|
||
lien symbolique sans modifier le nom du chemin. Par cons<6E>quent, pour plus de
|
||
s<EFBFBD>curit<EFBFBD>, les liens symboliques doivent <20>tre d<>sactiv<69>s <20> l'aide de la
|
||
directive
|
||
<code class="directive"><a href="./mod/core.html#options">Options</a></code> appropri<72>e.)</p>
|
||
|
||
<p>Si vous pensez que vous n'<27>tes pas concern<72> par ce probl<62>me
|
||
parceque vous utilisez un syst<73>me de fichiers sensible <20> la casse,
|
||
gardez <20> l'esprit qu'il y a de nombreuses autres mani<6E>res pour faire
|
||
correspondre plusieurs localisations de l'arborescence du site web <20> la m<>me
|
||
localisation du syst<73>me de fichiers. C'est pourquoi vous devez autant que
|
||
possible toujours utiliser les conteneurs de syst<73>me de fichiers.
|
||
Il y a cependant une exception <20> cette r<>gle. Placer des restrictions de
|
||
configuration dans un conteneur <code><Location
|
||
"/"></code> est tout <20> fait sans rique car ce conteneur va s'appliquer <20>
|
||
toutes les requ<71>tes sans tenir compte de l'URL sp<73>cifique.</p>
|
||
|
||
|
||
<h3><a name="nesting" id="nesting">Imbrication des sections</a></h3>
|
||
|
||
<p>Certains types de sections peuvent <20>tre imbriqu<71>s : d'une part, on
|
||
peut utiliser les sections <code class="directive"><a href="./mod/core.html#files"><Files></a></code> <20> l'int<6E>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> <20>
|
||
l'int<6E>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<6D>es se comportent de mani<6E>re
|
||
identique.</p>
|
||
|
||
<p>Les sections imbriqu<71>es sont fusionn<6E>es apr<70>s les sections
|
||
non-imbriqu<71>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>
|
||
|
||
<p>Le conteneur <code class="directive"><a href="./mod/core.html#virtualhost"><VirtualHost></a></code>
|
||
contient des directives qui s'appliquent <20> des h<>tes sp<73>cifiques.
|
||
Ceci s'av<61>re utile pour servir des h<>tes multiples <20> partir de la m<>me machine,
|
||
chacun d'entre eux poss<73>dant une configuration diff<66>rente. Pour de plus amples
|
||
informations,
|
||
voir la <a href="vhosts/">Documentation sur les h<>tes virtuels</a>.</p>
|
||
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
|
||
<div class="section">
|
||
<h2><a name="proxy" id="proxy">Mandataire</a></h2>
|
||
|
||
<p>Les conteneurs
|
||
<code class="directive"><a href="./mod/mod_proxy.html#proxy"><Proxy></a></code>
|
||
et <code class="directive"><a href="./mod/mod_proxy.html#proxymatch"><ProxyMatch></a></code>
|
||
appliquent les directives de configuration qu'ils contiennent uniquement aux
|
||
sites qui correspondent <20> l'URL sp<73>cifi<66>e et auxquels on a
|
||
acc<EFBFBD>d<EFBFBD> via le 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 <20> acc<63>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<69>es ?</a></h2>
|
||
|
||
<p>Pour d<>terminer quelles sont les directives autoris<69>es pour tel type de
|
||
section de configuration, v<>rifiez le <a href="mod/directive-dict.html#Context">Contexte</a> de la directive.
|
||
Tout ce qui est autoris<69> dans les sections
|
||
<code class="directive"><a href="./mod/core.html#directory"><Directory></a></code>
|
||
l'est aussi d'un point de vue syntaxique dans les sections
|
||
<code class="directive"><a href="./mod/core.html#directorymatch"><DirectoryMatch></a></code>,
|
||
<code class="directive"><a href="./mod/core.html#files"><Files></a></code>,
|
||
<code class="directive"><a href="./mod/core.html#filesmatch"><FilesMatch></a></code>,
|
||
<code class="directive"><a href="./mod/core.html#location"><Location></a></code>,
|
||
<code class="directive"><a href="./mod/core.html#locationmatch"><LocationMatch></a></code>,
|
||
<code class="directive"><a href="./mod/mod_proxy.html#proxy"><Proxy></a></code>,
|
||
et <code class="directive"><a href="./mod/mod_proxy.html#proxymatch"><ProxyMatch></a></code>.
|
||
Il y a cependant quelques exceptions :</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"><Directory></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"><Directory></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 <20>tre
|
||
utilis<EFBFBD>e dans les sections
|
||
<code class="directive"><a href="./mod/core.html#files"><Files></a></code>
|
||
et <code class="directive"><a href="./mod/core.html#filesmatch"><FilesMatch></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><a name="merging" id="merging">Comment les sections sont combin<69>es entre elles</a></h2>
|
||
|
||
<p>Les sections de configuration sont appliqu<71>es dans un ordre tr<74>s particulier.
|
||
Il est important de savoir comment cet ordre est d<>fini car il peut avoir
|
||
des effets importants sur la mani<6E>re dont les directives de configuration
|
||
sont interpr<70>t<EFBFBD>es.</p>
|
||
|
||
<p>L'ordre dans lequel les sections sont combin<69>es est :</p>
|
||
|
||
<ol>
|
||
<li> Les sections <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code> (<28> l'exception des
|
||
expressions rationnelles)
|
||
et les fichiers <code>.htaccess</code> sont appliqu<71>s simultan<61>ment (avec
|
||
la possibilit<69> pour <code>.htaccess</code>, s'il y est autoris<69>, de
|
||
pr<70>valoir sur
|
||
<code class="directive"><a href="./mod/core.html#directory"><Directory></a></code>)</li>
|
||
|
||
<li>Les sections
|
||
<code class="directive"><a href="./mod/core.html#directorymatch"><DirectoryMatch></a></code>
|
||
(et <code><Directory ~></code>)</li>
|
||
|
||
<li>Les sections <code class="directive"><a href="./mod/core.html#files"><Files></a></code> et <code class="directive"><a href="./mod/core.html#filesmatch"><FilesMatch></a></code> sont appliqu<71>es
|
||
simultan<61>ment</li>
|
||
|
||
<li>Les sections
|
||
<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<71>es
|
||
simultan<61>ment</li>
|
||
|
||
<li>Les directives <code class="directive"><a href="./mod/core.html#if"><If></a></code>
|
||
</li>
|
||
</ol>
|
||
|
||
<p>Mises <20> part les sections <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code>, chaque groupe est trait<69> selon
|
||
l'ordre dans lequel il appara<72>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<69>es dans l'ordre du r<>pertoire le plus court vers le plus long.
|
||
Par exemple, <code><Directory "/var/web/dir"></code> sera
|
||
trait<69> 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
|
||
r<>pertoire, elles sont trait<69>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<69>es comme si elles se
|
||
trouvaient r<>ellement dans le fichier qui les inclut <20> la position de la
|
||
directive
|
||
<code class="directive"><a href="./mod/core.html#include">Include</a></code>.</p>
|
||
|
||
<p>Les sections situ<74>es <20> l'int<6E>rieur de sections <code class="directive"><a href="./mod/core.html#virtualhost"><VirtualHost></a></code>
|
||
sont appliqu<71>es <em>apr<70>s</em> les sections correspondantes situ<74>es en
|
||
dehors de la d<>finition de l'h<>te virtuel, ce qui permet <20> l'h<>te virtuel
|
||
de pr<70>valoir sur la configuration du serveur principal.</p>
|
||
|
||
<p>Quand la requ<71>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>
|
||
|
||
<div class="note"><h3>Note technique</h3>
|
||
Une s<>quence <code><Location></code>/<code><LocationMatch></code>
|
||
est r<>ellement trait<69>e juste avant la phase de traduction du nom
|
||
(o<> <code>Aliases</code> et <code>DocumentRoots</code>
|
||
sont utilis<69>s pour faire correspondre les URLs aux noms de fichiers).
|
||
Les effets de cette s<>quence disparaissent totalement lorsque
|
||
la traduction est termin<69>e.
|
||
</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<70>s avoir lu comment les sections de
|
||
configuration sont fusionn<6E>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<70>t<EFBFBD>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 <20>l<EFBFBD>ment de configuration dans un contexte particulier.
|
||
httpd n'ex<65>cute pas un commande au moment o<> elle est lue.</p>
|
||
<p>A l'ex<65>cution, le noyau de httpd parcours les sections de configuration
|
||
dans l'ordre d<>crit ci-dessus afin de d<>terminer lesquelles s'appliquent <20>
|
||
la requ<71>te courante. Lorsqu'une premi<6D>re section s'applique, elle est
|
||
consid<69>r<EFBFBD>e comme la configuration courante pour cette requ<71>te. Si une
|
||
section suivante s'applique aussi, chaque module qui poss<73>de des directives
|
||
dans chacune de ces sections a la possibilit<69> de fusionner sa configuration
|
||
entre ces deux sections. Il en r<>sulte une troisi<73>me configuration et le
|
||
processus de fusion se poursuit jusqu'<27> ce que toutes les sections de
|
||
configuration aient <20>t<EFBFBD> <20>valu<6C>es.</p>
|
||
<p>Apr<70>s l'<27>tape pr<70>c<EFBFBD>dente, le traitement proprement dit de la requ<71>te HTTP
|
||
peut commencer : chaque module peut effectuer toute t<>che qui lui incombe,
|
||
et pour d<>terminer de quelle mani<6E>re dont il doit agir, il peut s'appuyer
|
||
sur le noyau de httpd pour retrouver sa configuration globale issue de la
|
||
fusion pr<70>c<EFBFBD>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<73>cifique. Quelle
|
||
valeur httpd va-t-il affecter <20> l'en-t<>te <code>CustomHeaderName</code> pour
|
||
une requ<71>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>
|
||
|
||
<Directory "/example">
|
||
Header set CustomHeaderName two
|
||
</Directory></pre>
|
||
|
||
<ul>
|
||
<li><code class="directive">Directory</code> "/" s'applique, et une configuration
|
||
initiale est cr<63><72>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<73>cifie dans son code que
|
||
la valeur d'un en-t<>te doit <20>tre <20>cras<61>e si ce dernier est d<>fini <20>
|
||
nouveau, une nouvelle configuration est cr<63><72>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<69> de fusion surgit, et l'en-t<>te <code>CustomHeaderName</code>
|
||
est d<>fini <20> la valeur <code>three</code>.</li>
|
||
<li>Finalement, au cours des <20>tapes suivantes du traitement de la
|
||
requ<71>te HTTP, <code class="module"><a href="./mod/mod_headers.html">mod_headers</a></code> sera sollicit<69>, et il se
|
||
basera sur la configuration qui a d<>fini l'en-t<>te
|
||
<code>CustomHeaderName</code> <20> 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, <20> 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<6F>tes, etc...</li>
|
||
</ul>
|
||
|
||
<p>Ceci est aussi vrai pour les fichiers .htaccess car ils poss<73>dent la m<>me
|
||
priorit<69> 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<73>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 <20> des
|
||
niveaux diff<66>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 <20> la requ<71>te, les directives de
|
||
cet exemple seront appliqu<71>es dans l'ordre suivant : A > B > C > D >
|
||
E.</p>
|
||
|
||
<pre class="prettyprint lang-config"><Location "/">
|
||
E
|
||
</Location>
|
||
|
||
<Files "f.html">
|
||
D
|
||
</Files>
|
||
|
||
<VirtualHost *>
|
||
<Directory "/a/emphasis role="bold"">
|
||
B
|
||
</Directory>
|
||
</VirtualHost>
|
||
|
||
<DirectoryMatch "^.*b$">
|
||
C
|
||
</DirectoryMatch>
|
||
|
||
<Directory "/a/b">
|
||
A
|
||
</Directory></pre>
|
||
|
||
|
||
<p>Pour un exemple plus concret, consid<69>rez ce qui suit. Sans tenir compte
|
||
de toute restriction d'acc<63>s plac<61>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
|
||
<EFBFBD>valu<EFBFBD>e en dernier et permettra un acc<63>s au serveur sans aucune restriction.
|
||
En d'autres termes, l'ordre de la combinaison des sections est important,
|
||
soyez donc prudent !</p>
|
||
|
||
<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>
|
||
|
||
|
||
|
||
|
||
</div></div>
|
||
<div class="bottomlang">
|
||
<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<61>ais"> fr </a> |
|
||
<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<72>e"> tr </a></p>
|
||
</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<69> 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> |