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