<?xml version="1.0" encoding="UTF-8"?>
<!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=UTF-8" http-equiv="Content-Type" />
<!--
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
              This file is generated from xml source: DO NOT EDIT
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -->
<title>mod_dav - Serveur HTTP Apache 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>
<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 HTTP Apache Version 2.5</p>
<img alt="" src="../images/feather.png" /></div>
<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
<div id="path">
<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.5</a> &gt; <a href="./">Modules</a></div>
<div id="page-content">
<div id="preamble"><h1>Module Apache mod_dav</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_dav.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../fr/mod/mod_dav.html" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/mod_dav.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_dav.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fonctionnalité de création et gestion de versions de
documents via le web (<a href="http://www.webdav.org/">WebDAV</a>)</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>dav_module</td></tr>
<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_dav.c</td></tr></table>
<h3>Sommaire</h3>

    <p>Ce module ajoute à Apache une fonctionnalité <a href="http://www.webdav.org">WebDAV</a> de classes 1 et 2
    ('Web-based Distributed Authoring and Versioning' ou Création et
    gestion de versions de documents via le web). Il s'agit d'une
    extension du protocole HTTP qui permet de créer, déplacer, copier et
    supprimer des ressources ou collections de ressources sur un serveur
    web distant.</p>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#example">Activation de WebDAV</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#security">Problèmes concernant la sécurité</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#complex">Configurations complexes</a></li>
</ul><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#dav">Dav</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#davbasepath">DavBasePath</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#davdepthinfinity">DavDepthInfinity</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#davmintimeout">DavMinTimeout</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#davmsext">DavMSext</a></li>
</ul>
<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&amp;list_id=144532&amp;product=Apache%20httpd-2&amp;query_format=specific&amp;order=changeddate%20DESC%2Cpriority%2Cbug_severity&amp;component=mod_dav">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&amp;component=mod_dav">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="module"><a href="../mod/mod_dav_fs.html">mod_dav_fs</a></code></li>
<li><code class="directive"><a href="../mod/core.html#limitxmlrequestbody">LimitXMLRequestBody</a></code></li>
<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="example" id="example">Activation de WebDAV</a> <a title="Lien permanent" href="#example" class="permalink">&para;</a></h2>
    <p>Pour activer le module <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code>, ajoutez la ligne
    suivante à un conteneur de votre fichier <code>httpd.conf</code>
    :</p>

    <pre class="prettyprint lang-config">Dav On</pre>


    <p>Ceci active le fournisseur de système de fichier DAV implémenté par
    le module <code class="module"><a href="../mod/mod_dav_fs.html">mod_dav_fs</a></code>. Ce dernier doit donc être
    compilé dans le serveur ou chargé au démarrage à l'aide de la
    directive <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code>.</p>

    <p>Si vous souhaitez limiter l'accès aux répertoires où DAV est
    activé, vous pouvez ajouter une clause <code class="directive"><a href="../mod/core.html#limit">&lt;Limit&gt;</a></code> dans la section <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code> considérée. Pour
    définir la quantité maximale de données en octets qu'un client
    DAV peut envoyer par requête, vous devez utiliser la directive
    <code class="directive"><a href="../mod/core.html#limitxmlrequestbody">LimitXMLRequestBody</a></code>, car La
    directive <code class="directive"><a href="../mod/core.html#limitrequestbody">LimitRequestBody</a></code>
    "habituelle" n'a aucune incidence sur les requêtes DAV.</p>

    <div class="example"><h3>Exemple complet</h3><pre class="prettyprint lang-config">&lt;Directory "/usr/local/apache2/htdocs/foo"&gt;
    Require all granted
    Dav On

    AuthType Basic
    AuthName "DAV"
    AuthUserFile "user.passwd"

    &lt;LimitExcept GET POST OPTIONS&gt;
        Require user admin
    &lt;/LimitExcept&gt;
&lt;/Directory&gt;</pre>
</div>

</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="security" id="security">Problèmes concernant la sécurité</a> <a title="Lien permanent" href="#security" class="permalink">&para;</a></h2>

    <p>Etant donné que les méthodes d'accès DAV permettent à des clients
    distants de manipuler des fichiers sur le serveur, vous devez vous
    assurer que votre serveur est bien sécurisé avant d'activer
    <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code>.</p>

    <p>Tout répertoire du serveur où DAV est activé doit être protégé
    par une procédure d'authentification. L'utilisation de
    l'authentification HTTP de base n'est pas recommandée. Vous devez
    utiliser au moins l'authentification HTTP à base de condensés
    qu'implémente le module <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>.
    Pratiquement tous les clients WebDAV supportent cette méthode
    d'authentification. Vous pouvez aussi utiliser l'authentification de
    base sur une connexion où <a href="../ssl/">SSL</a> est activé.</p>

    <p>Pour que <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> puisse manipuler des fichiers,
    il doit avoir des permissions en écriture sur les répertoires et les
    fichiers qui sont sous son contrôle ; en d'autre termes, c'est
    l'utilisateur et le groupe sous lesquels Apache s'exécute et définis
    par les directives <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code> et
    <code class="directive"><a href="../mod/mod_unixd.html#group">Group</a></code> qui doivent avoir
    les droits en écriture sur ces fichiers et répertoires. Les fichiers
    nouvellement créés appartiendront aussi à ces utilisateur et groupe.
    Par conséquent, il est important de contrôler l'accès à ce compte.
    Les répertoires DAV sont considérés comme privés du point de vue
    d'Apache, et la modification des fichiers qu'ils contiennent
    autrement que par l'intermédiaire d'Apache (par exemple par FTP ou
    par des outils du niveau du système de fichiers) ne doit pas être
    permise.</p>

    <p><code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> peut faire l'objet de plusieurs sortes
    d'attaques par déni de service. La directive <code class="directive"><a href="../mod/core.html#limitxmlrequestbody">LimitXMLRequestBody</a></code> permet de limiter la
    quantité de mémoire consommée pour interpréter des requêtes DAV de
    grande taille. En outre, la directive <code class="directive"><a href="#davdepthinfinity">DavDepthInfinity</a></code> permet d'empêcher les
    requêtes <code>PROPFIND</code> concernant un répertoire de très
    grande taille de consommer de grandes quantités de mémoire. Un autre
    type d'attaque par déni de service peut aussi être mené par un
    client qui remplit simplement tout l'espace disque disponible avec
    des fichiers de très grande taille. Etant donné qu'il n'existe aucun
    moyen direct d'éviter ce genre d'attaque dans Apache, vous ne devez
    accorder des accès DAV qu'à des utilisateurs de confiance.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="complex" id="complex">Configurations complexes</a> <a title="Lien permanent" href="#complex" class="permalink">&para;</a></h2>

    <p>Les requêtes ayant pour but de manipuler des fichiers dynamiques
    (scripts PHP, scripts CGI, etc...) en utilisant
    <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> sont courantes. Ce traitement n'est pas
    évident car une requête
    <code>GET</code> va toujours tenter d'exécuter le script, plutôt que
    de télécharger son contenu. Pour éviter cet inconvénient, une
    méthode possible consiste à faire correspondre deux URLs
    différentes au même contenu, l'une d'entre elles servant à lancer le
    script, alors que l'autre peut être utilisée pour le télécharger et
    le manipuler avec DAV.</p>

<pre class="prettyprint lang-config">Alias "/phparea" "/home/gstein/php_files"
Alias "/php-source" "/home/gstein/php_files"
&lt;Location "/php-source"&gt;
Dav On
ForceType text/plain
&lt;/Location&gt;</pre>


    <p>Avec cette configuration, on peut utiliser
    <code>http://example.com/phparea</code> pour afficher le résultat de
    l'exécution des scripts PHP, et
    <code>http://example.com/php-source</code> pour les manipuler avec
    DAV.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="dav" id="dav">Directive</a> <a name="Dav" id="Dav">Dav</a> <a title="Lien permanent" href="#dav" class="permalink">&para;</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active les méthodes HTTP WebDAV</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Dav On|Off|<var>nom fournisseur</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Dav Off</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dav</td></tr>
</table>
    <p>La directive <code class="directive">Dav</code> active les
    méthodes HTTP WebDAV pour le conteneur condidéré :</p>

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


    <p>La valeur <code>On</code> est en fait un alias vers le
    fournisseur par défaut <code>filesystem</code> implémenté par le
    module <code class="module"><a href="../mod/mod_dav_fs.html">mod_dav_fs</a></code>. Notez que lorsque DAV est activé
    pour un conteneur, on <em>ne peut pas</em> le désactiver pour ses
    sous-conteneurs. Pour un exemple de configuration complet,
    reportez-vous à la <a href="#example">section précédente</a>.</p>

    <div class="warning">
      N'activez pas WebDAV tant que votre serveur n'est pas sécurisé. Si
      vous passez outre cette recommandation, tout le monde pourra
      enregistrer des fichiers sur votre système.
    </div>

</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="davbasepath" id="davbasepath">Directive</a> <a name="DavBasePath" id="DavBasePath">DavBasePath</a> <a title="Lien permanent" href="#davbasepath" class="permalink">&para;</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définir le chemin de la racine du répertoire</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DavBasePath <var>root-path</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>None</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dav</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.58 du serveur HTTP Apache</td></tr>
</table>
  <p>Si le répertoire DAV est défini en utilisant une correspondance
  d'expression rationnelle (comme <code class="directive"><a href="../mod/core.html#locationmatch">LocationMatch</a></code>), <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> ne sera pas
  en mesure de déterminer de lui-même la racine du répertoire à partir du chemin
  seul. En conséquence, des fournisseurs tiers (par exemple le module <a href="https://svnbook.red-bean.com/en/1.7/svn.ref.mod_dav_svn.conf.html">mod_dav_svn</a>
  de Subversion) pourront échouer à traiter des requêtes sans disposer de la
  valeur correcte de la racine du répertoire.</p>

  <p>Pour permettre aux fournisseurs de travailler correctement en présence
  d'une telle configuration, vous devez utiliser
  <code class="directive">DavBasePath</code>.</p>

    <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">&lt;LocationMatch "^/repos/"&gt;
    Dav svn
    DavBasePath /repos
    SVNParentPath /var/svn
&lt;/LocationMatch&gt;</pre>
</div>

</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="davdepthinfinity" id="davdepthinfinity">Directive</a> <a name="DavDepthInfinity" id="DavDepthInfinity">DavDepthInfinity</a> <a title="Lien permanent" href="#davdepthinfinity" class="permalink">&para;</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Autorise les requêtes PROPFIND avec en-tête Depth:
Infinity</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DavDepthInfinity on|off</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DavDepthInfinity off</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dav</td></tr>
</table>
    <p>La directive <code class="directive">DavDepthInfinity</code>
    autorise le traitement des requêtes <code>PROPFIND</code>
    contenant l'en-tête Depth: Infinity. Par défaut, ce type de requête
    n'est pas autorisé, car il peut favoriser les attaques de type Déni
    de service.</p>

</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="davmintimeout" id="davmintimeout">Directive</a> <a name="DavMinTimeout" id="DavMinTimeout">DavMinTimeout</a> <a title="Lien permanent" href="#davmintimeout" class="permalink">&para;</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Durée minimale pendant laquelle le serveur maintient un
verrou sur une ressource DAV</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DavMinTimeout <var>secondes</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DavMinTimeout 0</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dav</td></tr>
</table>
    <p>Lorsqu'un client demande le verrouillage d'une ressource DAV, il
    peut aussi spécifier une durée au bout de laquelle le verrou sera
    automatiquement supprimé par le serveur. Cette valeur ne constitue
    qu'une requête, et le serveur peut l'ignorer ou informer le client
    qu'il va utiliser une valeur arbitraire.</p>

    <p>La directive <code class="directive">DavMinTimeout</code>
    spécifie, en secondes, la durée minimale de verrouillage à renvoyer
    au client. Les Répertoires Web de Microsoft présentent une durée par
    défaut de 120 secondes ; la directive
    <code class="directive">DavMinTimeout</code> permet de définir une valeur
    supérieure (par exemple 600 secondes), afin de réduire les risques
    de perte du verrou par le client suite à une surcharge du
    réseau.</p>

    <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">&lt;Location "/MSWord"&gt;
    DavMinTimeout 600
&lt;/Location&gt;</pre>
</div>

</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="davmsext" id="davmsext">Directive</a> <a name="DavMSext" id="DavMSext">DavMSext</a> <a title="Lien permanent" href="#davmsext" class="permalink">&para;</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Activer la prise en charge des extensions de Microsoft</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DavMSext None | [+|-]WDV | All</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DavMSext None</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel, répertoire</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dav</td></tr>
</table>
    <p>La directive <code class="directive">DavMSext</code> permet d'activer la prise en
    charge des extensions de Microsoft. Ses valeurs possibles sont&nbsp;:</p>
        <ul>
            <li><code>None</code> Aucune extension de Microsoft n'est prise en
	    charge.</li>
            <li><code>WDV</code> Active la prise en charge de <a href="https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-wdv">MS-WDV</a>.
            </li>
            <li><code>All</code> Toutes les extensions de Microsoft implémentées
	    sont prises en charge. La liste se limite cependant à
	    <code>WDV</code> car il s'agit de la seule extension de Microsoft
	    actuellement implémentée.</li>
        </ul>
    

</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_dav.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../fr/mod/mod_dav.html" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/mod_dav.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_dav.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</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&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed 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 Libera.chat, or sent to our <a href="https://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/mod/mod_dav.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 2025 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
    prettyPrint();
}
//--><!]]></script>
</body></html>