]> granicus.if.org Git - apache/blob - docs/manual/mod/mod_dir.xml.fr
Merge in APR[-util] macros from branches/trunk-buildconf-noapr
[apache] / docs / manual / mod / mod_dir.xml.fr
1 <?xml version="1.0"?>
2 <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
3 <?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
4 <!-- English Revision: 1673945 -->
5 <!-- French translation : Lucien GENTIS -->
6 <!-- Reviewed by : Vincent Deffontaines -->
7
8 <!--
9  Licensed to the Apache Software Foundation (ASF) under one or more
10  contributor license agreements.  See the NOTICE file distributed with
11  this work for additional information regarding copyright ownership.
12  The ASF licenses this file to You under the Apache License, Version 2.0
13  (the "License"); you may not use this file except in compliance with
14  the License.  You may obtain a copy of the License at
15
16      http://www.apache.org/licenses/LICENSE-2.0
17
18  Unless required by applicable law or agreed to in writing, software
19  distributed under the License is distributed on an "AS IS" BASIS,
20  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21  See the License for the specific language governing permissions and
22  limitations under the License.
23 -->
24
25 <modulesynopsis metafile="mod_dir.xml.meta">
26 <name>mod_dir</name>
27 <description>Permet la redirection des adresses se terminant par un
28 r&eacute;pertoire sans slash de fin et la mise &agrave; disposition des fichiers index
29 de r&eacute;pertoire</description>
30 <status>Base</status>
31 <sourcefile>mod_dir.c</sourcefile>
32 <identifier>dir_module</identifier>
33
34 <summary>
35     <p>L'index d'un r&eacute;pertoire peut provenir de deux sources :</p>
36
37     <ul>
38       <li>Un fichier &eacute;crit par l'utilisateur, dont le nom, en g&eacute;n&eacute;ral
39       appel&eacute; <code>index.html</code>, peut &ecirc;tre d&eacute;fini &agrave; l'aide de la
40       directive <directive module="mod_dir">DirectoryIndex</directive>
41       fournie par le module <module>mod_dir</module>.</li>
42
43       <li>Un listing g&eacute;n&eacute;r&eacute; par le serveur, par l'interm&eacute;diaire du
44       module <module>mod_autoindex</module>.</li>
45     </ul>
46     <p>Les deux fonctions sont bien distinctes, si bien que vous pouvez
47     supprimer (ou remplacer) la g&eacute;n&eacute;ration automatique d'index, si vous
48     le souhaitez.</p>
49
50     <p>Une redirection "slash de fin" est effectu&eacute;e lorsque le serveur
51     re&ccedil;oit une requ&ecirc;te pour une URL du style
52     <code>http://nom-serveur/foo/nom-rep</code> o&ugrave; <code>nom-rep</code>
53     est le nom d'un r&eacute;pertoire. Comme les r&eacute;pertoires n&eacute;cessitent un slash de
54     fin, <module>mod_dir</module> effectue une redirection vers
55     <code>http://nom-serveur/foo/nom-rep/</code>.</p>
56 </summary>
57
58 <directivesynopsis>
59 <name>DirectoryIndex</name>
60 <description>Liste des fichiers ressources &agrave; rechercher lorsque le
61 client envoie une requ&ecirc;te pour un r&eacute;pertoire</description>
62 <syntax>DirectoryIndex
63     disabled | <var>url locale</var> [<var>url locale</var>] ...</syntax>
64 <default>DirectoryIndex index.html</default>
65 <contextlist><context>server config</context><context>virtual host</context>
66 <context>directory</context><context>.htaccess</context></contextlist>
67 <override>Indexes</override>
68
69 <usage>
70     <p>La directive <directive>DirectoryIndex</directive> permet de
71     d&eacute;finir une liste de fichiers ressources &agrave; rechercher lorsqu'un
72     client envoie une requ&ecirc;te pour l'index d'un r&eacute;pertoire, en ajoutant
73     un '/' &agrave; la fin du nom de ce dernier. <var>url locale</var> est
74     l'URL (cod&eacute;e avec caract&egrave;res '%') d'un document du serveur, relative
75     au r&eacute;pertoire faisant l'objet de la requ&ecirc;te ; il s'agit en g&eacute;n&eacute;ral
76     du nom d'un fichier situ&eacute; dans le r&eacute;pertoire. Si plusieurs URLs sont
77     fournies, le serveur renverra la premi&egrave;re d'entre elles qui
78     correspond &agrave; une ressource existante. Si aucune ressource ne
79     correspond &agrave; la liste des URLs sp&eacute;cifi&eacute;es, et si l'option
80     <code>Indexes</code> est d&eacute;finie, le serveur g&eacute;n&eacute;rera son propre
81     listing du r&eacute;pertoire.</p>
82
83     <example><title>Exemple</title>
84     <highlight language="config">
85       DirectoryIndex index.html
86       </highlight>
87     </example>
88
89     <p>Avec cette configuration, une requ&ecirc;te pour l'URL
90     <code>http://example.com/docs/</code> renverrait au client la
91     ressource <code>http://example.com/docs/index.html</code> si elle
92     existe, ou provoquerait la g&eacute;n&eacute;ration du listing du r&eacute;pertoire si la
93     ressource n'existe pas.</p>
94
95     <p>Notez qu'il n'est pas n&eacute;cessaire que les documents soient
96     relatifs au r&eacute;pertoire ;</p>
97
98     <highlight language="config">
99       DirectoryIndex index.html index.txt  /cgi-bin/index.pl
100     </highlight>
101
102     <p>provoquerait l'ex&eacute;cution du script CGI
103     <code>/cgi-bin/index.pl</code> si aucun des fichiers
104     <code>index.html</code> ou <code>index.txt</code> n'existe dans le
105     r&eacute;pertoire consid&eacute;r&eacute;.</p>
106
107     <p>La sp&eacute;cification du seul argument "disabled" emp&ecirc;che
108     <module>mod_dir</module> de rechercher un index. Un argument
109     "disabled" sera interpr&eacute;t&eacute; de mani&egrave;re litt&eacute;rale si d'autres
110     arguments sont pr&eacute;sents avant ou apr&egrave;s lui, m&ecirc;me s'ils sont
111     eux-m&ecirc;mes des arguments "disabled".</p>
112
113     <p><strong>Note :</strong>La d&eacute;finition de plusieurs directives
114     <directive>DirectoryIndex</directive> au sein d'un <a href="../sections.html"><em>m&ecirc;me
115     contexte</em></a> permet d'ajouter des ressources &agrave; rechercher plut&ocirc;t
116     que de remplacer celle d&eacute;j&agrave; d&eacute;finies :
117     </p>
118     <highlight language="config">
119 # Exemple A: d&eacute;finit index.html comme page d'index, ainsi qu'index.php.
120 &lt;Directory "/foo"&gt;
121     DirectoryIndex index.html
122     DirectoryIndex index.php
123 &lt;/Directory&gt;
124
125 # Exemple B: identique &agrave; l'exemple A, mais avec une seule directive.
126 &lt;Directory "/foo"&gt;
127     DirectoryIndex index.html index.php
128 &lt;/Directory&gt;
129
130 # Exemple C: pour remplacer la liste des pages d'index par une autre,
131 # vous devez tout d'abord supprimer la premi&egrave;re liste : dans l'exemple
132 # suivant, il ne restera qu'index.php comme page d'index.
133 &lt;Directory "/foo"&gt;
134     DirectoryIndex index.html
135     DirectoryIndex disabled
136     DirectoryIndex index.php
137 &lt;/Directory&gt;
138     </highlight>
139
140 </usage>
141 </directivesynopsis>
142
143 <directivesynopsis>
144 <name>DirectoryIndexRedirect</name>
145 <description>D&eacute;finit une redirection externe pour les index de
146 r&eacute;pertoires.
147 </description>
148 <syntax>DirectoryIndexRedirect on | off | permanent | temp | seeother |
149 <var>3xx-code</var>
150 </syntax>
151 <default>DirectoryIndexRedirect off</default>
152 <contextlist><context>server config</context><context>virtual host</context>
153 <context>directory</context><context>.htaccess</context></contextlist>
154 <override>Indexes</override>
155 <compatibility>Disponible depuis la version 2.3.14</compatibility>
156
157 <usage>
158     <p>Par d&eacute;faut, c'est la page d&eacute;finie par la directive
159     <directive>DirectoryIndex</directive> qui est s&eacute;lectionn&eacute;e et
160     renvoy&eacute;e de mani&egrave;re transparente au client. La directive
161     <directive>DirectoryIndexRedirect</directive> permet de rediriger le
162     client via une redirection de type 3xx.</p>
163
164     <p>Les arguments accept&eacute;s sont :</p>
165     <ul>
166      <li><code>on</code> : envoie une redirection 302 vers l'index choisi.</li>
167      <li><code>off</code> : n'envoie aucune redirection. Il s'agit du comportement historique de mod_dir.</li>
168      <li><code>permanent</code> : envoie une redirection 301 (permanent) vers l'index choisi.</li>
169      <li><code>temp</code> : ceci est &eacute;quivalent &agrave; <code>on</code></li>
170      <li><code>seeother</code> : envoie une redirection 303 (&eacute;galement appel&eacute;e "See Other") vers l'index choisi.</li>
171      <li><var>3xx-code</var> : envoie une redirection accompagn&eacute;e du code 3xx choisi.</li>
172     </ul>
173
174
175
176     <example><title>Exemple</title>
177     <highlight language="config">
178       DirectoryIndexRedirect on
179       </highlight>
180     </example>
181
182     <p>Une requ&ecirc;te pour <code>http://example.com/docs/</code> se
183     solderait par une redirection temporaire vers
184     <code>http://example.com/docs/index.html</code> si cette ressource
185     existe.</p>
186
187 </usage>
188 </directivesynopsis>
189
190 <directivesynopsis>
191 <name>DirectorySlash</name>
192 <description>Activation/D&eacute;sactivation de la redirection "slash de
193 fin"</description>
194 <syntax>DirectorySlash On|Off</syntax>
195 <default>DirectorySlash On</default>
196 <contextlist><context>server config</context><context>virtual
197 host</context>
198 <context>directory</context><context>.htaccess</context></contextlist>
199 <override>Indexes</override>
200
201 <usage>
202     <p>La directive <directive>DirectorySlash</directive> permet de
203     d&eacute;terminer si <module>mod_dir</module> doit corriger ou non les URLs
204     pointant vers un r&eacute;pertoire.</p>
205
206     <p>En g&eacute;n&eacute;ral, si un utilisateur envoie une requ&ecirc;te pour une
207     ressource sans slash de fin, cette ressource repr&eacute;sentant un
208     r&eacute;pertoire, <module>mod_dir</module> le redirige vers la m&ecirc;me
209     ressource, mais <em>en ajoutant</em> un slash de fin, et ceci pour
210     plusieurs bonnes raisons :</p>
211
212     <ul>
213     <li>La requ&ecirc;te de l'utilisateur contiendra finalement l'URL
214     canonique de la ressource</li>
215     <li><module>mod_autoindex</module> fonctionnera correctement. Comme
216     il n'indique pas le chemin dans le lien, le chemin de l'URL serait
217     incorrect.</li>
218     <li>La directive <directive
219     module="mod_dir">DirectoryIndex</directive> n'est &eacute;valu&eacute;e
220     <em>que</em> pour les r&eacute;pertoires se terminant par un slash.</li>
221     <li>Les r&eacute;f&eacute;rences &agrave; des URLs relatives dans les pages html
222     fonctionneront alors correctement.</li>
223     </ul>
224
225     <p>Si vous ne souhaitez pas voir ces effets, <em>et</em> si
226     les raisons &eacute;voqu&eacute;es ci-dessus ne s'appliquent pas &agrave; vous, vous
227     pouvez d&eacute;sactiver la redirection comme indiqu&eacute; ci-dessous.
228     Gardez cependant &agrave; l'esprit que ceci peut avoir des r&eacute;percutions en
229     mati&egrave;re de s&eacute;curit&eacute;.</p>
230
231     <highlight language="config">
232 # voir l'avertissement de s&eacute;curit&eacute; ci-dessous !
233 &lt;Location "/some/path"&gt;
234     DirectorySlash Off
235     SetHandler some-handler
236 &lt;/Location&gt;
237     </highlight>
238
239     <note type="warning"><title>Avertissement de s&eacute;curit&eacute;</title>
240     <p>La d&eacute;sactivation de la redirection "slash de fin" peut entra&icirc;ner
241     la divulgation d'informations. Consid&eacute;rons la situation o&ugrave;
242     <module>mod_autoindex</module> est actif (<code>Options
243     +Indexes</code>), o&ugrave; la directive <directive module="mod_dir"
244     >DirectoryIndex</directive> a pour valeur une ressource valide (par
245     exemple <code>index.html</code>), et o&ugrave; aucun gestionnaire
246     particulier n'a &eacute;t&eacute; d&eacute;fini pour cette URL. Dans ce cas, une requ&ecirc;te
247     avec slash de fin afficherait le contenu du fichier
248     <code>index.html</code> ; <strong>par contre, une requ&ecirc;te sans slash
249     de fin afficherait un listing du contenu du
250     r&eacute;pertoire</strong>.</p>
251     </note>
252     <p>Notez aussi que certains navigateurs peuvent modifier par erreur
253     des requ&ecirc;tes POST en requ&ecirc;tes GET lors d'une redirection, les
254     donn&eacute;es POST &eacute;tant alors perdues.</p>
255 </usage>
256 </directivesynopsis>
257 <directivesynopsis>
258 <name>FallbackResource</name>
259 <description>D&eacute;finit une URL par d&eacute;faut pour les requ&ecirc;tes qui ne ciblent
260 aucun fichier</description>
261 <syntax>FallbackResource disabled | <var>url-locale</var></syntax>
262 <default>D&eacute;sactiv&eacute; - httpd renvoie un code d'erreur 404 (Not Found)</default>
263 <contextlist><context>server config</context><context>virtual host</context>
264 <context>directory</context><context>.htaccess</context></contextlist>
265 <override>Indexes</override>
266 <compatibility>L'argument <code>disabled</code> est disponible depuis la
267 version 2.4.4 du serveur HTTP Apache</compatibility>
268 <usage>
269     <p>Cette directive permet de d&eacute;finir un traitement pour toute URL
270     qui ne correspond &agrave; aucune ressource de votre syst&egrave;me de fichiers,
271     et qui provoquerait sans cela l'envoi d'un code d'erreur HTTP 404
272     (Not Found).
273     Par exemple</p>
274     <highlight language="config">
275         FallbackResource /not-404.php
276     </highlight>
277     <p>fait en sorte que les requ&ecirc;tes ne correspondant &agrave; aucun fichier
278     soient trait&eacute;es par <code>non-404.php</code>, sans affecter les
279     requ&ecirc;tes pour des fichiers existants.</p>
280     <p>Il est souvent souhaitable qu'un seul fichier ou ressource traite
281     toutes les requ&ecirc;tes &agrave; destination d'un r&eacute;pertoire
282     particulier, sauf pour les requ&ecirc;tes qui correspondent &agrave; un fichier
283     ou script existant. On y fait souvent r&eacute;f&eacute;rence sous le terme
284     'contr&ocirc;leur frontal'.</p>
285     <p>Dans les versions plus anciennes de httpd, cet effet n&eacute;cessitait
286     en g&eacute;n&eacute;ral <module>mod_rewrite</module>, et l'utilisation des tests
287     conditionnels <code>-f</code> et <code>-d</code> pour v&eacute;rifier
288     l'existence des fichiers et r&eacute;pertoires. Maintenant, une seule ligne
289     de configuration est n&eacute;cessaire.</p>
290     <highlight language="config">
291         FallbackResource /index.php
292     </highlight>
293     <p>Les fichiers existants comme des images, des fichiers css, etc...
294     seront trait&eacute;s normalement.</p>
295     <p>Utilisez l'argument <code>disabled</code> pour d&eacute;sactiver cette
296     fonctionnalit&eacute; si l'h&eacute;ritage d'un r&eacute;pertoire parent n'est pas
297     souhait&eacute;.</p>
298     <p>Pour un URI interm&eacute;diaire tel que
299     <em>http://example.com/blog/</em>, cet URI interm&eacute;diaire doit &ecirc;tre
300     sp&eacute;cifi&eacute; en tant que <var>url-locale</var> :</p>
301     <highlight language="config">
302 &lt;Directory "/web/example.com/htdocs/blog"&gt;
303     FallbackResource /blog/index.php
304 &lt;/Directory&gt;
305 &lt;Directory "/web/example.com/htdocs/blog/images"&gt;
306     FallbackResource disabled
307 &lt;/Directory&gt;
308     </highlight>
309 </usage>
310 </directivesynopsis>
311
312 <directivesynopsis>
313 <name>DirectoryCheckHandler</name>
314 <description>D&eacute;finit la r&eacute;ponse de ce module lorsqu'un autre
315 gestionnaire est utilis&eacute;</description>
316 <syntax>DirectoryCheckHandler On|Off</syntax>
317 <default>DirectoryCheckHandler Off</default>
318 <contextlist><context>server config</context><context>virtual host</context>
319 <context>directory</context><context>.htaccess</context></contextlist>
320 <override>Indexes</override>
321 <compatibility>Disponible depuis la version 2.4.8 du serveur HTTP
322 Apache. Les versions ant&eacute;rieures &agrave; 2.4 se comportaient implicitement
323 comme si "DirectoryCheckHandler ON" avait &eacute;t&eacute; sp&eacute;cifi&eacute;.</compatibility>
324 <usage>
325     <p>La directive <directive>DirectoryCheckHandler</directive> permet
326     de faire en sorte que <module>mod_dir</module> recherche un index
327     de r&eacute;pertoire ou ajoute des slashes de fin lorsqu'un autre
328     gestionnaire &agrave; &eacute;t&eacute; d&eacute;fini pour l'URL consid&eacute;r&eacute;e. Les gestionnaires
329     peuvent &ecirc;tre d&eacute;finis &agrave; l'ex&eacute;cution via des directives telles que
330     <directive module="core">SetHandler</directive> ou par d'autres
331     modules.</p>
332
333     <p>Dans les versions ant&eacute;rieures &agrave; 2.4, ce module ne modifiait pas
334     son comportement si un autre gestionnaire avait &eacute;t&eacute; d&eacute;fini pour
335     l'URL consid&eacute;r&eacute;e. Ceci permettait de servir des index de r&eacute;pertoires
336     m&ecirc;me si une directive <directive>SetHandler</directive> avait &eacute;t&eacute;
337     d&eacute;finie pour un r&eacute;pertoire entier, mais pouvait aussi &ecirc;tre &agrave;
338     l'origine de conflits avec d'autres modules.</p> 
339 </usage>
340 </directivesynopsis>
341
342 </modulesynopsis>