]> granicus.if.org Git - apache/blob - docs/manual/howto/htaccess.html.fr
Update transformations.
[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 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" />
12 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
13 <body id="manual-page"><div id="page-header">
14 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
15 <p class="apache">Serveur Apache HTTP Version 2.3</p>
16 <img alt="" src="../images/feather.gif" /></div>
17 <div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
18 <div id="path">
19 <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.3</a> &gt; <a href="./">Recettes / Tutoriels</a></div><div id="page-content"><div id="preamble"><h1>Tutoriel Apache : fichiers .htaccess</h1>
20 <div class="toplang">
21 <p><span>Langues Disponibles: </span><a href="../en/howto/htaccess.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
22 <a href="../fr/howto/htaccess.html" title="Français">&nbsp;fr&nbsp;</a> |
23 <a href="../ja/howto/htaccess.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
24 <a href="../ko/howto/htaccess.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
25 <a href="../pt-br/howto/htaccess.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)">&nbsp;pt-br&nbsp;</a></p>
26 </div>
27
28 <p>Les fichiers <code>.htaccess</code> fournissent une méthode pour
29 modifier la configuration du serveur au niveau de chaque répertoire.</p>
30 </div>
31 <div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#related">Fichiers .htaccess</a></li>
32 <li><img alt="" src="../images/down.gif" /> <a href="#what">Que sont ce fichiers, comment les utiliser ?</a></li>
33 <li><img alt="" src="../images/down.gif" /> <a href="#when">Quand doit-on (ne doit-on pas) utiliser
34     les fichiers .htaccess ?</a></li>
35 <li><img alt="" src="../images/down.gif" /> <a href="#how">Comment sont appliquées les directives ?</a></li>
36 <li><img alt="" src="../images/down.gif" /> <a href="#auth">Exemple d'authentification</a></li>
37 <li><img alt="" src="../images/down.gif" /> <a href="#ssi">Exemple d'Inclusion Côté Serveur (Server Side
38 Includes - SSI)</a></li>
39 <li><img alt="" src="../images/down.gif" /> <a href="#cgi">Exemple de CGI</a></li>
40 <li><img alt="" src="../images/down.gif" /> <a href="#troubleshoot">Résolution des problèmes</a></li>
41 </ul></div>
42 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
43 <div class="section">
44 <h2><a name="related" id="related">Fichiers .htaccess</a></h2>
45     
46     <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/mod_authn_core.html#authtype">AuthType</a></code></li><li><code class="directive"><a href="../mod/mod_authn_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/mod_authz_core.html#require">Require</a></code></li></ul></td></tr></table>
47     <div class="note">Les fichiers <code>.htaccess</code> ne doivent être utilisés
48     que si vous n'avez pas accès au fichier de configuration du serveur
49     principal. L'utilisation des fichiers <code>.htaccess</code>
50     ralentit le fonctionnement de votre serveur Apache. Il est toujours
51     préférable de définir les directives que vous pouvez inclure dans un
52     fichier <code>.htaccess</code> dans une section <code class="directive"><a href="../mod/core.html#directory">Directory</a></code>, car elles produiront le
53     même effet avec de meilleures performances.</div>
54 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
55 <div class="section">
56 <h2><a name="what" id="what">Que sont ce fichiers, comment les utiliser ?</a></h2>
57
58
59     <p>Les fichiers <code>.htaccess</code> (ou "fichiers de
60     configuration distribués") fournissent une méthode pour modifier la
61     configuration du serveur au niveau d'un répertoire. Un fichier,
62     contenant une ou plusieurs directives de configuration, est placé
63     dans un répertoire de documents particulier, et ses directives
64     s'appliquent à ce répertoire et à tous ses sous-répertoires.</p>
65
66     <div class="note"><h3>Note :</h3>
67       <p>Si vous voulez donner un autre nom à votre fichier
68       <code>.htaccess</code>, vous pouvez le faire en utilisant la
69       directive <code class="directive"><a href="../mod/core.html#accessfilename">AccessFileName</a></code>. Par
70       exemple, si vous préférez nommer votre fichier
71       <code>.config</code>, vous pouvez mettre ceci dans le fichier de
72       configuration de votre serveur :</p>
73
74       <div class="example"><p><code>
75         AccessFileName .config
76       </code></p></div>
77     </div>
78
79     <p>En général, les fichiers <code>.htaccess</code> utilisent la même
80     syntaxe que les <a href="../configuring.html#syntax">fichiers de
81     configuration principaux</a>. Ce que vous pouvez mettre dans ces
82     fichier est déterminé par la directive <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code>. Cette directive spécifie,
83     sous forme de catégories, quelles directives seront traitées si
84     elles se trouvent dans un fichier <code>.htaccess</code>. Si une
85     directive est permise dans un fichier <code>.htaccess</code> file,
86     la documentation de cette directive contiendra une section Override,
87     spécifiant quelle valeur doit prendre <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> pour que cette directive
88     soit traitée.</p>
89
90     <p>Par exemple, si vous regardez la documentation de la directive
91     <code class="directive"><a href="../mod/core.html#adddefaultcharset">AddDefaultCharset</a></code>, vous verrez
92     que cette dernière est permise dans les fichiers
93     <code>.htaccess</code> (Voir la ligne de contexte dans le résumé de
94     la directive). La ligne <a href="../mod/directive-dict.html#Context">Override</a> indique
95     <code>FileInfo</code>. Vous devez donc avoir au moins
96     <code>AllowOverride FileInfo</code> pour que cette directive soit
97     traitée dans les fichiers <code>.htaccess</code>.</p>
98
99     <div class="example"><h3>Exemple :</h3><table>
100         <tr>
101           <td><a href="../mod/directive-dict.html#Context">Contexte :</a></td>
102           <td>configuration du serveur, serveur virtuel, directory, .htaccess</td>
103         </tr>
104
105         <tr>
106           <td><a href="../mod/directive-dict.html#Override">Override:</a></td>
107           <td>FileInfo</td>
108         </tr>
109       </table></div>
110
111     <p>Si vous n'êtes pas sûr qu'une directive particulière soit permise
112     dans un fichier <code>.htaccess</code>, lisez la documentation de
113     cette directive, et consultez la ligne de contexte pour
114     ".htaccess".</p>
115     </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
116 <div class="section">
117 <h2><a name="when" id="when">Quand doit-on (ne doit-on pas) utiliser
118     les fichiers .htaccess ?</a></h2>
119
120     <p>En principe, vous ne devriez utiliser les fichiers
121     <code>.htaccess</code> que lorsque vous n'avez pas accès au fichier de
122     configuration du serveur principal. Par exemple, la fausse
123     idée
124     selon laquelle l'authentification de l'utilisateur devrait toujours
125     être faite dans les fichiers <code>.htaccess</code> est très
126     répandue. Il est aussi souvent avancé, ces dernières
127     années, que les directives de <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> doivent
128     être définies dans les fichiers <code>.htaccess</code>. Ceci est
129     tout simplement faux. Vous pouvez configurer
130     l'authentification des utilisateurs au niveau de la configuration du
131     serveur principal, et c'est en fait cette méthode qui doit être
132     privilégiée. De même, les directives de
133     <code>mod_rewrite</code> fonctionneront mieux, à de nombreux égards,
134     dans le contexte du serveur principal.</p>
135
136     <p>Les fichiers <code>.htaccess</code> ne devraient être utilisés
137     que dans le cas où les fournisseurs de contenu ont besoin de
138     modifier la configuration du serveur au niveau d'un répertoire, mais
139     ne possèdent pas l'accès root sur le système du serveur. Si
140     l'administrateur du serveur ne souhaite pas effectuer des
141     modifications de configuration incessantes, il peut être intéressant
142     de permettre aux utilisateurs isolés d'effectuer eux-mêmes ces
143     modifications par le biais de fichiers <code>.htaccess</code>. Ceci
144     est particulièrement vrai dans le cas où le fournisseur d'accès à
145     Internet héberge de nombreux sites d'utilisateurs sur un seul
146     serveur, et souhaite que ces utilisateurs puissent modifier
147     eux-mêmes leurs configurations.</p>
148
149     <p>Cependant et d'une manière générale, il vaut mieux éviter
150     d'utiliser les fichiers <code>.htaccess</code>. Tout élément de
151     configuration que vous pourriez vouloir mettre dans un fichier
152     <code>.htaccess</code>, peut aussi être mis, et avec la même
153     efficacité, dans une section <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code> du fichier de configuration de
154     votre serveur principal.</p>
155
156     <p>Il y a deux raisons principales d'éviter l'utilisation des
157     fichiers <code>.htaccess</code>.</p>
158
159     <p>La première est liée aux performances. Lorsque la directive
160     <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> est définie de
161     façon à autoriser l'utilisation des fichiers <code>.htaccess</code>,
162     Apache va rechercher leur présence dans chaque répertoire. Ainsi,
163     permettre l'utilisation des fichiers <code>.htaccess</code> est déjà
164     en soi une cause de dégradation des performances, que vous utilisiez
165     effectivement ces fichiers ou non ! De plus, le fichier
166     <code>.htaccess</code> est chargé en mémoire chaque fois qu'un
167     document fait l'objet d'une requête.</p>
168
169     <p>Notez aussi qu'Apache doit rechercher les fichiers
170     <code>.htaccess</code> dans tous les répertoires de niveau
171     supérieur, afin de rassembler toutes les directives qui s'appliquent
172     au répertoire courant (Voir la section <a href="#how">comment sont
173     appliquées les directives</a>). Ainsi, si un fichier fait l'objet
174     d'une requête à partir d'un répertoire
175     <code>/www/htdocs/exemple</code>, Apache doit rechercher les
176     fichiers suivants :</p>
177
178     <div class="example"><p><code>
179       /.htaccess<br />
180       /www/.htaccess<br />
181       /www/htdocs/.htaccess<br />
182       /www/htdocs/exemple/.htaccess
183     </code></p></div>
184
185     <p>En conséquence, chaque accès à un fichier de ce répertoire
186     nécessite 4 accès au système de fichiers supplémentaires pour
187     rechercher des fichiers <code>.htaccess</code>, même si
188     aucun de ces fichiers n'est présent. Notez que cet exemple ne peut
189     se produire que si les fichiers <code>.htaccess</code> ont été
190     autorisés pour le répertoire <code>/</code>, ce qui est rarement le
191     cas.</p>
192
193     <p>La seconde raison d'éviter l'utilisation des fichiers
194     <code>.htaccess</code> est liée à la sécurité. Si vous permettez aux
195     utilisateurs de modifier la configuration du serveur, il peut en
196     résulter des conséquences sur lesquelles vous n'aurez aucun
197     contrôle. Réfléchissez bien avant de donner ce privilège à vos
198     utilisateurs. Notez aussi que ne pas donner aux utilisateurs les
199     privilèges dont ils ont besoin va entraîner une augmentation des
200     demandes de support technique. Assurez-vous d'avoir informé
201     clairement vos utilisateurs du niveau de privilèges que vous leur
202     avez attribué. Indiquer exactement comment vous avez défini la
203     directive <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> et
204     diriger les utilisateurs vers la documentation correspondante vous
205     évitera bien des confusions ultérieures.</p>
206
207     <p>Notez que mettre un fichier <code>.htaccess</code> contenant une
208     directive dans un répertoire <code>/www/htdocs/exemple</code>
209     revient exactement au même que mettre la même directive dans une
210     section Directory <code>&lt;Directory /www/htdocs/exemple&gt;</code>
211     du fichier de configuration de votre serveur principal :</p>
212
213     <p>Fichier <code>.htaccess</code> dans
214     <code>/www/htdocs/exemple</code> :</p>
215
216     <div class="example"><h3>Contenu du fichier .htaccess dans
217     <code>/www/htdocs/exemple</code></h3><p><code>
218         AddType text/exemple .exm
219     </code></p></div>
220
221     <div class="example"><h3>Section de votre fichier
222     <code>httpd.conf</code></h3><p><code>
223       &lt;Directory /www/htdocs/exemple&gt;<br />
224       <span class="indent">
225         AddType text/exemple .exm<br />
226       </span>
227       &lt;/Directory&gt;
228     </code></p></div>
229
230     <p>Cependant, la perte de performances sera moindre si vous
231     définissez cette directive dans la configuration de
232     votre serveur principal, car cette dernière ne sera chargée qu'une
233     seule fois au moment du démarrage du serveur, alors qu'elle le sera
234     à chaque accès dans le cas d'un fichier <code>.htaccess</code>.</p>
235
236     <p>L'utilisation des fichiers <code>.htaccess</code> peut être
237     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>
238
239     <div class="example"><p><code>
240       AllowOverride None
241     </code></p></div>
242 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
243 <div class="section">
244 <h2><a name="how" id="how">Comment sont appliquées les directives ?</a></h2>
245
246     <p>Les directives de configuration situées dans un fichier
247     <code>.htaccess</code> s'appliquent au répertoire dans lequel ce
248     fichier <code>.htaccess</code> se trouve, ainsi qu'à tous ses
249     sous-répertoires. Cependant, il est important de garder à l'esprit
250     qu'il peut y avoir des fichiers <code>.htaccess</code> dans les
251     répertoires de niveau supérieur. Les directives sont appliquées
252     selon l'ordre dans lequel elles sont rencontrées. Ainsi, les
253     directives d'un fichier <code>.htaccess</code> situé dans un
254     répertoire particulier peuvent écraser les directives se trouvant
255     dans des fichiers <code>.htaccess</code> situés à un niveau
256     supérieur dans l'arborescence des répertoires. Et ces dernières
257     peuvent elles-mêmes avoir écrasé des directives d'un fichier
258     <code>.htaccess</code> situé à un niveau encore plus haut, ou dans
259     le fichier de configuration du serveur principal.</p>
260
261     <p>Exemple :</p>
262
263     <p>Dans le répertoire <code>/www/htdocs/exemple1</code> se trouve un
264     fichier <code>.htaccess</code> contenant ce qui suit :</p>
265
266     <div class="example"><p><code>
267        Options +ExecCGI
268     </code></p></div>
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     <div class="example"><p><code>
279        Options Includes
280     </code></p></div>
281
282     <p>Ainsi, à cause de ce second fichier <code>.htaccess</code> du
283     répertoire <code>/www/htdocs/exemple1/exemple2</code>, l'exécution
284     des CGI est interdite, car la dernière définition d'options
285     <code>Options Includes</code> écrase toute autre définition
286     d'options d'un fichier <code>.htaccess</code> situé dans un
287     répertoire de niveau supérieur.</p>
288
289     <h3><a name="merge" id="merge">Interactions entre les fichiers .htaccess
290     et les fichiers de configuration du serveur principal</a></h3>
291
292     <p>Comme indiqué dans la documentation sur les <a href="../sections.html">Sections de configuration</a>, les fichiers
293     <code>.htaccess</code> peuvent écraser les directives des sections
294     <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code> pour
295     le répertoire correspondant, mais peuvent eux-mêmes être écrasés
296     par d'autres types de sections des fichiers de la
297     configuration principale. Cette possibilité peut s'avérer utile pour
298     forcer certaines configurations, même en cas de présence de l'option
299     libérale <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code>. Par
300     exemple, pour interdire l'exécution de scripts en autorisant la
301     définition de toute autre option dans les fichiers
302     <code>.htaccess</code>, vous pouvez utiliser :</p>
303
304     <div class="example"><p><code>
305 &lt;Directory /www/htdocs&gt;<br />
306 <span class="indent">
307 Allowoverride All<br />
308 </span>
309 &lt;/Directory&gt;<br />
310 <br />
311 &lt;Location /&gt;<br />
312 <span class="indent">
313 Options +IncludesNoExec -ExecCGI<br />
314 </span>
315 &lt;/Location&gt;
316     </code></p></div>
317
318     <div class="note">Dans cet exemple, on considère que le chemin défini par la
319     directive <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> est
320     <code>/www/htdocs</code>.</div>
321
322
323 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
324 <div class="section">
325 <h2><a name="auth" id="auth">Exemple d'authentification</a></h2>
326
327     <p>Si vous accédez directement à ce point du document pour apprendre
328     à effectuer une authentification, il est important de noter ceci. Il
329     existe une fausse idée selon laquelle il serait nécessaire
330     d'utiliser les fichiers <code>.htaccess</code> pour implémenter
331     l'authentification par mot de passe. Ceci est tout simplement faux.
332     Pour y parvenir, il est préférable de mettre les directives
333     d'authentification dans une section <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code> du fichier de configuration de
334     votre serveur principal, et les fichiers <code>.htaccess</code> ne
335     devraient être utilisés que dans le cas où vous n'avez pas accès au
336     fichier de configuration du serveur principal. Voir <a href="#when">ci-dessus</a> pour savoir dans quels cas vous devez ou
337     ne devez pas utiliser les fichiers <code>.htaccess</code>.</p>
338
339     <p>Ceci étant dit, si vous pensez que vous devez quand-même utiliser
340     un fichier <code>.htaccess</code>, vous pouvez utiliser la
341     configuration suivante :</p>
342
343     <p>Contenu du fichier <code>.htaccess</code> :</p>
344
345     <div class="example"><p><code>
346       AuthType Basic<br />
347       AuthName "Password Required"<br />
348       AuthUserFile /www/passwords/password.file<br />
349       AuthGroupFile /www/passwords/group.file<br />
350       Require Group admins
351     </code></p></div>
352
353     <p>Notez que <code>AllowOverride AuthConfig</code> doit être présent
354     pour que ces directives produisent leur effet.</p>
355
356     <p>Vous pouvez vous référer au <a href="auth.html">tutoriel sur
357     l'authentification</a> pour une description plus détaillée de
358     l'authentification et de l'autorisation.</p>
359 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
360 <div class="section">
361 <h2><a name="ssi" id="ssi">Exemple d'Inclusion Côté Serveur (Server Side
362 Includes - SSI)</a></h2>
363
364     <p>Les fichiers <code>.htaccess</code> sont aussi couramment
365     utilisés pour activer les SSI pour un répertoire particulier. Pour y
366     parvenir, on utilise les directives de configuration suivantes,
367     placées dans un fichier <code>.htaccess</code> enregistré dans le
368     répertoire considéré :</p>
369
370     <div class="example"><p><code>
371        Options +Includes<br />
372        AddType text/html shtml<br />
373        AddHandler server-parsed shtml
374     </code></p></div>
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     <div class="example"><p><code>
392        Options +ExecCGI<br />
393        AddHandler cgi-script cgi pl
394     </code></p></div>
395
396     <p>Alternativement, si vous souhaitez que tous les fichiers d'un
397     répertoire donné soient considérés comme des programmes CGI, vous
398     pouvez utiliser la configuration suivante :</p>
399
400     <div class="example"><p><code>
401        Options +ExecCGI<br />
402        SetHandler cgi-script
403     </code></p></div>
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 d'Apache. 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 id="footer">
466 <p class="apache">Copyright 2011 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
467 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div>
468 </body></html>