mod_dir.xml.fr revision ab629fab2135fb9e0d530bee73907c293d602c59
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor<!DOCTYPE modulesynopsis SYSTEM "/style/modulesynopsis.dtd">
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor<?xml-stylesheet type="text/xsl" href="/style/manual.fr.xsl"?>
ab629fab2135fb9e0d530bee73907c293d602c59lgentis<!-- English Revision : 1353503-->
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor<!-- French translation : Lucien GENTIS -->
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor<!-- Reviewed by : Vincent Deffontaines -->
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor Licensed to the Apache Software Foundation (ASF) under one or more
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor contributor license agreements. See the NOTICE file distributed with
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor this work for additional information regarding copyright ownership.
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor The ASF licenses this file to You under the Apache License, Version 2.0
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor (the "License"); you may not use this file except in compliance with
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor the License. You may obtain a copy of the License at
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor Unless required by applicable law or agreed to in writing, software
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor distributed under the License is distributed on an "AS IS" BASIS,
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor See the License for the specific language governing permissions and
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor limitations under the License.
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor<description>Permet la redirection des adresses se terminant par un
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzorrépertoire sans slash de fin et la mise à disposition des fichiers index
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzorde répertoire</description>
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor <p>L'index d'un répertoire peut provenir de deux sources :</p>
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor <li>Un fichier écrit par l'utilisateur, dont le nom, en général
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor appelé <code>index.html</code>, peut être défini à l'aide de la
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor directive <directive module="mod_dir">DirectoryIndex</directive>
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor <li>Un listing généré par le serveur, par l'intermédiaire du
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor <p>Les deux fonctions sont bien distinctes, si bien que vous pouvez
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor supprimer (ou remplacer) la génération automatique d'index, si vous
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor le souhaitez.</p>
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor <p>Une redirection "slash de fin" est effectuée lorsque le serveur
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor reçoit une requête pour une URL du style
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor <code>http://nom-serveur/foo/nom-rep</code> où <code>nom-rep</code>
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor est le nom d'un répertoire. Comme les répertoires nécessitent un slash de
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor fin, <module>mod_dir</module> effectue une redirection vers
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor<directivesynopsis>
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor<description>Liste des fichiers ressources à rechercher lorsque le
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzorclient envoie une requête pour un répertoire</description>
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor<syntax>DirectoryIndex
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor disabled | <var>url locale</var> [<var>url locale</var>] ...</syntax>
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor<contextlist><context>server config</context><context>virtual host</context>
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor<context>directory</context><context>.htaccess</context></contextlist>
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor <p>La directive <directive>DirectoryIndex</directive> permet de
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor définir une liste de fichiers ressources à rechercher lorsqu'un
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor client envoie une requête pour l'index d'un répertoire, en ajoutant
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor un '/' à la fin du nom de ce dernier. <var>url locale</var> est
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor l'URL (codée avec caractères '%') d'un document du serveur, relative
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor au répertoire faisant l'objet de la requête ; il s'agit en général
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor du nom d'un fichier situé dans le répertoire. Si plusieurs URLs sont
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor fournies, le serveur renverra la première d'entre elles qui
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor correspond à une ressource existante. Si aucune ressource ne
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor correspond à la liste des URLs spécifiées, et si l'option
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor <code>Indexes</code> est définie, le serveur générera son propre
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor listing du répertoire.</p>
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor DirectoryIndex index.html
06e80fa0dffc17ae61bca1715c96e08ea90d53cblgentis </highlight>
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor <p>Avec cette configuration, une requête pour l'URL
ee93e5f676dff5e42f52a2de815f52745f6868b3lgentis <code>http://example.com/docs/</code> renverrait au client la
ee93e5f676dff5e42f52a2de815f52745f6868b3lgentis ressource <code>http://example.com/docs/index.html</code> si elle
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor existe, ou provoquerait la génération du listing du répertoire si la
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor ressource n'existe pas.</p>
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor <p>Notez qu'il n'est pas nécessaire que les documents soient
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor relatifs au répertoire ;</p>
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor DirectoryIndex index.html index.txt /cgi-bin/index.pl
06e80fa0dffc17ae61bca1715c96e08ea90d53cblgentis </highlight>
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor <p>provoquerait l'exécution du script CGI
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor <code>index.html</code> ou <code>index.txt</code> n'existe dans le
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor répertoire considéré.</p>
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor <p>La spécification du seul argument "disabled" empêche
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor <module>mod_dir</module> de rechercher un index. Un argument
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor "disabled" sera interprété de manière littérale si d'autres
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor arguments sont présents avant ou après lui, même s'ils sont
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor eux-mêmes des arguments "disabled".</p>
ea7faa14f220892d3de347b2897b5197b9edcb7algentis <p><strong>Note :</strong>La définition de plusieurs directives
ab629fab2135fb9e0d530bee73907c293d602c59lgentis <directive>DirectoryIndex</directive> au sein d'un <a href="/sections.html"><em>même
ab629fab2135fb9e0d530bee73907c293d602c59lgentis contexte</em></a> permet d'ajouter des ressources à rechercher plutôt
ea7faa14f220892d3de347b2897b5197b9edcb7algentis que de remplacer celle déjà définies :
ab629fab2135fb9e0d530bee73907c293d602c59lgentis# Exemple A: définit index.html comme page d'index, ainsi qu'index.php.
ab629fab2135fb9e0d530bee73907c293d602c59lgentis<Directory /foo>
ab629fab2135fb9e0d530bee73907c293d602c59lgentis DirectoryIndex index.html
ab629fab2135fb9e0d530bee73907c293d602c59lgentis DirectoryIndex index.php
ab629fab2135fb9e0d530bee73907c293d602c59lgentis</Directory>
ab629fab2135fb9e0d530bee73907c293d602c59lgentis# Exemple B: identique à l'exemple A, mais avec une seule directive.
ab629fab2135fb9e0d530bee73907c293d602c59lgentis<Directory /foo>
ab629fab2135fb9e0d530bee73907c293d602c59lgentis</Directory>
ab629fab2135fb9e0d530bee73907c293d602c59lgentis# Exemple C: pour remplacer la liste des pages d'index par une autre,
ab629fab2135fb9e0d530bee73907c293d602c59lgentis# vous devez tout d'abord supprimer la première liste : dans l'exemple
ab629fab2135fb9e0d530bee73907c293d602c59lgentis# suivant, il ne restera qu'index.php comme page d'index.
ab629fab2135fb9e0d530bee73907c293d602c59lgentis<Directory /foo>
ab629fab2135fb9e0d530bee73907c293d602c59lgentis DirectoryIndex index.html
ab629fab2135fb9e0d530bee73907c293d602c59lgentis DirectoryIndex disabled
ab629fab2135fb9e0d530bee73907c293d602c59lgentis DirectoryIndex index.php
ab629fab2135fb9e0d530bee73907c293d602c59lgentis</Directory>
ea7faa14f220892d3de347b2897b5197b9edcb7algentis </highlight>
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor</directivesynopsis>
ee93e5f676dff5e42f52a2de815f52745f6868b3lgentis<directivesynopsis>
ee93e5f676dff5e42f52a2de815f52745f6868b3lgentis<description>Définit une redirection externe pour les index de
ee93e5f676dff5e42f52a2de815f52745f6868b3lgentisrépertoires.
ee93e5f676dff5e42f52a2de815f52745f6868b3lgentis</description>
09796a508c72a6aba33aa486753bb8cdea806d43lgentis<syntax>DirectoryIndexRedirect on | off | permanent | temp | seeother |
ee93e5f676dff5e42f52a2de815f52745f6868b3lgentis<contextlist><context>server config</context><context>virtual host</context>
ee93e5f676dff5e42f52a2de815f52745f6868b3lgentis<context>directory</context><context>.htaccess</context></contextlist>
ee93e5f676dff5e42f52a2de815f52745f6868b3lgentis<compatibility>Disponible depuis la version 2.3.14</compatibility>
ee93e5f676dff5e42f52a2de815f52745f6868b3lgentis <p>Par défaut, c'est la page définie par la directive
ee93e5f676dff5e42f52a2de815f52745f6868b3lgentis <directive>DirectoryIndex</directive> qui est sélectionnée et
ee93e5f676dff5e42f52a2de815f52745f6868b3lgentis renvoyée de manière transparente au client. La directive
ee93e5f676dff5e42f52a2de815f52745f6868b3lgentis <directive>DirectoryIndexRedirect</directive> permet de rediriger le
ee93e5f676dff5e42f52a2de815f52745f6868b3lgentis client vers une ressource externe.</p>
ee93e5f676dff5e42f52a2de815f52745f6868b3lgentis DirectoryIndexRedirect on
06e80fa0dffc17ae61bca1715c96e08ea90d53cblgentis </highlight>
ee93e5f676dff5e42f52a2de815f52745f6868b3lgentis <p>Une requête pour <code>http://example.com/docs/</code> se
ee93e5f676dff5e42f52a2de815f52745f6868b3lgentis solderait par une redirection temporaire vers
ee93e5f676dff5e42f52a2de815f52745f6868b3lgentis <code>http://example.com/docs/index.html</code> si cette ressource
ee93e5f676dff5e42f52a2de815f52745f6868b3lgentis existe.</p>
ee93e5f676dff5e42f52a2de815f52745f6868b3lgentis</directivesynopsis>
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor<directivesynopsis>
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor<description>Activation/Désactivation de la redirection "slash de
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzorfin"</description>
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor<contextlist><context>server config</context><context>virtual
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzorhost</context>
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor<context>directory</context><context>.htaccess</context></contextlist>
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor<compatibility>Disponible depuis le version 2.0.51
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzord'Apache</compatibility>
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor <p>La directive <directive>DirectorySlash</directive> permet de
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor déterminer si <module>mod_dir</module> doit corriger ou non les URLs
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor pointant vers un répertoire.</p>
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor <p>En général, si un utilisateur envoie une requête pour une
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor ressource sans slash de fin, cette ressource représentant un
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor répertoire, <module>mod_dir</module> le redirige vers la même
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor ressource, mais <em>en ajoutant</em> un slash de fin, et ceci pour
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor plusieurs bonnes raisons :</p>
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor <li>La requête de l'utilisateur contiendra finalement l'URL
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor canonique de la ressource</li>
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor <li><module>mod_autoindex</module> fonctionnera correctement. Comme
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor il n'indique pas le chemin dans le lien, le chemin de l'URL serait
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor incorrect.</li>
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor module="mod_dir">DirectoryIndex</directive> n'est évaluée
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor <em>que</em> pour les répertoires se terminant par un slash.</li>
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor <li>Les références à des URLs relatives dans les pages html
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor fonctionneront alors correctement.</li>
d63adaad22c2f1639677506e340a5a683f63244flgentis <p>Si vous ne souhaitez pas voir ces effets, <em>et</em> si
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor les raisons évoquées ci-dessus ne s'appliquent pas à vous, vous
d63adaad22c2f1639677506e340a5a683f63244flgentis pouvez désactiver la redirection comme indiqué ci-dessous.
d63adaad22c2f1639677506e340a5a683f63244flgentis Gardez cependant à l'esprit que ceci peut avoir des répercutions en
d63adaad22c2f1639677506e340a5a683f63244flgentis matière de sécurité.</p>
06e80fa0dffc17ae61bca1715c96e08ea90d53cblgentis# voir l'avertissement de sécurité ci-dessous !
06e80fa0dffc17ae61bca1715c96e08ea90d53cblgentis DirectorySlash Off
06e80fa0dffc17ae61bca1715c96e08ea90d53cblgentis SetHandler some-handler
06e80fa0dffc17ae61bca1715c96e08ea90d53cblgentis</Location>
06e80fa0dffc17ae61bca1715c96e08ea90d53cblgentis </highlight>
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor <note type="warning"><title>Avertissement de sécurité</title>
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor <p>La désactivation de la redirection "slash de fin" peut entraîner
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor la divulgation d'informations. Considérons la situation où
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor <module>mod_autoindex</module> est actif (<code>Options
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor +Indexes</code>), où la directive <directive module="mod_dir"
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor >DirectoryIndex</directive> a pour valeur une ressource valide (par
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor exemple <code>index.html</code>), et où aucun gestionnaire
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor particulier n'a été défini pour cette URL. Dans ce cas, une requête
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor avec slash de fin afficherait le contenu du fichier
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor <code>index.html</code> ; <strong>par contre, une requête sans slash
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor de fin afficherait un listing du contenu du
5e6dcc287b64eb58282c020e8a91a8bfb6ac0339lgentis <p>Notez aussi que certains navigateurs peuvent modifier par erreur
5e6dcc287b64eb58282c020e8a91a8bfb6ac0339lgentis des requêtes POST en requêtes GET lors d'une redirection, les
5e6dcc287b64eb58282c020e8a91a8bfb6ac0339lgentis données POST étant alors perdues.</p>
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor</directivesynopsis>
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor<directivesynopsis>
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor<description>Définit une URL par défaut pour les requêtes qui ne ciblent
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzoraucun fichier</description>
0066eddda7203f6345b56f77d146a759298dc635gryzor<syntax>FallbackResource <var>url-locale</var></syntax>
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor<default>Aucune - httpd renvoie un code d'erreur 404 (Not Found)</default>
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor<contextlist><context>server config</context><context>virtual host</context>
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor<context>directory</context><context>.htaccess</context></contextlist>
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor <p>Cette directive permet de définir un traitement pour toute URL
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor qui ne correspond à aucune ressource de votre système de fichiers,
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor et qui provoquerait sans cela l'envoi d'un code d'erreur HTTP 404
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor (Not Found).
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor Par exemple</p>
06e80fa0dffc17ae61bca1715c96e08ea90d53cblgentis FallbackResource /not-404.php
06e80fa0dffc17ae61bca1715c96e08ea90d53cblgentis </highlight>
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor <p>fait en sorte que les requêtes ne correspondant à aucun fichier
0066eddda7203f6345b56f77d146a759298dc635gryzor soient traitées par <code>non-404.php</code>, sans affecter les
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor requêtes pour des fichiers existants.</p>
0066eddda7203f6345b56f77d146a759298dc635gryzor <p>Il est souvent souhaitable qu'un seul fichier ou ressource traite
0066eddda7203f6345b56f77d146a759298dc635gryzor toutes les requêtes à destination d'un répertoire
0066eddda7203f6345b56f77d146a759298dc635gryzor particulier, sauf pour les requêtes qui correspondent à un fichier
0066eddda7203f6345b56f77d146a759298dc635gryzor ou script existant. On y fait souvent référence sous le terme
0066eddda7203f6345b56f77d146a759298dc635gryzor 'contrôleur frontal'.</p>
0066eddda7203f6345b56f77d146a759298dc635gryzor <p>Dans les versions plus anciennes de httpd, cet effet nécessitait
0066eddda7203f6345b56f77d146a759298dc635gryzor en général <module>mod_rewrite</module>, et l'utilisation des tests
0066eddda7203f6345b56f77d146a759298dc635gryzor conditionnels <code>-f</code> et <code>-d</code> pour vérifier
0066eddda7203f6345b56f77d146a759298dc635gryzor l'existence des fichiers et répertoires. Maintenant, une seule ligne
0066eddda7203f6345b56f77d146a759298dc635gryzor de configuration est nécessaire.</p>
06e80fa0dffc17ae61bca1715c96e08ea90d53cblgentis FallbackResource /index.php
06e80fa0dffc17ae61bca1715c96e08ea90d53cblgentis </highlight>
0066eddda7203f6345b56f77d146a759298dc635gryzor <p>Les fichiers existants comme des images, des fichiers css, etc...
0066eddda7203f6345b56f77d146a759298dc635gryzor seront traités normalement.</p>
1475e66926f2bb491eccdc36d48e2da722228139lgentis <p>Pour un URI intermédiaire tel que
1475e66926f2bb491eccdc36d48e2da722228139lgentis <em>http://example.com/blog/</em>, cet URI intermédiaire doit être
1475e66926f2bb491eccdc36d48e2da722228139lgentis spécifié en tant que <var>url-locale</var> :</p>
06e80fa0dffc17ae61bca1715c96e08ea90d53cblgentis</Directory>
06e80fa0dffc17ae61bca1715c96e08ea90d53cblgentis </highlight>
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor</directivesynopsis>
dfb59c684345700bf9186b8d44936f8b1ba082ffgryzor</modulesynopsis>