]> granicus.if.org Git - apache/blob - docs/manual/mod/mod_dir.xml.fr
Rebuild
[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 : 1421821 -->
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 vers une ressource externe.</p>
163
164     <example><title>Exemple</title>
165     <highlight language="config">
166       DirectoryIndexRedirect on
167       </highlight>
168     </example>
169
170     <p>Une requ&ecirc;te pour <code>http://example.com/docs/</code> se
171     solderait par une redirection temporaire vers
172     <code>http://example.com/docs/index.html</code> si cette ressource
173     existe.</p>
174
175 </usage>
176 </directivesynopsis>
177
178 <directivesynopsis>
179 <name>DirectorySlash</name>
180 <description>Activation/D&eacute;sactivation de la redirection "slash de
181 fin"</description>
182 <syntax>DirectorySlash On|Off</syntax>
183 <default>DirectorySlash On</default>
184 <contextlist><context>server config</context><context>virtual
185 host</context>
186 <context>directory</context><context>.htaccess</context></contextlist>
187 <override>Indexes</override>
188
189 <usage>
190     <p>La directive <directive>DirectorySlash</directive> permet de
191     d&eacute;terminer si <module>mod_dir</module> doit corriger ou non les URLs
192     pointant vers un r&eacute;pertoire.</p>
193
194     <p>En g&eacute;n&eacute;ral, si un utilisateur envoie une requ&ecirc;te pour une
195     ressource sans slash de fin, cette ressource repr&eacute;sentant un
196     r&eacute;pertoire, <module>mod_dir</module> le redirige vers la m&ecirc;me
197     ressource, mais <em>en ajoutant</em> un slash de fin, et ceci pour
198     plusieurs bonnes raisons :</p>
199
200     <ul>
201     <li>La requ&ecirc;te de l'utilisateur contiendra finalement l'URL
202     canonique de la ressource</li>
203     <li><module>mod_autoindex</module> fonctionnera correctement. Comme
204     il n'indique pas le chemin dans le lien, le chemin de l'URL serait
205     incorrect.</li>
206     <li>La directive <directive
207     module="mod_dir">DirectoryIndex</directive> n'est &eacute;valu&eacute;e
208     <em>que</em> pour les r&eacute;pertoires se terminant par un slash.</li>
209     <li>Les r&eacute;f&eacute;rences &agrave; des URLs relatives dans les pages html
210     fonctionneront alors correctement.</li>
211     </ul>
212
213     <p>Si vous ne souhaitez pas voir ces effets, <em>et</em> si
214     les raisons &eacute;voqu&eacute;es ci-dessus ne s'appliquent pas &agrave; vous, vous
215     pouvez d&eacute;sactiver la redirection comme indiqu&eacute; ci-dessous.
216     Gardez cependant &agrave; l'esprit que ceci peut avoir des r&eacute;percutions en
217     mati&egrave;re de s&eacute;curit&eacute;.</p>
218
219     <highlight language="config">
220 # voir l'avertissement de s&eacute;curit&eacute; ci-dessous !
221 &lt;Location /some/path&gt;
222     DirectorySlash Off
223     SetHandler some-handler
224 &lt;/Location&gt;
225     </highlight>
226
227     <note type="warning"><title>Avertissement de s&eacute;curit&eacute;</title>
228     <p>La d&eacute;sactivation de la redirection "slash de fin" peut entra&icirc;ner
229     la divulgation d'informations. Consid&eacute;rons la situation o&ugrave;
230     <module>mod_autoindex</module> est actif (<code>Options
231     +Indexes</code>), o&ugrave; la directive <directive module="mod_dir"
232     >DirectoryIndex</directive> a pour valeur une ressource valide (par
233     exemple <code>index.html</code>), et o&ugrave; aucun gestionnaire
234     particulier n'a &eacute;t&eacute; d&eacute;fini pour cette URL. Dans ce cas, une requ&ecirc;te
235     avec slash de fin afficherait le contenu du fichier
236     <code>index.html</code> ; <strong>par contre, une requ&ecirc;te sans slash
237     de fin afficherait un listing du contenu du
238     r&eacute;pertoire</strong>.</p>
239     </note>
240     <p>Notez aussi que certains navigateurs peuvent modifier par erreur
241     des requ&ecirc;tes POST en requ&ecirc;tes GET lors d'une redirection, les
242     donn&eacute;es POST &eacute;tant alors perdues.</p>
243 </usage>
244 </directivesynopsis>
245 <directivesynopsis>
246 <name>FallbackResource</name>
247 <description>D&eacute;finit une URL par d&eacute;faut pour les requ&ecirc;tes qui ne ciblent
248 aucun fichier</description>
249 <syntax>FallbackResource disabled | <var>url-locale</var></syntax>
250 <default>D&eacute;sactiv&eacute; - httpd renvoie un code d'erreur 404 (Not Found)</default>
251 <contextlist><context>server config</context><context>virtual host</context>
252 <context>directory</context><context>.htaccess</context></contextlist>
253 <override>Indexes</override>
254 <usage>
255     <p>Cette directive permet de d&eacute;finir un traitement pour toute URL
256     qui ne correspond &agrave; aucune ressource de votre syst&egrave;me de fichiers,
257     et qui provoquerait sans cela l'envoi d'un code d'erreur HTTP 404
258     (Not Found).
259     Par exemple</p>
260     <highlight language="config">
261         FallbackResource /not-404.php
262     </highlight>
263     <p>fait en sorte que les requ&ecirc;tes ne correspondant &agrave; aucun fichier
264     soient trait&eacute;es par <code>non-404.php</code>, sans affecter les
265     requ&ecirc;tes pour des fichiers existants.</p>
266     <p>Il est souvent souhaitable qu'un seul fichier ou ressource traite
267     toutes les requ&ecirc;tes &agrave; destination d'un r&eacute;pertoire
268     particulier, sauf pour les requ&ecirc;tes qui correspondent &agrave; un fichier
269     ou script existant. On y fait souvent r&eacute;f&eacute;rence sous le terme
270     'contr&ocirc;leur frontal'.</p>
271     <p>Dans les versions plus anciennes de httpd, cet effet n&eacute;cessitait
272     en g&eacute;n&eacute;ral <module>mod_rewrite</module>, et l'utilisation des tests
273     conditionnels <code>-f</code> et <code>-d</code> pour v&eacute;rifier
274     l'existence des fichiers et r&eacute;pertoires. Maintenant, une seule ligne
275     de configuration est n&eacute;cessaire.</p>
276     <highlight language="config">
277         FallbackResource /index.php
278     </highlight>
279     <p>Les fichiers existants comme des images, des fichiers css, etc...
280     seront trait&eacute;s normalement.</p>
281     <p>Utilisez l'argument <code>disabled</code> pour d&eacute;sactiver cette
282     fonctionnalit&eacute; si l'h&eacute;ritage d'un r&eacute;pertoire parent n'est pas
283     souhait&eacute;.</p>
284     <p>Pour un URI interm&eacute;diaire tel que
285     <em>http://example.com/blog/</em>, cet URI interm&eacute;diaire doit &ecirc;tre
286     sp&eacute;cifi&eacute; en tant que <var>url-locale</var> :</p>
287     <highlight language="config">
288 &lt;Directory /web/example.com/htdocs/blog&gt;
289     FallbackResource /blog/index.php
290 &lt;/Directory&gt;
291 &lt;Directory /web/example.com/htdocs/blog/images&gt;
292     FallbackResource disabled
293 &lt;/Directory&gt;
294     </highlight>
295 </usage>
296 </directivesynopsis>
297
298
299 </modulesynopsis>