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