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