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

     1  <?xml version="1.0" encoding="ISO-8859-1"?>
     2  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
     3  <html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head>
     4  <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
     5  <!--
     6          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
     7                This file is generated from xml source: DO NOT EDIT
     8          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
     9        -->
    10  <title>Tutoriel du serveur HTTP Apache : fichiers .htaccess - Serveur Apache HTTP Version 2.2</title>
    11  <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
    12  <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
    13  <link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
    14  <script src="../style/scripts/prettify.min.js" type="text/javascript">
    15  </script>
    16  
    17  <link href="../images/favicon.ico" rel="shortcut icon" /><link href="http://httpd.apache.org/docs/current/howto/htaccess.html" rel="canonical" /></head>
    18  <body id="manual-page"><div id="page-header">
    19  <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
    20  <p class="apache">Serveur Apache HTTP Version 2.2</p>
    21  <img alt="" src="../images/feather.gif" /></div>
    22  <div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
    23  <div id="path">
    24  <a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.2</a> &gt; <a href="./">Recettes / Tutoriels</a></div><div id="page-content"><div class="retired"><h4>A savoir</h4>
    25              <p>Ce document concerne une version ancienne (<strong>2.2</strong>)
    26  	    du serveur HTTP Apache. La version actuelle est
    27  	    documentée <a href="http://httpd.apache.org/docs/current">ici</a>. Si vous n'avez
    28  	    pas encore effectué la mise è jour, veuillez suivre <a href="http://httpd.apache.org/docs/current/upgrading.html">ce
    29  	    lien</a> pour plus d'informations.</p>
    30          <p>Pour consulter la version actuelle de ce
    31  	document, vous pouvez suivre <a href="http://httpd.apache.org/docs/current/howto/htaccess.html">ce lien</a>.</p></div><div id="preamble"><h1>Tutoriel du serveur HTTP Apache : fichiers .htaccess</h1>
    32  <div class="toplang">
    33  <p><span>Langues Disponibles: </span><a href="../en/howto/htaccess.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
    34  <a href="../fr/howto/htaccess.html" title="Français">&nbsp;fr&nbsp;</a> |
    35  <a href="../ja/howto/htaccess.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
    36  <a href="../ko/howto/htaccess.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
    37  <a href="../pt-br/howto/htaccess.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)">&nbsp;pt-br&nbsp;</a></p>
    38  </div>
    39  
    40  <p>Les fichiers <code>.htaccess</code> fournissent une méthode pour
    41  modifier la configuration du serveur au niveau de chaque répertoire.</p>
    42  </div>
    43  <div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#related">Fichiers .htaccess</a></li>
    44  <li><img alt="" src="../images/down.gif" /> <a href="#what">Que sont ce fichiers, comment les utiliser ?</a></li>
    45  <li><img alt="" src="../images/down.gif" /> <a href="#when">Quand doit-on (ne doit-on pas) utiliser
    46      les fichiers .htaccess ?</a></li>
    47  <li><img alt="" src="../images/down.gif" /> <a href="#how">Comment sont appliquées les directives ?</a></li>
    48  <li><img alt="" src="../images/down.gif" /> <a href="#auth">Exemple d'authentification</a></li>
    49  <li><img alt="" src="../images/down.gif" /> <a href="#ssi">Exemple d'Inclusion Côté Serveur (Server Side
    50  Includes - SSI)</a></li>
    51  <li><img alt="" src="../images/down.gif" /> <a href="#cgi">Exemple de CGI</a></li>
    52  <li><img alt="" src="../images/down.gif" /> <a href="#troubleshoot">Résolution des problèmes</a></li>
    53  </ul><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div>
    54  <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    55  <div class="section">
    56  <h2><a name="related" id="related">Fichiers .htaccess</a></h2>
    57      
    58      <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>
    59  
    60      <div class="note">Les fichiers <code>.htaccess</code> ne doivent être utilisés
    61      que si vous n'avez pas accès au fichier de configuration du serveur
    62      principal. L'utilisation des fichiers <code>.htaccess</code>
    63      ralentit le fonctionnement de votre serveur http Apache. Il est toujours
    64      préférable de définir les directives que vous pouvez inclure dans un
    65      fichier <code>.htaccess</code> dans une section <code class="directive"><a href="../mod/core.html#directory">Directory</a></code>, car elles produiront le
    66      même effet avec de meilleures performances.</div>
    67  </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
    68  <div class="section">
    69  <h2><a name="what" id="what">Que sont ce fichiers, comment les utiliser ?</a></h2>
    70  
    71  
    72      <p>Les fichiers <code>.htaccess</code> (ou "fichiers de
    73      configuration distribués) fournissent une méthode pour modifier la
    74      configuration du serveur au niveau de chaque répertoire. Un fichier,
    75      contenant une ou plusieurs directives de configuration, est placé
    76      dans un répertoire de documents particulier, et ses directives
    77      s'appliquent à ce répertoire et à tous ses sous-répertoires.</p>
    78  
    79      <div class="note"><h3>Note :</h3>
    80        <p>Si vous voulez donner un autre nom à votre fichier
    81        <code>.htaccess</code>, vous pouvez le faire en utilisant la
    82        directive <code class="directive"><a href="../mod/core.html#accessfilename">AccessFileName</a></code>. Par
    83        exemple, si vous préférez nommer votre fichier
    84        <code>.config</code>, vous pouvez mettre ceci dans le fichier de
    85        configuration de votre serveur :</p>
    86  
    87        <div class="example"><p><code>
    88          AccessFileName .config
    89        </code></p></div>
    90      </div>
    91  
    92      <p>En général, les fichiers <code>.htaccess</code> utilisent la même
    93      syntaxe que les <a href="../configuring.html#syntax">fichiers de
    94      configuration principaux</a>. Ce que vous pouvez mettre dans ces
    95      fichier est déterminé par la directive <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code>. Cette directive spécifie,
    96      sous forme de catégories, quelles directives seront traitées si
    97      elles se trouvent dans un fichier <code>.htaccess</code>. Si une
    98      directive est permise dans un fichier <code>.htaccess</code>,
    99      la documentation de cette directive contiendra une section Override,
   100      spécifiant quelle valeur doit prendre <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> pour que cette directive
   101      soit traitée.</p>
   102  
   103      <p>Par exemple, si vous regardez la documentation de la directive
   104      <code class="directive"><a href="../mod/core.html#adddefaultcharset">AddDefaultCharset</a></code>, vous verrez
   105      que cette dernière est permise dans les fichiers
   106      <code>.htaccess</code> (Voir la ligne de contexte dans le résumé de
   107      la directive). La ligne <a href="../mod/directive-dict.html#Context">Override</a> indique
   108      <code>FileInfo</code>. Vous devez donc avoir au moins
   109      <code>AllowOverride FileInfo</code> pour que cette directive soit
   110      traitée dans les fichiers <code>.htaccess</code>.</p>
   111  
   112      <div class="example"><h3>Exemple :</h3><table>
   113          <tr>
   114            <td><a href="../mod/directive-dict.html#Context">Contexte :</a></td>
   115            <td>configuration du serveur, serveur virtuel, directory, .htaccess</td>
   116          </tr>
   117  
   118          <tr>
   119            <td><a href="../mod/directive-dict.html#Override">Override:</a></td>
   120            <td>FileInfo</td>
   121          </tr>
   122        </table></div>
   123  
   124      <p>Si vous n'êtes pas sûr qu'une directive particulière soit permise
   125      dans un fichier <code>.htaccess</code>, lisez la documentation de
   126      cette directive, et consultez la ligne de contexte pour
   127      ".htaccess".</p>
   128      </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
   129  <div class="section">
   130  <h2><a name="when" id="when">Quand doit-on (ne doit-on pas) utiliser
   131      les fichiers .htaccess ?</a></h2>
   132  
   133      <p>En principe, vous ne devriez utiliser les fichiers
   134      <code>.htaccess</code> que si vous n'avez pas accès au fichier de
   135      configuration du serveur principal. Par exemple, la fausse idée 
   136      selon laquelle l'authentification de l'utilisateur devrait toujours
   137      être faite dans les fichiers <code>.htaccess</code>, et ces
   138      dernières années celle selon laquelle les directives de
   139      <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> doivent aussi être définies dans ces
   140      même fichiers <code>.htaccess</code> sont très
   141      répandues. Ceci est tout simplement faux. Vous pouvez configurer
   142      l'authentification des utilisateurs au niveau de la configuration du
   143      serveur principal, et c'est en fait cette méthode qui doit être
   144      privilégiée. De même, les directives de
   145      <code>mod_rewrite</code> fonctionnent de manière plus satisfaisante
   146      à de nombreux égards dans la configuration du serveur principal.</p>
   147  
   148      <p>Les fichiers <code>.htaccess</code> ne devraient être utilisés
   149      que dans le cas où les fournisseurs de contenu ont besoin de
   150      modifier la configuration du serveur au niveau d'un répertoire, mais
   151      ne possèdent pas l'accès root sur le système du serveur. Si
   152      l'administrateur du serveur ne souhaite pas effectuer des
   153      modifications de configuration incessantes, il peut être intéressant
   154      de permettre aux utilisateurs isolés d'effectuer eux-mêmes ces
   155      modifications par le biais de fichiers <code>.htaccess</code>. Ceci
   156      est particulièrement vrai dans le cas où le fournisseur d'accès à
   157      Internet héberge de nombreux sites d'utilisateurs sur un seul
   158      serveur, et souhaite que ces utilisateurs puissent modifier
   159      eux-mêmes leurs configurations.</p>
   160  
   161      <p>Cependant et d'une manière générale, il vaut mieux éviter
   162      d'utiliser les fichiers <code>.htaccess</code>. Tout élément de
   163      configuration que vous pourriez vouloir mettre dans un fichier
   164      <code>.htaccess</code>, peut aussi être mis, et avec la même
   165      efficacité, dans une section <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code> du fichier de configuration de
   166      votre serveur principal.</p>
   167  
   168      <p>Il y a deux raisons principales d'éviter l'utilisation des
   169      fichiers <code>.htaccess</code>.</p>
   170  
   171      <p>La première est liée aux performances. Lorsque la directive
   172      <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> est définie de
   173      façon à autoriser l'utilisation des fichiers <code>.htaccess</code>,
   174      httpd va rechercher leur présence dans chaque répertoire. Ainsi,
   175      permettre l'utilisation des fichiers <code>.htaccess</code> est déjà
   176      en soi une cause de dégradation des performances, que vous utilisiez
   177      effectivement ces fichiers ou non ! De plus, le fichier
   178      <code>.htaccess</code> est chargé en mémoire chaque fois qu'un
   179      document fait l'objet d'une requête.</p>
   180  
   181      <p>Notez aussi que httpd doit rechercher les fichiers
   182      <code>.htaccess</code> dans tous les répertoires de niveau
   183      supérieur, afin de rassembler toutes les directives qui s'appliquent
   184      au répertoire courant (Voir la section <a href="#how">comment sont
   185      appliquées les directives</a>). Ainsi, si un fichier fait l'objet
   186      d'une requête à partir d'un répertoire
   187      <code>/www/htdocs/exemple</code>, httpd doit rechercher les
   188      fichiers suivants :</p>
   189  
   190      <div class="example"><p><code>
   191        /.htaccess<br />
   192        /www/.htaccess<br />
   193        /www/htdocs/.htaccess<br />
   194        /www/htdocs/exemple/.htaccess
   195      </code></p></div>
   196  
   197      <p>En conséquence, chaque accès à un fichier de ce répertoire
   198      nécessite 4 accès au système de fichiers supplémentaires pour
   199      rechercher des fichiers <code>.htaccess</code>, même si
   200      aucun de ces fichiers n'est présent. Notez que cet exemple ne peut
   201      se produire que si les fichiers <code>.htaccess</code> ont été
   202      autorisés pour le répertoire <code>/</code>, ce qui est rarement le
   203      cas.</p>
   204  
   205      <p>Pour ce qui est des directives <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> dans un contexte
   206      <code>.htaccess</code>, les expressions rationnelles doivent être
   207      recompilées à chaque requête pour le répertoire concerné, alors que
   208      dans le contexte de la configuration du serveur principal, elles ne
   209      sont compilées qu'une seule fois et mises en cache. De plus, les
   210      règles en elles-mêmes sont plus complexes, et il faut tenir compte
   211      des restrictions inhérentes à <code>mod_rewrite</code> dans le
   212      contexte des répertoires. Voir le <a href="../rewrite/intro.html#htaccess">Guide de réécriture</a> pour
   213      plus de détails à ce sujet.</p>
   214  
   215      <p>La seconde raison d'éviter l'utilisation des fichiers
   216      <code>.htaccess</code> est liée à la sécurité. Si vous permettez aux
   217      utilisateurs de modifier la configuration du serveur, il peut en
   218      résulter des conséquences sur lesquelles vous n'aurez aucun
   219      contrôle. Réfléchissez bien avant de donner ce privilège à vos
   220      utilisateurs. Notez aussi que ne pas donner aux utilisateurs les
   221      privilèges dont ils ont besoin va entraîner une augmentation des
   222      demandes de support technique. Assurez-vous d'avoir informé
   223      clairement vos utilisateurs du niveau de privilèges que vous leur
   224      avez attribué. Indiquer exactement comment vous avez défini la
   225      directive <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code>, et
   226      diriger les utilisateurs vers la documentation correspondante, vous
   227      évitera bien des confusions ultérieures.</p>
   228  
   229      <p>Notez que mettre un fichier <code>.htaccess</code> contenant une
   230      directive dans un répertoire <code>/www/htdocs/exemple</code>
   231      revient exactement au même que mettre la même directive dans une
   232      section Directory <code>&lt;Directory /www/htdocs/exemple&gt;</code>
   233      du fichier de configuration de votre serveur principal :</p>
   234  
   235      <p>Fichier <code>.htaccess</code> dans
   236      <code>/www/htdocs/exemple</code> :</p>
   237  
   238      <div class="example"><h3>Contenu du fichier .htaccess dans
   239      <code>/www/htdocs/exemple</code></h3><pre class="prettyprint lang-config">AddType text/example .exm</pre>
   240  </div>
   241  
   242      <div class="example"><h3>Section de votre fichier
   243      <code>httpd.conf</code></h3><p><code>
   244        &lt;Directory /www/htdocs/exemple&gt;<br />
   245        <span class="indent">
   246          AddType text/exemple .exm<br />
   247        </span>
   248        &lt;/Directory&gt;
   249      </code></p></div>
   250  
   251      <p>Cependant, la perte de performances sera moindre si vous
   252      définissez cette directive dans la configuration de
   253      votre serveur principal, car cette dernière ne sera chargée qu'une
   254      seule fois au moment du démarrage du serveur, alors qu'elle le sera
   255      à chaque accès dans le cas d'un fichier <code>.htaccess</code>.</p>
   256  
   257      <p>L'utilisation des fichiers <code>.htaccess</code> peut être
   258      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>
   259  
   260      <div class="example"><p><code>
   261        AllowOverride None
   262      </code></p></div>
   263  </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
   264  <div class="section">
   265  <h2><a name="how" id="how">Comment sont appliquées les directives ?</a></h2>
   266  
   267      <p>Les directives de configuration situées dans un fichier
   268      <code>.htaccess</code> s'appliquent au répertoire dans lequel ce
   269      fichier <code>.htaccess</code> se trouve, ainsi qu'à tous ses
   270      sous-répertoires. Cependant, il est important de garder à l'esprit
   271      qu'il peut y avoir des fichiers <code>.htaccess</code> dans les
   272      répertoires de niveau supérieur. Les directives sont appliquées
   273      selon l'ordre dans lequel elles sont rencontrées. Ainsi, les
   274      directives d'un fichier <code>.htaccess</code> situé dans un
   275      répertoire particulier peuvent écraser les directives se trouvant
   276      dans des fichiers <code>.htaccess</code> situés à un niveau
   277      supérieur dans l'arborescence des répertoires. Et ces dernières
   278      peuvent elles-mêmes avoir écrasé des directives d'un fichier
   279      <code>.htaccess</code> situé à un niveau encore plus haut, ou dans
   280      le fichier de configuration du serveur principal.</p>
   281  
   282      <p>Exemple :</p>
   283  
   284      <p>Dans le répertoire <code>/www/htdocs/exemple1</code> se trouve un
   285      fichier <code>.htaccess</code> contenant ce qui suit :</p>
   286  
   287      <div class="example"><p><code>
   288         Options +ExecCGI
   289      </code></p></div>
   290  
   291      <p>Note : "<code>AllowOverride Options</code>" doit être présent
   292      pour permettre l'utilisation de la directive "<code class="directive"><a href="../mod/core.html#options">Options</a></code>"  dans les fichiers
   293      <code>.htaccess</code> files.</p>
   294  
   295      <p>Dans le répertoire <code>/www/htdocs/exemple1/exemple2</code> se
   296      trouve un fichier <code>.htaccess</code> contenant ce qui suit
   297      :</p>
   298  
   299      <div class="example"><p><code>
   300         Options Includes
   301      </code></p></div>
   302  
   303      <p>Ainsi, à cause de ce second fichier <code>.htaccess</code> du
   304      répertoire <code>/www/htdocs/exemple1/exemple2</code>, l'exécution
   305      des CGI est interdite, car la dernière définition d'options
   306      <code>Options Includes</code> écrase toute autre définition
   307      d'options d'un fichier <code>.htaccess</code> situé dans un
   308      répertoire de niveau supérieur.</p>
   309  
   310      <h3><a name="merge" id="merge">Interactions entre les fichiers .htaccess
   311      et les fichiers de configuration du serveur principal</a></h3>
   312  
   313      <p>Comme indiqué dans la documentation sur les <a href="../sections.html">Sections de configuration</a>, les fichiers
   314      <code>.htaccess</code> peuvent écraser les directives des sections
   315      <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code> pour
   316      le répertoire correspondant, mais peuvent eux-mêmes être écrasés
   317      par d'autres types de sections des fichiers de la
   318      configuration principale. Cette possibilité peut s'avérer utile pour
   319      forcer certaines configurations, même en cas de présence de l'option
   320      libérale <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code>. Par
   321      exemple, pour interdire l'exécution de scripts en autorisant la
   322      définition de toute autre option dans les fichiers
   323      <code>.htaccess</code>, vous pouvez utiliser :</p>
   324  
   325      <div class="example"><p><code>
   326  &lt;Directory /&gt;<br />
   327  <span class="indent">
   328  Allowoverride All<br />
   329  </span>
   330  &lt;/Directory&gt;<br />
   331  <br />
   332  &lt;Location /&gt;<br />
   333  <span class="indent">
   334  Options +IncludesNoExec -ExecCGI<br />
   335  </span>
   336  &lt;/Location&gt;
   337      </code></p></div>
   338  
   339  
   340  </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
   341  <div class="section">
   342  <h2><a name="auth" id="auth">Exemple d'authentification</a></h2>
   343  
   344      <p>Si vous accédez directement à ce point du document pour apprendre
   345      à effectuer une authentification, il est important de noter ceci. Il
   346      existe une fausse idée selon laquelle il serait nécessaire
   347      d'utiliser les fichiers <code>.htaccess</code> pour implémenter
   348      l'authentification par mot de passe. Ceci est tout simplement faux.
   349      Pour y parvenir, il est préférable de mettre les directives
   350      d'authentification dans une section <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code> du fichier de configuration de
   351      votre serveur principal, et les fichiers <code>.htaccess</code> ne
   352      devraient être utilisés que dans le cas où vous n'avez pas accès au
   353      fichier de configuration du serveur principal. Voir <a href="#when">ci-dessus</a> pour savoir dans quels cas vous devez ou
   354      ne devez pas utiliser les fichiers <code>.htaccess</code>.</p>
   355  
   356      <p>Ceci étant dit, si vous pensez que vous devez quand-même utiliser
   357      un fichier <code>.htaccess</code>, vous pouvez utiliser la
   358      configuration suivante :</p>
   359  
   360      <p>Contenu du fichier <code>.htaccess</code> :</p>
   361  
   362      <div class="example"><p><code>
   363        AuthType Basic<br />
   364        AuthName "Password Required"<br />
   365        AuthUserFile /www/passwords/password.file<br />
   366        AuthGroupFile /www/passwords/group.file<br />
   367        Require Group admins
   368      </code></p></div>
   369  
   370      <p>Notez que <code>AllowOverride AuthConfig</code> doit être présent
   371      pour que ces directives produisent leur effet.</p>
   372  
   373      <p>Vous pouvez vous référer au <a href="auth.html">tutoriel sur
   374      l'authentification</a> pour une description plus détaillée de
   375      l'authentification et de l'autorisation.</p>
   376  </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
   377  <div class="section">
   378  <h2><a name="ssi" id="ssi">Exemple d'Inclusion Côté Serveur (Server Side
   379  Includes - SSI)</a></h2>
   380  
   381      <p>Les fichiers <code>.htaccess</code> sont aussi couramment
   382      utilisés pour activer les SSI pour un répertoire particulier. Pour y
   383      parvenir, on utilise les directives de configuration suivantes,
   384      placées dans un fichier <code>.htaccess</code> enregistré dans le
   385      répertoire considéré :</p>
   386  
   387      <div class="example"><p><code>
   388         Options +Includes<br />
   389         AddType text/html shtml<br />
   390         AddHandler server-parsed shtml
   391      </code></p></div>
   392  
   393      <p>Notez que <code>AllowOverride Options</code> et <code>AllowOverride
   394      FileInfo</code> doivent être tous les deux présents pour que ces
   395      directives puissent produire leur effet.</p>
   396  
   397      <p>Vous pouvez vous référer au <a href="ssi.html">tutoriel SSI</a>
   398      pour une description plus détaillée des SSI.</p>
   399  </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
   400  <div class="section">
   401  <h2><a name="cgi" id="cgi">Exemple de CGI</a></h2>
   402  
   403      <p>En fin de compte, vous avez décidé d'utiliser un fichier
   404      <code>.htaccess</code> pour permettre l'exécution des programmes CGI
   405      dans un répertoire particulier. Pour y parvenir, vous pouvez
   406      utiliser la configuration suivante :</p>
   407  
   408      <div class="example"><p><code>
   409         Options +ExecCGI<br />
   410         AddHandler cgi-script cgi pl
   411      </code></p></div>
   412  
   413      <p>Alternativement, si vous souhaitez que tous les fichiers d'un
   414      répertoire donné soient considérés comme des programmes CGI, vous
   415      pouvez utiliser la configuration suivante :</p>
   416  
   417      <div class="example"><p><code>
   418         Options +ExecCGI<br />
   419         SetHandler cgi-script
   420      </code></p></div>
   421  
   422      <p>Notez que <code>AllowOverride Options</code> et <code>AllowOverride
   423      FileInfo</code> doivent être tous les deux présents pour que ces
   424      directives puissent produire leur effet.</p>
   425  
   426      <p>Vous pouvez vous référer au <a href="cgi.html">tutoriel CGI</a>
   427      pour une description plus détaillée de la configuration et de la
   428      proprammation CGI.</p>
   429  
   430  </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
   431  <div class="section">
   432  <h2><a name="troubleshoot" id="troubleshoot">Résolution des problèmes</a></h2>
   433  
   434      <p>De nombreuses raisons peuvent être à l'origine du fait que
   435      les directives que vous avez mises dans un fichier
   436      <code>.htaccess</code> ne produisent pas l'effet désiré.</p>
   437  
   438      <p>Le plus souvent, le problème vient du fait que la définition de
   439      la directive <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code>
   440      ne permet pas l'activation des directives de votre fichier
   441      <code>.htaccess</code>. Vérifiez si une directive
   442      <code>AllowOverride None</code> n'affecte pas le répertoire où se
   443      trouve votre fichier. Un bon test consiste à mettre des directives
   444      dont la syntaxe est erronée dans votre ficher <code>.htaccess</code>
   445      et de recharger la page. Si aucune erreur n'est générée par le
   446      serveur, il est pratiquement certain qu'une directive
   447      <code>AllowOverride None</code> affecte votre répertoire.</p>
   448  
   449      <p>Par contre, si vous obtenez des erreurs de serveur lorsque vous
   450      tentez d'accéder à des documents, consultez votre journal des
   451      erreurs de httpd. Il vous indiquera probablement que la directive
   452      utilisée dans votre fichier <code>.htaccess</code> n'est pas
   453      permise.</p>
   454  
   455      <div class="example"><p><code>
   456      [Fri Sep 17 18:43:16 2010] [alert] [client 192.168.200.51] /var/www/html/.htaccess: DirectoryIndex not allowed here
   457      </code></p></div>
   458  
   459      <p>Une ligne de ce style indique soit que vous avez utilisé une directive
   460      jamais autorisée dans les fichiers <code>.htaccess</code>, soit que
   461      vous n'avez pas défini l'option <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> à un niveau suffisant pour
   462      la directive que vous avez utilisée. Voir la documentation de la
   463      directive concernée pour résoudre le problème.</p>
   464  
   465      <p>Il se peut aussi que la définition de votre directive contienne
   466      une erreur de syntaxe.</p>
   467  
   468      <div class="example"><p><code>
   469      [Sat Aug 09 16:22:34 2008] [alert] [client 192.168.200.51] /var/www/html/.htaccess: RewriteCond: bad flag delimiters
   470      </code></p></div>
   471  
   472      <p>Dans ce cas, le message d'erreur sera spécifique à l'erreur de
   473      syntaxe que vous aurez introduite.</p>
   474  
   475  </div></div>
   476  <div class="bottomlang">
   477  <p><span>Langues Disponibles: </span><a href="../en/howto/htaccess.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
   478  <a href="../fr/howto/htaccess.html" title="Français">&nbsp;fr&nbsp;</a> |
   479  <a href="../ja/howto/htaccess.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
   480  <a href="../ko/howto/htaccess.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
   481  <a href="../pt-br/howto/htaccess.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)">&nbsp;pt-br&nbsp;</a></p>
   482  </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>
   483  <script type="text/javascript"><!--//--><![CDATA[//><!--
   484  var comments_shortname = 'httpd';
   485  var comments_identifier = 'http://httpd.apache.org/docs/2.2/howto/htaccess.html';
   486  (function(w, d) {
   487      if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
   488          d.write('<div id="comments_thread"><\/div>');
   489          var s = d.createElement('script');
   490          s.type = 'text/javascript';
   491          s.async = true;
   492          s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
   493          (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
   494      }
   495      else { 
   496          d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
   497      }
   498  })(window, document);
   499  //--><!]]></script></div><div id="footer">
   500  <p class="apache">Copyright 2017 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
   501  <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[//><!--
   502  if (typeof(prettyPrint) !== 'undefined') {
   503      prettyPrint();
   504  }
   505  //--><!]]></script>
   506  </body></html>