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="<-" alt="<-" src="../images/left.gif" /></a></div> 23 <div id="path"> 24 <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.2</a> > <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"> en </a> | 34 <a href="../fr/howto/htaccess.html" title="Français"> fr </a> | 35 <a href="../ja/howto/htaccess.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | 36 <a href="../ko/howto/htaccess.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | 37 <a href="../pt-br/howto/htaccess.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </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"><Directory></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><Directory /www/htdocs/exemple></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 <Directory /www/htdocs/exemple><br /> 245 <span class="indent"> 246 AddType text/exemple .exm<br /> 247 </span> 248 </Directory> 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"><Directory></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 <Directory /><br /> 327 <span class="indent"> 328 Allowoverride All<br /> 329 </span> 330 </Directory><br /> 331 <br /> 332 <Location /><br /> 333 <span class="indent"> 334 Options +IncludesNoExec -ExecCGI<br /> 335 </span> 336 </Location> 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"><Directory></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"> en </a> | 478 <a href="../fr/howto/htaccess.html" title="Français"> fr </a> | 479 <a href="../ja/howto/htaccess.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | 480 <a href="../ko/howto/htaccess.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | 481 <a href="../pt-br/howto/htaccess.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </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&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>