htaccess.html.fr   [plain text]


<?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><!--
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
              This file is generated from xml source: DO NOT EDIT
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -->
<title>Tutoriel du serveur HTTP Apache : fichiers .htaccess - Serveur Apache HTTP</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.js" type="text/javascript">
</script>

<link href="../images/favicon.ico" rel="shortcut icon" /></head>
<body id="manual-page"><div id="page-header">
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="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.2</p>
<img alt="" src="../images/feather.gif" /></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.2</a> &gt; <a href="./">Recettes / Tutoriels</a></div><div id="page-content"><div id="preamble"><h1>Tutoriel du serveur HTTP Apache : fichiers .htaccess</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/howto/htaccess.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../fr/howto/htaccess.html" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/howto/htaccess.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/howto/htaccess.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../pt-br/howto/htaccess.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)">&nbsp;pt-br&nbsp;</a></p>
</div>

<p>Les fichiers <code>.htaccess</code> fournissent une méthode pour
modifier la configuration du serveur au niveau de chaque répertoire.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#related">Fichiers .htaccess</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#what">Que sont ce fichiers, comment les utiliser ?</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#when">Quand doit-on (ne doit-on pas) utiliser
    les fichiers .htaccess ?</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#how">Comment sont appliquées les directives ?</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#auth">Exemple d'authentification</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#ssi">Exemple d'Inclusion Côté Serveur (Server Side
Includes - SSI)</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#cgi">Exemple de CGI</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#troubleshoot">Résolution des problèmes</a></li>
</ul><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="related" id="related">Fichiers .htaccess</a></h2>
    
    <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_authn_file.html">mod_authn_file</a></code></li><li><code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code></li><li><code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code></li><li><code class="module"><a href="../mod/mod_include.html">mod_include</a></code></li><li><code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/core.html#accessfilename">AccessFileName</a></code></li><li><code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code></li><li><code class="directive"><a href="../mod/core.html#options">Options</a></code></li><li><code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code></li><li><code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code></li><li><code class="directive"><a href="../mod/core.html#authtype">AuthType</a></code></li><li><code class="directive"><a href="../mod/core.html#authname">AuthName</a></code></li><li><code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code></li><li><code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code></li><li><code class="directive"><a href="../mod/core.html#require">Require</a></code></li></ul></td></tr></table>

    <div class="note">Les fichiers <code>.htaccess</code> ne doivent être utilisés
    que si vous n'avez pas accès au fichier de configuration du serveur
    principal. L'utilisation des fichiers <code>.htaccess</code>
    ralentit le fonctionnement de votre serveur http Apache. Il est toujours
    préférable de définir les directives que vous pouvez inclure dans un
    fichier <code>.htaccess</code> dans une section <code class="directive"><a href="../mod/core.html#directory">Directory</a></code>, car elles produiront le
    même effet avec de meilleures performances.</div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="what" id="what">Que sont ce fichiers, comment les utiliser ?</a></h2>


    <p>Les fichiers <code>.htaccess</code> (ou "fichiers de
    configuration distribués) fournissent une méthode pour modifier la
    configuration du serveur au niveau de chaque répertoire. Un fichier,
    contenant une ou plusieurs directives de configuration, est placé
    dans un répertoire de documents particulier, et ses directives
    s'appliquent à ce répertoire et à tous ses sous-répertoires.</p>

    <div class="note"><h3>Note :</h3>
      <p>Si vous voulez donner un autre nom à votre fichier
      <code>.htaccess</code>, vous pouvez le faire en utilisant la
      directive <code class="directive"><a href="../mod/core.html#accessfilename">AccessFileName</a></code>. Par
      exemple, si vous préférez nommer votre fichier
      <code>.config</code>, vous pouvez mettre ceci dans le fichier de
      configuration de votre serveur :</p>

      <div class="example"><p><code>
        AccessFileName .config
      </code></p></div>
    </div>

    <p>En général, les fichiers <code>.htaccess</code> utilisent la même
    syntaxe que les <a href="../configuring.html#syntax">fichiers de
    configuration principaux</a>. Ce que vous pouvez mettre dans ces
    fichier est déterminé par la directive <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code>. Cette directive spécifie,
    sous forme de catégories, quelles directives seront traitées si
    elles se trouvent dans un fichier <code>.htaccess</code>. Si une
    directive est permise dans un fichier <code>.htaccess</code>,
    la documentation de cette directive contiendra une section Override,
    spécifiant quelle valeur doit prendre <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> pour que cette directive
    soit traitée.</p>

    <p>Par exemple, si vous regardez la documentation de la directive
    <code class="directive"><a href="../mod/core.html#adddefaultcharset">AddDefaultCharset</a></code>, vous verrez
    que cette dernière est permise dans les fichiers
    <code>.htaccess</code> (Voir la ligne de contexte dans le résumé de
    la directive). La ligne <a href="../mod/directive-dict.html#Context">Override</a> indique
    <code>FileInfo</code>. Vous devez donc avoir au moins
    <code>AllowOverride FileInfo</code> pour que cette directive soit
    traitée dans les fichiers <code>.htaccess</code>.</p>

    <div class="example"><h3>Exemple :</h3><table>
        <tr>
          <td><a href="../mod/directive-dict.html#Context">Contexte :</a></td>
          <td>configuration du serveur, serveur virtuel, directory, .htaccess</td>
        </tr>

        <tr>
          <td><a href="../mod/directive-dict.html#Override">Override:</a></td>
          <td>FileInfo</td>
        </tr>
      </table></div>

    <p>Si vous n'êtes pas sûr qu'une directive particulière soit permise
    dans un fichier <code>.htaccess</code>, lisez la documentation de
    cette directive, et consultez la ligne de contexte pour
    ".htaccess".</p>
    </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="when" id="when">Quand doit-on (ne doit-on pas) utiliser
    les fichiers .htaccess ?</a></h2>

    <p>En principe, vous ne devriez utiliser les fichiers
    <code>.htaccess</code> que si vous n'avez pas accès au fichier de
    configuration du serveur principal. Par exemple, la fausse idée 
    selon laquelle l'authentification de l'utilisateur devrait toujours
    être faite dans les fichiers <code>.htaccess</code>, et ces
    dernières années celle selon laquelle les directives de
    <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> doivent aussi être définies dans ces
    même fichiers <code>.htaccess</code> sont très
    répandues. Ceci est tout simplement faux. Vous pouvez configurer
    l'authentification des utilisateurs au niveau de la configuration du
    serveur principal, et c'est en fait cette méthode qui doit être
    privilégiée. De même, les directives de
    <code>mod_rewrite</code> fonctionnent de manière plus satisfaisante
    à de nombreux égards dans la configuration du serveur principal.</p>

    <p>Les fichiers <code>.htaccess</code> ne devraient être utilisés
    que dans le cas où les fournisseurs de contenu ont besoin de
    modifier la configuration du serveur au niveau d'un répertoire, mais
    ne possèdent pas l'accès root sur le système du serveur. Si
    l'administrateur du serveur ne souhaite pas effectuer des
    modifications de configuration incessantes, il peut être intéressant
    de permettre aux utilisateurs isolés d'effectuer eux-mêmes ces
    modifications par le biais de fichiers <code>.htaccess</code>. Ceci
    est particulièrement vrai dans le cas où le fournisseur d'accès à
    Internet héberge de nombreux sites d'utilisateurs sur un seul
    serveur, et souhaite que ces utilisateurs puissent modifier
    eux-mêmes leurs configurations.</p>

    <p>Cependant et d'une manière générale, il vaut mieux éviter
    d'utiliser les fichiers <code>.htaccess</code>. Tout élément de
    configuration que vous pourriez vouloir mettre dans un fichier
    <code>.htaccess</code>, peut aussi être mis, et avec la même
    efficacité, dans une section <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code> du fichier de configuration de
    votre serveur principal.</p>

    <p>Il y a deux raisons principales d'éviter l'utilisation des
    fichiers <code>.htaccess</code>.</p>

    <p>La première est liée aux performances. Lorsque la directive
    <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> est définie de
    façon à autoriser l'utilisation des fichiers <code>.htaccess</code>,
    httpd va rechercher leur présence dans chaque répertoire. Ainsi,
    permettre l'utilisation des fichiers <code>.htaccess</code> est déjà
    en soi une cause de dégradation des performances, que vous utilisiez
    effectivement ces fichiers ou non ! De plus, le fichier
    <code>.htaccess</code> est chargé en mémoire chaque fois qu'un
    document fait l'objet d'une requête.</p>

    <p>Notez aussi que httpd doit rechercher les fichiers
    <code>.htaccess</code> dans tous les répertoires de niveau
    supérieur, afin de rassembler toutes les directives qui s'appliquent
    au répertoire courant (Voir la section <a href="#how">comment sont
    appliquées les directives</a>). Ainsi, si un fichier fait l'objet
    d'une requête à partir d'un répertoire
    <code>/www/htdocs/exemple</code>, httpd doit rechercher les
    fichiers suivants :</p>

    <div class="example"><p><code>
      /.htaccess<br />
      /www/.htaccess<br />
      /www/htdocs/.htaccess<br />
      /www/htdocs/exemple/.htaccess
    </code></p></div>

    <p>En conséquence, chaque accès à un fichier de ce répertoire
    nécessite 4 accès au système de fichiers supplémentaires pour
    rechercher des fichiers <code>.htaccess</code>, même si
    aucun de ces fichiers n'est présent. Notez que cet exemple ne peut
    se produire que si les fichiers <code>.htaccess</code> ont été
    autorisés pour le répertoire <code>/</code>, ce qui est rarement le
    cas.</p>

    <p>Pour ce qui est des directives <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> dans un contexte
    <code>.htaccess</code>, les expressions rationnelles doivent être
    recompilées à chaque requête pour le répertoire concerné, alors que
    dans le contexte de la configuration du serveur principal, elles ne
    sont compilées qu'une seule fois et mises en cache. De plus, les
    règles en elles-mêmes sont plus complexes, et il faut tenir compte
    des restrictions inhérentes à <code>mod_rewrite</code> dans le
    contexte des répertoires. Voir le <a href="../rewrite/intro.html#htaccess">Guide de réécriture</a> pour
    plus de détails à ce sujet.</p>

    <p>La seconde raison d'éviter l'utilisation des fichiers
    <code>.htaccess</code> est liée à la sécurité. Si vous permettez aux
    utilisateurs de modifier la configuration du serveur, il peut en
    résulter des conséquences sur lesquelles vous n'aurez aucun
    contrôle. Réfléchissez bien avant de donner ce privilège à vos
    utilisateurs. Notez aussi que ne pas donner aux utilisateurs les
    privilèges dont ils ont besoin va entraîner une augmentation des
    demandes de support technique. Assurez-vous d'avoir informé
    clairement vos utilisateurs du niveau de privilèges que vous leur
    avez attribué. Indiquer exactement comment vous avez défini la
    directive <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code>, et
    diriger les utilisateurs vers la documentation correspondante, vous
    évitera bien des confusions ultérieures.</p>

    <p>Notez que mettre un fichier <code>.htaccess</code> contenant une
    directive dans un répertoire <code>/www/htdocs/exemple</code>
    revient exactement au même que mettre la même directive dans une
    section Directory <code>&lt;Directory /www/htdocs/exemple&gt;</code>
    du fichier de configuration de votre serveur principal :</p>

    <p>Fichier <code>.htaccess</code> dans
    <code>/www/htdocs/exemple</code> :</p>

    <div class="example"><h3>Contenu du fichier .htaccess dans
    <code>/www/htdocs/exemple</code></h3><pre class="prettyprint lang-config">AddType text/example .exm</pre>
</div>

    <div class="example"><h3>Section de votre fichier
    <code>httpd.conf</code></h3><p><code>
      &lt;Directory /www/htdocs/exemple&gt;<br />
      <span class="indent">
        AddType text/exemple .exm<br />
      </span>
      &lt;/Directory&gt;
    </code></p></div>

    <p>Cependant, la perte de performances sera moindre si vous
    définissez cette directive dans la configuration de
    votre serveur principal, car cette dernière ne sera chargée qu'une
    seule fois au moment du démarrage du serveur, alors qu'elle le sera
    à chaque accès dans le cas d'un fichier <code>.htaccess</code>.</p>

    <p>L'utilisation des fichiers <code>.htaccess</code> peut être
    entièrement désactivée en définissant la directive <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> à <code>none</code> :</p>

    <div class="example"><p><code>
      AllowOverride None
    </code></p></div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="how" id="how">Comment sont appliquées les directives ?</a></h2>

    <p>Les directives de configuration situées dans un fichier
    <code>.htaccess</code> s'appliquent au répertoire dans lequel ce
    fichier <code>.htaccess</code> se trouve, ainsi qu'à tous ses
    sous-répertoires. Cependant, il est important de garder à l'esprit
    qu'il peut y avoir des fichiers <code>.htaccess</code> dans les
    répertoires de niveau supérieur. Les directives sont appliquées
    selon l'ordre dans lequel elles sont rencontrées. Ainsi, les
    directives d'un fichier <code>.htaccess</code> situé dans un
    répertoire particulier peuvent écraser les directives se trouvant
    dans des fichiers <code>.htaccess</code> situés à un niveau
    supérieur dans l'arborescence des répertoires. Et ces dernières
    peuvent elles-mêmes avoir écrasé des directives d'un fichier
    <code>.htaccess</code> situé à un niveau encore plus haut, ou dans
    le fichier de configuration du serveur principal.</p>

    <p>Exemple :</p>

    <p>Dans le répertoire <code>/www/htdocs/exemple1</code> se trouve un
    fichier <code>.htaccess</code> contenant ce qui suit :</p>

    <div class="example"><p><code>
       Options +ExecCGI
    </code></p></div>

    <p>Note : "<code>AllowOverride Options</code>" doit être présent
    pour permettre l'utilisation de la directive "<code class="directive"><a href="../mod/core.html#options">Options</a></code>"  dans les fichiers
    <code>.htaccess</code> files.</p>

    <p>Dans le répertoire <code>/www/htdocs/exemple1/exemple2</code> se
    trouve un fichier <code>.htaccess</code> contenant ce qui suit
    :</p>

    <div class="example"><p><code>
       Options Includes
    </code></p></div>

    <p>Ainsi, à cause de ce second fichier <code>.htaccess</code> du
    répertoire <code>/www/htdocs/exemple1/exemple2</code>, l'exécution
    des CGI est interdite, car la dernière définition d'options
    <code>Options Includes</code> écrase toute autre définition
    d'options d'un fichier <code>.htaccess</code> situé dans un
    répertoire de niveau supérieur.</p>

    <h3><a name="merge" id="merge">Interactions entre les fichiers .htaccess
    et les fichiers de configuration du serveur principal</a></h3>

    <p>Comme indiqué dans la documentation sur les <a href="../sections.html">Sections de configuration</a>, les fichiers
    <code>.htaccess</code> peuvent écraser les directives des sections
    <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code> pour
    le répertoire correspondant, mais peuvent eux-mêmes être écrasés
    par d'autres types de sections des fichiers de la
    configuration principale. Cette possibilité peut s'avérer utile pour
    forcer certaines configurations, même en cas de présence de l'option
    libérale <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code>. Par
    exemple, pour interdire l'exécution de scripts en autorisant la
    définition de toute autre option dans les fichiers
    <code>.htaccess</code>, vous pouvez utiliser :</p>

    <div class="example"><p><code>
&lt;Directory /&gt;<br />
<span class="indent">
Allowoverride All<br />
</span>
&lt;/Directory&gt;<br />
<br />
&lt;Location /&gt;<br />
<span class="indent">
Options +IncludesNoExec -ExecCGI<br />
</span>
&lt;/Location&gt;
    </code></p></div>


</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="auth" id="auth">Exemple d'authentification</a></h2>

    <p>Si vous accédez directement à ce point du document pour apprendre
    à effectuer une authentification, il est important de noter ceci. Il
    existe une fausse idée selon laquelle il serait nécessaire
    d'utiliser les fichiers <code>.htaccess</code> pour implémenter
    l'authentification par mot de passe. Ceci est tout simplement faux.
    Pour y parvenir, il est préférable de mettre les directives
    d'authentification dans une section <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code> du fichier de configuration de
    votre serveur principal, et les fichiers <code>.htaccess</code> ne
    devraient être utilisés que dans le cas où vous n'avez pas accès au
    fichier de configuration du serveur principal. Voir <a href="#when">ci-dessus</a> pour savoir dans quels cas vous devez ou
    ne devez pas utiliser les fichiers <code>.htaccess</code>.</p>

    <p>Ceci étant dit, si vous pensez que vous devez quand-même utiliser
    un fichier <code>.htaccess</code>, vous pouvez utiliser la
    configuration suivante :</p>

    <p>Contenu du fichier <code>.htaccess</code> :</p>

    <div class="example"><p><code>
      AuthType Basic<br />
      AuthName "Password Required"<br />
      AuthUserFile /www/passwords/password.file<br />
      AuthGroupFile /www/passwords/group.file<br />
      Require Group admins
    </code></p></div>

    <p>Notez que <code>AllowOverride AuthConfig</code> doit être présent
    pour que ces directives produisent leur effet.</p>

    <p>Vous pouvez vous référer au <a href="auth.html">tutoriel sur
    l'authentification</a> pour une description plus détaillée de
    l'authentification et de l'autorisation.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="ssi" id="ssi">Exemple d'Inclusion Côté Serveur (Server Side
Includes - SSI)</a></h2>

    <p>Les fichiers <code>.htaccess</code> sont aussi couramment
    utilisés pour activer les SSI pour un répertoire particulier. Pour y
    parvenir, on utilise les directives de configuration suivantes,
    placées dans un fichier <code>.htaccess</code> enregistré dans le
    répertoire considéré :</p>

    <div class="example"><p><code>
       Options +Includes<br />
       AddType text/html shtml<br />
       AddHandler server-parsed shtml
    </code></p></div>

    <p>Notez que <code>AllowOverride Options</code> et <code>AllowOverride
    FileInfo</code> doivent être tous les deux présents pour que ces
    directives puissent produire leur effet.</p>

    <p>Vous pouvez vous référer au <a href="ssi.html">tutoriel SSI</a>
    pour une description plus détaillée des SSI.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="cgi" id="cgi">Exemple de CGI</a></h2>

    <p>En fin de compte, vous avez décidé d'utiliser un fichier
    <code>.htaccess</code> pour permettre l'exécution des programmes CGI
    dans un répertoire particulier. Pour y parvenir, vous pouvez
    utiliser la configuration suivante :</p>

    <div class="example"><p><code>
       Options +ExecCGI<br />
       AddHandler cgi-script cgi pl
    </code></p></div>

    <p>Alternativement, si vous souhaitez que tous les fichiers d'un
    répertoire donné soient considérés comme des programmes CGI, vous
    pouvez utiliser la configuration suivante :</p>

    <div class="example"><p><code>
       Options +ExecCGI<br />
       SetHandler cgi-script
    </code></p></div>

    <p>Notez que <code>AllowOverride Options</code> et <code>AllowOverride
    FileInfo</code> doivent être tous les deux présents pour que ces
    directives puissent produire leur effet.</p>

    <p>Vous pouvez vous référer au <a href="cgi.html">tutoriel CGI</a>
    pour une description plus détaillée de la configuration et de la
    proprammation CGI.</p>

</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="troubleshoot" id="troubleshoot">Résolution des problèmes</a></h2>

    <p>De nombreuses raisons peuvent être à l'origine du fait que
    les directives que vous avez mises dans un fichier
    <code>.htaccess</code> ne produisent pas l'effet désiré.</p>

    <p>Le plus souvent, le problème vient du fait que la définition de
    la directive <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code>
    ne permet pas l'activation des directives de votre fichier
    <code>.htaccess</code>. Vérifiez si une directive
    <code>AllowOverride None</code> n'affecte pas le répertoire où se
    trouve votre fichier. Un bon test consiste à mettre des directives
    dont la syntaxe est erronée dans votre ficher <code>.htaccess</code>
    et de recharger la page. Si aucune erreur n'est générée par le
    serveur, il est pratiquement certain qu'une directive
    <code>AllowOverride None</code> affecte votre répertoire.</p>

    <p>Par contre, si vous obtenez des erreurs de serveur lorsque vous
    tentez d'accéder à des documents, consultez votre journal des
    erreurs de httpd. Il vous indiquera probablement que la directive
    utilisée dans votre fichier <code>.htaccess</code> n'est pas
    permise.</p>

    <div class="example"><p><code>
    [Fri Sep 17 18:43:16 2010] [alert] [client 192.168.200.51] /var/www/html/.htaccess: DirectoryIndex not allowed here
    </code></p></div>

    <p>Une ligne de ce style indique soit que vous avez utilisé une directive
    jamais autorisée dans les fichiers <code>.htaccess</code>, soit que
    vous n'avez pas défini l'option <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> à un niveau suffisant pour
    la directive que vous avez utilisée. Voir la documentation de la
    directive concernée pour résoudre le problème.</p>

    <p>Il se peut aussi que la définition de votre directive contienne
    une erreur de syntaxe.</p>

    <div class="example"><p><code>
    [Sat Aug 09 16:22:34 2008] [alert] [client 192.168.200.51] /var/www/html/.htaccess: RewriteCond: bad flag delimiters
    </code></p></div>

    <p>Dans ce cas, le message d'erreur sera spécifique à l'erreur de
    syntaxe que vous aurez introduite.</p>

</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/howto/htaccess.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../fr/howto/htaccess.html" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/howto/htaccess.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/howto/htaccess.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../pt-br/howto/htaccess.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)">&nbsp;pt-br&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 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/2.2/howto/htaccess.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 2013 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="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>