mod_dir.xml.fr revision 8c7a70cc3f10ec5402377663f1ab14828871670e
22dd6d9af47163ee081d6c505d0a13dbf40ba87aChristian Maeder<!DOCTYPE modulesynopsis SYSTEM "/style/modulesynopsis.dtd">
df098122ddc81fe1cb033a151f7305c1dda2dc81Christian Maeder<?xml-stylesheet type="text/xsl" href="/style/manual.fr.xsl"?>
b03274844ecd270f9e9331f51cc4236a33e2e671Christian Maeder<!-- English Revision : 1326758-->
22dd6d9af47163ee081d6c505d0a13dbf40ba87aChristian Maeder<!-- French translation : Lucien GENTIS -->
2eeec5240b424984e3ee26296da1eeab6c6d739eChristian Maeder<!-- Reviewed by : Vincent Deffontaines -->
95c3e5d11dcee331dc3876a9bf0c1d6daa38e2caChristian Maeder Licensed to the Apache Software Foundation (ASF) under one or more
e6d40133bc9f858308654afb1262b8b483ec5922Till Mossakowski contributor license agreements. See the NOTICE file distributed with
679d3f541f7a9ede4079e045f7758873bb901872Till Mossakowski this work for additional information regarding copyright ownership.
679d3f541f7a9ede4079e045f7758873bb901872Till Mossakowski The ASF licenses this file to You under the Apache License, Version 2.0
1bb1684c83317dfd1692ab53415027b67d8f2faeTill Mossakowski (the "License"); you may not use this file except in compliance with
95c3e5d11dcee331dc3876a9bf0c1d6daa38e2caChristian Maeder the License. You may obtain a copy of the License at
f3faf4e4346b6224a3aaeeac11bac8b5c8932a29Christian Maeder Unless required by applicable law or agreed to in writing, software
f3faf4e4346b6224a3aaeeac11bac8b5c8932a29Christian Maeder distributed under the License is distributed on an "AS IS" BASIS,
f3faf4e4346b6224a3aaeeac11bac8b5c8932a29Christian Maeder WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
74b841a4b332085d5fd79975a13313c2681ae595Christian Maeder See the License for the specific language governing permissions and
74b841a4b332085d5fd79975a13313c2681ae595Christian Maeder limitations under the License.
95c3e5d11dcee331dc3876a9bf0c1d6daa38e2caChristian Maeder<modulesynopsis metafile="mod_dir.xml.meta">
ba904a15082557e939db689fcfba0c68c9a4f740Christian Maeder<description>Permet la redirection des adresses se terminant par un
1bc5dccbf0083a620ae1181c717fea75e4af5e5cChristian Maederrépertoire sans slash de fin et la mise à disposition des fichiers index
7bf4436b6f9987b070033a323757b206c898c1beChristian Maederde répertoire</description>
ba904a15082557e939db689fcfba0c68c9a4f740Christian Maeder <p>L'index d'un répertoire peut provenir de deux sources :</p>
f9e0b18852b238ddb649d341194e05d7200d1bbeChristian Maeder <li>Un fichier écrit par l'utilisateur, dont le nom, en général
a80f2865b6b40a922bcccfce0cb0d047edc33e3aChristian Maeder appelé <code>index.html</code>, peut être défini à l'aide de la
ad270004874ce1d0697fb30d7309f180553bb315Christian Maeder directive <directive module="mod_dir">DirectoryIndex</directive>
ad270004874ce1d0697fb30d7309f180553bb315Christian Maeder fournie par le module <module>mod_dir</module>.</li>
6108a4c3e891e85e6b36a658382d7e78ad4ce9e7Christian Maeder <li>Un listing généré par le serveur, par l'intermédiaire du
89ab08979dc23d72e9e09c8990a8c44847041d6fChristian Maeder module <module>mod_autoindex</module>.</li>
a80f2865b6b40a922bcccfce0cb0d047edc33e3aChristian Maeder <p>Les deux fonctions sont bien distinctes, si bien que vous pouvez
22dd6d9af47163ee081d6c505d0a13dbf40ba87aChristian Maeder supprimer (ou remplacer) la génération automatique d'index, si vous
95c3e5d11dcee331dc3876a9bf0c1d6daa38e2caChristian Maeder le souhaitez.</p>
be3f5e3e69900ececafea5b010a8400f26af5362Christian Maeder <p>Une redirection "slash de fin" est effectuée lorsque le serveur
a05cad7f2f387b795a71a3aaec543c78e1b89d38Christian Maeder reçoit une requête pour une URL du style
be3f5e3e69900ececafea5b010a8400f26af5362Christian Maeder <code>http://nom-serveur/foo/nom-rep</code> où <code>nom-rep</code>
12368e292c1abf7eaf975f20ee30ef7820ac5dd5Christian Maeder est le nom d'un répertoire. Comme les répertoires nécessitent un slash de
12368e292c1abf7eaf975f20ee30ef7820ac5dd5Christian Maeder fin, <module>mod_dir</module> effectue une redirection vers
12368e292c1abf7eaf975f20ee30ef7820ac5dd5Christian Maeder <code>http://nom-serveur/foo/nom-rep/</code>.</p>
be3f5e3e69900ececafea5b010a8400f26af5362Christian Maeder<directivesynopsis>
a05cad7f2f387b795a71a3aaec543c78e1b89d38Christian Maeder<description>Liste des fichiers ressources à rechercher lorsque le
12368e292c1abf7eaf975f20ee30ef7820ac5dd5Christian Maederclient envoie une requête pour un répertoire</description>
12368e292c1abf7eaf975f20ee30ef7820ac5dd5Christian Maeder<syntax>DirectoryIndex
12368e292c1abf7eaf975f20ee30ef7820ac5dd5Christian Maeder disabled | <var>url locale</var> [<var>url locale</var>] ...</syntax>
a05cad7f2f387b795a71a3aaec543c78e1b89d38Christian Maeder<default>DirectoryIndex index.html</default>
a05cad7f2f387b795a71a3aaec543c78e1b89d38Christian Maeder<contextlist><context>server config</context><context>virtual host</context>
7688e20f844fe88f75c04016841ebb5e5e3d927fChristian Maeder<context>directory</context><context>.htaccess</context></contextlist>
8528053a6a766c3614276df0f59fb2a2e8ab6d18Christian Maeder <p>La directive <directive>DirectoryIndex</directive> permet de
0d0047d6eb457b56ff10987569769a420754a56fChristian Maeder définir une liste de fichiers ressources à rechercher lorsqu'un
0d0047d6eb457b56ff10987569769a420754a56fChristian Maeder client envoie une requête pour l'index d'un répertoire, en ajoutant
0d0047d6eb457b56ff10987569769a420754a56fChristian Maeder un '/' à la fin du nom de ce dernier. <var>url locale</var> est
0d0047d6eb457b56ff10987569769a420754a56fChristian Maeder l'URL (codée avec caractères '%') d'un document du serveur, relative
12368e292c1abf7eaf975f20ee30ef7820ac5dd5Christian Maeder au répertoire faisant l'objet de la requête ; il s'agit en général
12368e292c1abf7eaf975f20ee30ef7820ac5dd5Christian Maeder du nom d'un fichier situé dans le répertoire. Si plusieurs URLs sont
0d0047d6eb457b56ff10987569769a420754a56fChristian Maeder fournies, le serveur renverra la première d'entre elles qui
0d0047d6eb457b56ff10987569769a420754a56fChristian Maeder correspond à une ressource existante. Si aucune ressource ne
0d0047d6eb457b56ff10987569769a420754a56fChristian Maeder correspond à la liste des URLs spécifiées, et si l'option
0d0047d6eb457b56ff10987569769a420754a56fChristian Maeder <code>Indexes</code> est définie, le serveur générera son propre
0d0047d6eb457b56ff10987569769a420754a56fChristian Maeder listing du répertoire.</p>
0d0047d6eb457b56ff10987569769a420754a56fChristian Maeder <p>Avec cette configuration, une requête pour l'URL
0d0047d6eb457b56ff10987569769a420754a56fChristian Maeder <code>http://example.com/docs/</code> renverrait au client la
1b05bdb88b90d3c947351f262d7ae7d68f0a4a6fTill Mossakowski ressource <code>http://example.com/docs/index.html</code> si elle
c30cfe2a6ab063befdfb47449bc286caee6d8fc3Christian Maeder existe, ou provoquerait la génération du listing du répertoire si la
31c49f2fa23d4ac089f35145d80a224deb6ea7e4Till Mossakowski ressource n'existe pas.</p>
2afae0880da7ca73c9376fd4d653ab19833fe858Christian Maeder <p>Notez qu'il n'est pas nécessaire que les documents soient
c30cfe2a6ab063befdfb47449bc286caee6d8fc3Christian Maeder relatifs au répertoire ;</p>
97f7ac06b3cbf4fc22c0a9eef523b68ee34fc164Christian Maeder DirectoryIndex index.html index.txt /cgi-bin/index.pl
de66af0f4b27f08f81c7ca9c573ef9cdf7ca7a07Christian Maeder <p>provoquerait l'exécution du script CGI
7297175957c5ad3c0498032190b1dee9ec5fb873Christian Maeder <code>/cgi-bin/index.pl</code> si aucun des fichiers
792df0347edab377785d98c63e2be8e2ce0a8bdeChristian Maeder <code>index.html</code> ou <code>index.txt</code> n'existe dans le
a89e661aad28f1b39f4fc9f9f9a4d46074234123Christian Maeder répertoire considéré.</p>
89ab08979dc23d72e9e09c8990a8c44847041d6fChristian Maeder <p>La spécification du seul argument "disabled" empêche
1b05bdb88b90d3c947351f262d7ae7d68f0a4a6fTill Mossakowski <module>mod_dir</module> de rechercher un index. Un argument
1bc5dccbf0083a620ae1181c717fea75e4af5e5cChristian Maeder "disabled" sera interprété de manière littérale si d'autres
de66af0f4b27f08f81c7ca9c573ef9cdf7ca7a07Christian Maeder arguments sont présents avant ou après lui, même s'ils sont
de66af0f4b27f08f81c7ca9c573ef9cdf7ca7a07Christian Maeder eux-mêmes des arguments "disabled".</p>
12368e292c1abf7eaf975f20ee30ef7820ac5dd5Christian Maeder</directivesynopsis>
0d0047d6eb457b56ff10987569769a420754a56fChristian Maeder<directivesynopsis>
0d0047d6eb457b56ff10987569769a420754a56fChristian Maeder<description>Définit une redirection externe pour les index de
8528053a6a766c3614276df0f59fb2a2e8ab6d18Christian Maederrépertoires.
df098122ddc81fe1cb033a151f7305c1dda2dc81Christian Maeder</description>
df098122ddc81fe1cb033a151f7305c1dda2dc81Christian Maeder<syntax>DirectoryIndexRedirect on | off | permanent | temp | seeother |
a05cad7f2f387b795a71a3aaec543c78e1b89d38Christian Maeder<default>DirectoryIndexRedirect off</default>
df098122ddc81fe1cb033a151f7305c1dda2dc81Christian Maeder<contextlist><context>server config</context><context>virtual host</context>
1c8c2b04b40b5c054da07b8d059e5ef29d4dbc32Christian Maeder<context>directory</context><context>.htaccess</context></contextlist>
df098122ddc81fe1cb033a151f7305c1dda2dc81Christian Maeder<compatibility>Disponible depuis la version 2.3.14</compatibility>
2afae0880da7ca73c9376fd4d653ab19833fe858Christian Maeder <p>Par défaut, c'est la page définie par la directive
c30cfe2a6ab063befdfb47449bc286caee6d8fc3Christian Maeder <directive>DirectoryIndex</directive> qui est sélectionnée et
ff3bc28a09cff76d4d6cbe8914ab53d1e032d009Till Mossakowski renvoyée de manière transparente au client. La directive
95c3e5d11dcee331dc3876a9bf0c1d6daa38e2caChristian Maeder <directive>DirectoryIndexRedirect</directive> permet de rediriger le
0d0047d6eb457b56ff10987569769a420754a56fChristian Maeder client vers une ressource externe.</p>
a05cad7f2f387b795a71a3aaec543c78e1b89d38Christian Maeder DirectoryIndexRedirect on
c0380b947eef252db81ee562246bb732555427f4Till Mossakowski <p>Une requête pour <code>http://example.com/docs/</code> se
2afae0880da7ca73c9376fd4d653ab19833fe858Christian Maeder solderait par une redirection temporaire vers
c30cfe2a6ab063befdfb47449bc286caee6d8fc3Christian Maeder <code>http://example.com/docs/index.html</code> si cette ressource
95c3e5d11dcee331dc3876a9bf0c1d6daa38e2caChristian Maeder</directivesynopsis>
95c3e5d11dcee331dc3876a9bf0c1d6daa38e2caChristian Maeder<directivesynopsis>
0d0047d6eb457b56ff10987569769a420754a56fChristian Maeder<description>Activation/Désactivation de la redirection "slash de
22dd6d9af47163ee081d6c505d0a13dbf40ba87aChristian Maederfin"</description>
22dd6d9af47163ee081d6c505d0a13dbf40ba87aChristian Maeder<contextlist><context>server config</context><context>virtual
d08907a7832988612fbc0682b216e150d1e738d2Christian Maederhost</context>
d08907a7832988612fbc0682b216e150d1e738d2Christian Maeder<context>directory</context><context>.htaccess</context></contextlist>
58b671de3fe578346fef9642ffa3c5a0a0edb3cbTill Mossakowski<compatibility>Disponible depuis le version 2.0.51
58b671de3fe578346fef9642ffa3c5a0a0edb3cbTill Mossakowskid'Apache</compatibility>
a05cad7f2f387b795a71a3aaec543c78e1b89d38Christian Maeder <p>La directive <directive>DirectorySlash</directive> permet de
a05cad7f2f387b795a71a3aaec543c78e1b89d38Christian Maeder déterminer si <module>mod_dir</module> doit corriger ou non les URLs
8528053a6a766c3614276df0f59fb2a2e8ab6d18Christian Maeder pointant vers un répertoire.</p>
a05cad7f2f387b795a71a3aaec543c78e1b89d38Christian Maeder <p>En général, si un utilisateur envoie une requête pour une
a05cad7f2f387b795a71a3aaec543c78e1b89d38Christian Maeder ressource sans slash de fin, cette ressource représentant un
0d0047d6eb457b56ff10987569769a420754a56fChristian Maeder répertoire, <module>mod_dir</module> le redirige vers la même
a05cad7f2f387b795a71a3aaec543c78e1b89d38Christian Maeder ressource, mais <em>en ajoutant</em> un slash de fin, et ceci pour
8528053a6a766c3614276df0f59fb2a2e8ab6d18Christian Maeder plusieurs bonnes raisons :</p>
b9804822fb178b0fc27ce967a6a8cedc42c5bf90Christian Maeder <li>La requête de l'utilisateur contiendra finalement l'URL
95c3e5d11dcee331dc3876a9bf0c1d6daa38e2caChristian Maeder canonique de la ressource</li>
95c3e5d11dcee331dc3876a9bf0c1d6daa38e2caChristian Maeder <li><module>mod_autoindex</module> fonctionnera correctement. Comme
2afae0880da7ca73c9376fd4d653ab19833fe858Christian Maeder il n'indique pas le chemin dans le lien, le chemin de l'URL serait
a80f2865b6b40a922bcccfce0cb0d047edc33e3aChristian Maeder incorrect.</li>
a80f2865b6b40a922bcccfce0cb0d047edc33e3aChristian Maeder module="mod_dir">DirectoryIndex</directive> n'est évaluée
a80f2865b6b40a922bcccfce0cb0d047edc33e3aChristian Maeder <em>que</em> pour les répertoires se terminant par un slash.</li>
95c3e5d11dcee331dc3876a9bf0c1d6daa38e2caChristian Maeder <li>Les références à des URLs relatives dans les pages html
b645cf3dc1e449038ed291bbd11fcc6e02b2fc7fChristian Maeder fonctionneront alors correctement.</li>
a80f2865b6b40a922bcccfce0cb0d047edc33e3aChristian Maeder <p>Si vous ne souhaitez pas voir ces effets, <em>et</em> si
3476beb5baf84bef7cc7d627b130de9d48700399Christian Maeder les raisons évoquées ci-dessus ne s'appliquent pas à vous, vous
8528053a6a766c3614276df0f59fb2a2e8ab6d18Christian Maeder pouvez désactiver la redirection comme indiqué ci-dessous.
a80f2865b6b40a922bcccfce0cb0d047edc33e3aChristian Maeder Gardez cependant à l'esprit que ceci peut avoir des répercutions en
b10d6cef708b7a659f2d3b367e8e0db0d03ae3f5Till Mossakowski matière de sécurité.</p>
e379124f467e5d0ef7d3c0ca238bff0521f70831Till Mossakowski # voir l'avertissement de sécurité ci-dessous !<br />
22dd6d9af47163ee081d6c505d0a13dbf40ba87aChristian Maeder DirectorySlash Off<br />
b9804822fb178b0fc27ce967a6a8cedc42c5bf90Christian Maeder SetHandler un-gestionnaire<br />
21dae7237ac384abdb94a81e00b3f099873ec623Till Mossakowski </Location>
22dd6d9af47163ee081d6c505d0a13dbf40ba87aChristian Maeder <note type="warning"><title>Avertissement de sécurité</title>
b645cf3dc1e449038ed291bbd11fcc6e02b2fc7fChristian Maeder <p>La désactivation de la redirection "slash de fin" peut entraîner
b645cf3dc1e449038ed291bbd11fcc6e02b2fc7fChristian Maeder la divulgation d'informations. Considérons la situation où
283fdbf051a1cbcfe003ffdcb434564495106f13Christian Maeder <module>mod_autoindex</module> est actif (<code>Options
283fdbf051a1cbcfe003ffdcb434564495106f13Christian Maeder +Indexes</code>), où la directive <directive module="mod_dir"
c30cfe2a6ab063befdfb47449bc286caee6d8fc3Christian Maeder >DirectoryIndex</directive> a pour valeur une ressource valide (par
c30cfe2a6ab063befdfb47449bc286caee6d8fc3Christian Maeder exemple <code>index.html</code>), et où aucun gestionnaire
283fdbf051a1cbcfe003ffdcb434564495106f13Christian Maeder particulier n'a été défini pour cette URL. Dans ce cas, une requête
283fdbf051a1cbcfe003ffdcb434564495106f13Christian Maeder avec slash de fin afficherait le contenu du fichier
283fdbf051a1cbcfe003ffdcb434564495106f13Christian Maeder <code>index.html</code> ; <strong>par contre, une requête sans slash
c30cfe2a6ab063befdfb47449bc286caee6d8fc3Christian Maeder de fin afficherait un listing du contenu du
3476beb5baf84bef7cc7d627b130de9d48700399Christian Maeder <p>Notez aussi que certains navigateurs peuvent modifier par erreur
c0380b947eef252db81ee562246bb732555427f4Till Mossakowski des requêtes POST en requêtes GET lors d'une redirection, les
c0380b947eef252db81ee562246bb732555427f4Till Mossakowski données POST étant alors perdues.</p>
c30cfe2a6ab063befdfb47449bc286caee6d8fc3Christian Maeder</directivesynopsis>
2afae0880da7ca73c9376fd4d653ab19833fe858Christian Maeder<directivesynopsis>
b9804822fb178b0fc27ce967a6a8cedc42c5bf90Christian Maeder<description>Définit une URL par défaut pour les requêtes qui ne ciblent
9dfa1c020a030abdbcfce17b18000cc4e1f28462Christian Maederaucun fichier</description>
7bf4436b6f9987b070033a323757b206c898c1beChristian Maeder<syntax>FallbackResource <var>url-locale</var></syntax>
7bf4436b6f9987b070033a323757b206c898c1beChristian Maeder<default>Aucune - httpd renvoie un code d'erreur 404 (Not Found)</default>
1bc5dccbf0083a620ae1181c717fea75e4af5e5cChristian Maeder<contextlist><context>server config</context><context>virtual host</context>
1bc5dccbf0083a620ae1181c717fea75e4af5e5cChristian Maeder<context>directory</context><context>.htaccess</context></contextlist>
1bc5dccbf0083a620ae1181c717fea75e4af5e5cChristian Maeder <p>Cette directive permet de définir un traitement pour toute URL
58b671de3fe578346fef9642ffa3c5a0a0edb3cbTill Mossakowski qui ne correspond à aucune ressource de votre système de fichiers,
95c3e5d11dcee331dc3876a9bf0c1d6daa38e2caChristian Maeder et qui provoquerait sans cela l'envoi d'un code d'erreur HTTP 404
12368e292c1abf7eaf975f20ee30ef7820ac5dd5Christian Maeder Par exemple</p>
89ab08979dc23d72e9e09c8990a8c44847041d6fChristian Maeder <p>fait en sorte que les requêtes ne correspondant à aucun fichier
9dfa1c020a030abdbcfce17b18000cc4e1f28462Christian Maeder soient traitées par <code>non-404.php</code>, sans affecter les
9dfa1c020a030abdbcfce17b18000cc4e1f28462Christian Maeder requêtes pour des fichiers existants.</p>
0d0047d6eb457b56ff10987569769a420754a56fChristian Maeder <p>Il est souvent souhaitable qu'un seul fichier ou ressource traite
a05cad7f2f387b795a71a3aaec543c78e1b89d38Christian Maeder toutes les requêtes à destination d'un répertoire
c0380b947eef252db81ee562246bb732555427f4Till Mossakowski particulier, sauf pour les requêtes qui correspondent à un fichier
c0380b947eef252db81ee562246bb732555427f4Till Mossakowski ou script existant. On y fait souvent référence sous le terme
a05cad7f2f387b795a71a3aaec543c78e1b89d38Christian Maeder 'contrôleur frontal'.</p>
37d0b201b8ba5d6056691e3055dd803e7928e163Christian Maeder <p>Dans les versions plus anciennes de httpd, cet effet nécessitait
8528053a6a766c3614276df0f59fb2a2e8ab6d18Christian Maeder en général <module>mod_rewrite</module>, et l'utilisation des tests
95c3e5d11dcee331dc3876a9bf0c1d6daa38e2caChristian Maeder conditionnels <code>-f</code> et <code>-d</code> pour vérifier
c0380b947eef252db81ee562246bb732555427f4Till Mossakowski l'existence des fichiers et répertoires. Maintenant, une seule ligne
95c3e5d11dcee331dc3876a9bf0c1d6daa38e2caChristian Maeder de configuration est nécessaire.</p>
b9804822fb178b0fc27ce967a6a8cedc42c5bf90Christian Maeder <p>Les fichiers existants comme des images, des fichiers css, etc...
22dd6d9af47163ee081d6c505d0a13dbf40ba87aChristian Maeder seront traités normalement.</p>
22dd6d9af47163ee081d6c505d0a13dbf40ba87aChristian Maeder <p>Pour un URI intermédiaire tel que
a05cad7f2f387b795a71a3aaec543c78e1b89d38Christian Maeder <em>http://example.com/blog/</em>, cet URI intermédiaire doit être
a980a2f16eda9aad70f1f53f9df713595f57cb78Jian Chun Wang spécifié en tant que <var>url-locale</var> :</p>
0d0047d6eb457b56ff10987569769a420754a56fChristian Maeder <Directory /web/example.com/htdocs/blog><br />
7d5f239f3f1c1397e5d80caea12929bdf8abe2d8Christian Maeder </Directory>
7d5f239f3f1c1397e5d80caea12929bdf8abe2d8Christian Maeder</directivesynopsis>
c30cfe2a6ab063befdfb47449bc286caee6d8fc3Christian Maeder</modulesynopsis>