summaryrefslogtreecommitdiff
path: root/docs/manual/mod/mod_dir.html.fr
blob: 1982b7da751ea92cb52a84cf32ec18988ac751d3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
              This file is generated from xml source: DO NOT EDIT
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -->
<title>mod_dir - Serveur Apache HTTP</title>
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
<link href="../images/favicon.ico" rel="shortcut icon" /></head>
<body>
<div id="page-header">
<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>
<p class="apache">Serveur Apache HTTP Version 2.3</p>
<img alt="" src="../images/feather.gif" /></div>
<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
<div id="path">
<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="./">Modules</a></div>
<div id="page-content">
<div id="preamble"><h1>Module Apache mod_dir</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_dir.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../fr/mod/mod_dir.html" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/mod_dir.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_dir.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_dir.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Permet la redirection des adresses se terminant par un
répertoire sans slash de fin et la mise à disposition des fichiers index
de répertoire</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr>
<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>dir_module</td></tr>
<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_dir.c</td></tr></table>
<h3>Sommaire</h3>

    <p>L'index d'un répertoire peut provenir de deux sources :</p>

    <ul>
      <li>Un fichier écrit par l'utilisateur, dont le nom, en général
      appelé <code>index.html</code>, peut être défini à l'aide de la
      directive <code class="directive"><a href="#directoryindex">DirectoryIndex</a></code>
      fournie par le module <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code>.</li>

      <li>Un listing généré par le serveur, par l'intermédiaire du
      module <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code>.</li>
    </ul>
    <p>Les deux fonctions sont bien distinctes, si bien que vous pouvez
    supprimer (ou remplacer) la génération automatique d'index, si vous
    le souhaitez.</p>

    <p>Une redirection "slash de fin" est effectuée lorsque le serveur
    reçoit une requête pour une URL du style
    <code>http://nom-serveur/foo/nom-rep</code> où <code>nom-rep</code>
    est le nom d'un répertoire. Comme les répertoires nécessitent un slash de
    fin, <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> effectue une redirection vers
    <code>http://nom-serveur/foo/nom-rep/</code>.</p>
</div>
<div id="quickview"><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#directoryindex">DirectoryIndex</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#directoryindexredirect">DirectoryIndexRedirect</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#directoryslash">DirectorySlash</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#fallbackresource">FallbackResource</a></li>
</ul>
</div>

<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="DirectoryIndex" id="DirectoryIndex">DirectoryIndex</a> <a name="directoryindex" id="directoryindex">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Liste des fichiers ressources à rechercher lorsque le
client envoie une requête pour un répertoire</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DirectoryIndex
    disabled | <var>url locale</var> [<var>url locale</var>] ...</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DirectoryIndex index.html</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Indexes</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dir</td></tr>
</table>
    <p>La directive <code class="directive">DirectoryIndex</code> permet de
    définir une liste de fichiers ressources à rechercher lorsqu'un
    client envoie une requête pour l'index d'un répertoire, en ajoutant
    un '/' à la fin du nom de ce dernier. <var>url locale</var> est
    l'URL (codée avec caractères '%') d'un document du serveur, relative
    au répertoire faisant l'objet de la requête ; il s'agit en général
    du nom d'un fichier situé dans le répertoire. Si plusieurs URLs sont
    fournies, le serveur renverra la première d'entre elles qui
    correspond à une ressource existante. Si aucune ressource ne
    correspond à la liste des URLs spécifiées, et si l'option
    <code>Indexes</code> est définie, le serveur générera son propre
    listing du répertoire.</p>

    <div class="example"><h3>Exemple</h3><p><code>
      DirectoryIndex index.html
    </code></p></div>

    <p>Avec cette configuration, une requête pour l'URL
    <code>http://example.com/docs/</code> renverrait au client la
    ressource <code>http://example.com/docs/index.html</code> si elle
    existe, ou provoquerait la génération du listing du répertoire si la
    ressource n'existe pas.</p>

    <p>Notez qu'il n'est pas nécessaire que les documents soient
    relatifs au répertoire ;</p>

    <div class="example"><p><code>
      DirectoryIndex index.html index.txt  /cgi-bin/index.pl
    </code></p></div>

    <p>provoquerait l'exécution du script CGI
    <code>/cgi-bin/index.pl</code> si aucun des fichiers
    <code>index.html</code> ou <code>index.txt</code> n'existe dans le
    répertoire considéré.</p>

    <p>La spécification du seul argument "disabled" empêche
    <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> de rechercher un index. Un argument
    "disabled" sera interprété de manière littérale si d'autres
    arguments sont présents avant ou après lui, même s'ils sont
    eux-mêmes des arguments "disabled".</p>


</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="DirectoryIndexRedirect" id="DirectoryIndexRedirect">DirectoryIndexRedirect</a> <a name="directoryindexredirect" id="directoryindexredirect">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit une redirection externe pour les index de
répertoires.
</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DirectoryIndexRedirect on | off | permanent | temp | seeother |
<var>3xx-code</var>
</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DirectoryIndexRedirect off</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Indexes</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dir</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.14</td></tr>
</table>
    <p>Par défaut, c'est la page définie par la directive
    <code class="directive">DirectoryIndex</code> qui est sélectionnée et
    renvoyée de manière transparente au client. La directive
    <code class="directive">DirectoryIndexRedirect</code> permet de rediriger le
    client vers une ressource externe.</p>

    <div class="example"><h3>Exemple</h3><p><code>
      DirectoryIndexRedirect on
    </code></p></div>

    <p>Une requête pour <code>http://example.com/docs/</code> se
    solderait par une redirection temporaire vers
    <code>http://example.com/docs/index.html</code> si cette ressource
    existe.</p>


</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="DirectorySlash" id="DirectorySlash">DirectorySlash</a> <a name="directoryslash" id="directoryslash">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Activation/Désactivation de la redirection "slash de
fin"</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DirectorySlash On|Off</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DirectorySlash On</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Indexes</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dir</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis le version 2.0.51
d'Apache</td></tr>
</table>
    <p>La directive <code class="directive">DirectorySlash</code> permet de
    déterminer si <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> doit corriger ou non les URLs
    pointant vers un répertoire.</p>

    <p>En général, si un utilisateur envoie une requête pour une
    ressource sans slash de fin, cette ressource représentant un
    répertoire, <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> le redirige vers la même
    ressource, mais <em>en ajoutant</em> un slash de fin, et ceci pour
    plusieurs bonnes raisons :</p>

    <ul>
    <li>La requête de l'utilisateur contiendra finalement l'URL
    canonique de la ressource</li>
    <li><code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> fonctionnera correctement. Comme
    il n'indique pas le chemin dans le lien, le chemin de l'URL serait
    incorrect.</li>
    <li>La directive <code class="directive"><a href="#directoryindex">DirectoryIndex</a></code> n'est évaluée
    <em>que</em> pour les répertoires se terminant par un slash.</li>
    <li>Les références à des URLs relatives dans les pages html
    fonctionneront alors correctement.</li>
    </ul>

    <p>Si vous ne souhaitez pas voir ces effets, <em>et</em> si
    les raisons évoquées ci-dessus ne s'appliquent pas à vous, vous
    pouvez désactiver la redirection comme indiqué ci-dessous.
    Gardez cependant à l'esprit que ceci peut avoir des répercutions en
    matière de sécurité.</p>

    <div class="example"><p><code>
        # voir l'avertissement de sécurité ci-dessous !<br />
        &lt;Location /un/chemin&gt;<br />
        <span class="indent">
            DirectorySlash Off<br />
            SetHandler un-gestionnaire<br />
        </span>
        &lt;/Location&gt;
    </code></p></div>

    <div class="warning"><h3>Avertissement de sécurité</h3>
    <p>La désactivation de la redirection "slash de fin" peut entraîner
    la divulgation d'informations. Considérons la situation où
    <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> est actif (<code>Options
    +Indexes</code>), où la directive <code class="directive"><a href="#directoryindex">DirectoryIndex</a></code> a pour valeur une ressource valide (par
    exemple <code>index.html</code>), et où aucun gestionnaire
    particulier n'a été défini pour cette URL. Dans ce cas, une requête
    avec slash de fin afficherait le contenu du fichier
    <code>index.html</code> ; <strong>par contre, une requête sans slash
    de fin afficherait un listing du contenu du
    répertoire</strong>.</p>
    </div>

</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="FallbackResource" id="FallbackResource">FallbackResource</a> <a name="fallbackresource" id="fallbackresource">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit une URL par défaut pour les requêtes qui ne ciblent
aucun fichier</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>FallbackResource <var>url-locale</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Aucune - httpd renvoie un code d'erreur 404 (Not Found)</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Indexes</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_dir</td></tr>
</table>
    <p>Cette directive permet de définir un traitement pour toute URL
    qui ne correspond à aucune ressource de votre système de fichiers,
    et qui provoquerait sans cela l'envoi d'un code d'erreur HTTP 404
    (Not Found).
    Par exemple</p>
    <div class="example"><p><code>
        <code>FallbackResource /not-404.php</code>
    </code></p></div>
    <p>fait en sorte que les requêtes ne correspondant à aucun fichier
    soient traitées par <code>non-404.php</code>, sans affecter les
    requêtes pour des fichiers existants.</p>
    <p>Il est souvent souhaitable qu'un seul fichier ou ressource traite
    toutes les requêtes à destination d'un répertoire
    particulier, sauf pour les requêtes qui correspondent à un fichier
    ou script existant. On y fait souvent référence sous le terme
    'contrôleur frontal'.</p>
    <p>Dans les versions plus anciennes de httpd, cet effet nécessitait
    en général <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>, et l'utilisation des tests
    conditionnels <code>-f</code> et <code>-d</code> pour vérifier
    l'existence des fichiers et répertoires. Maintenant, une seule ligne
    de configuration est nécessaire.</p>
    <div class="example"><p><code>
        <code>FallbackResource /index.php</code>
    </code></p></div>
    <p>Les fichiers existants comme des images, des fichiers css, etc...
    seront traités normalement.</p>
    <p>Pour un URI intermédiaire tel que
    <em>http://example.com/blog/</em>, cet URI intermédiaire doit être
    spécifié en tant que <var>url-locale</var> :</p>
    <div class="example"><p><code>
         <code>
             &lt;Directory /web/example.com/htdocs/blog&gt;<br />
	     <span class="indent">
		   FallbackResource /blog/index.php<br />
             </span>
             &lt;/Directory&gt;
         </code>
    </code></p></div>

</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_dir.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../fr/mod/mod_dir.html" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/mod_dir.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_dir.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/mod/mod_dir.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
<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>
<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>
</body></html>