Serveur Apache HTTP Version 2.4

| Description: | 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 |
|---|---|
| Statut: | Base |
| Identificateur�de�Module: | dir_module |
| Fichier�Source: | mod_dir.c |
L'index d'un r�pertoire peut provenir de deux sources :
index.html, peut �tre d�fini � l'aide de la
directive DirectoryIndex
fournie par le module mod_dir.mod_autoindex.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.
Une redirection "slash de fin" est effectu�e lorsque le serveur
re�oit une requ�te pour une URL du style
http://nom-serveur/foo/nom-rep o� nom-rep
est le nom d'un r�pertoire. Comme les r�pertoires n�cessitent un slash de
fin, mod_dir effectue une redirection vers
http://nom-serveur/foo/nom-rep/.
| Description: | D�finit la r�ponse de ce module lorsqu'un autre gestionnaire est utilis� |
|---|---|
| Syntaxe: | DirectoryCheckHandler On|Off |
| D�faut: | DirectoryCheckHandler Off |
| Contexte: | configuration du serveur, serveur virtuel, r�pertoire, .htaccess |
| AllowOverride: | Indexes |
| Statut: | Base |
| Module: | mod_dir |
| Compatibilit�: | Disponible depuis la version 2.4.8 du serveur HTTP Apache. Les versions ant�rieures � 2.4 se comportaient implicitement comme si "DirectoryCheckHandler ON" avait �t� sp�cifi�. |
La directive DirectoryCheckHandler permet
de faire en sorte que mod_dir recherche un index
de r�pertoire ou ajoute des slashes de fin lorsqu'un autre
gestionnaire � �t� d�fini pour l'URL consid�r�e. Les gestionnaires
peuvent �tre d�finis � via des directives telles que
SetHandler ou par d'autres
modules tels que mod_rewrite au cours des
substitutions de niveau r�pertoire.
Dans les versions ant�rieures � 2.4, ce module ne modifiait pas
son comportement si un autre gestionnaire avait �t� d�fini pour
l'URL consid�r�e. Ceci permettait de servir des index de r�pertoires
m�me si une directive SetHandler avait �t�
d�finie pour un r�pertoire entier, mais pouvait aussi �tre �
l'origine de conflits avec d'autres modules.
| Description: | Liste des fichiers ressources � rechercher lorsque le client envoie une requ�te pour un r�pertoire |
|---|---|
| Syntaxe: | DirectoryIndex
disabled | url locale [url locale] ... |
| D�faut: | DirectoryIndex index.html |
| Contexte: | configuration du serveur, serveur virtuel, r�pertoire, .htaccess |
| AllowOverride: | Indexes |
| Statut: | Base |
| Module: | mod_dir |
La directive DirectoryIndex 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. url locale 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
Indexes est d�finie, le serveur g�n�rera son propre
listing du r�pertoire.
DirectoryIndex index.html
Avec cette configuration, une requ�te pour l'URL
http://example.com/docs/ renverrait au client la
ressource http://example.com/docs/index.html si elle
existe, ou provoquerait la g�n�ration du listing du r�pertoire si la
ressource n'existe pas.
Notez qu'il n'est pas n�cessaire que les documents soient relatifs au r�pertoire ;
DirectoryIndex index.html index.txt /cgi-bin/index.pl
provoquerait l'ex�cution du script CGI
/cgi-bin/index.pl si aucun des fichiers
index.html ou index.txt n'existe dans le
r�pertoire consid�r�.
La sp�cification du seul argument "disabled" emp�che
mod_dir 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".
Note: Positionner plusieurs directives DirectoryIndex
au coeur du m�me context compl�te la liste des ressources et ne l'�crase pas :
# Exemple A: Positionner index.html en page d'index, puis ajouter index.php.
<Directory /foo>
DirectoryIndex index.html
DirectoryIndex index.php
</Directory>
# Exemple B: La m�me chose que l'exemple A, mais r�alis� au moyen d'une seule directive.
<Directory /foo>
DirectoryIndex index.html index.php
</Directory>
# Exemple C: Pour remplacer la liste des ressources, il faut d'abord la vider :
# Ici, seul index.php restera r�f�renc� comme ressource d'index.
<Directory /foo>
DirectoryIndex index.html
DirectoryIndex disabled
DirectoryIndex index.php
</Directory>
| Description: | D�finit une redirection externe pour les index de r�pertoires. |
|---|---|
| Syntaxe: | DirectoryIndexRedirect on | off | permanent | temp | seeother |
3xx-code
|
| D�faut: | DirectoryIndexRedirect off |
| Contexte: | configuration du serveur, serveur virtuel, r�pertoire, .htaccess |
| AllowOverride: | Indexes |
| Statut: | Base |
| Module: | mod_dir |
| Compatibilit�: | Disponible depuis la version 2.3.14 |
Par d�faut, c'est la page d�finie par la directive
DirectoryIndex qui est s�lectionn�e et
renvoy�e de mani�re transparente au client. La directive
DirectoryIndexRedirect permet de rediriger le
client via une redirection de type 3xx.
Les arguments accept�s sont :
on : envoie une redirection 302 vers l'index choisi.off : n'envoie aucune redirection. Il s'agit du comportement historique de mod_dir.permanent : envoie une redirection 301 (permanent) vers l'index choisi.temp : ceci est �quivalent � onseeother : envoie une redirection 303 (�galement appel�e "See Other") vers l'index choisi.DirectoryIndexRedirect on
Une requ�te pour http://example.com/docs/ se
solderait par une redirection temporaire vers
http://example.com/docs/index.html si cette ressource
existe.
| Description: | Activation/D�sactivation de la redirection "slash de fin" |
|---|---|
| Syntaxe: | DirectorySlash On|Off |
| D�faut: | DirectorySlash On |
| Contexte: | configuration du serveur, serveur virtuel, r�pertoire, .htaccess |
| AllowOverride: | Indexes |
| Statut: | Base |
| Module: | mod_dir |
La directive DirectorySlash permet de
d�terminer si mod_dir doit corriger ou non les URLs
pointant vers un r�pertoire.
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, mod_dir le redirige vers la m�me
ressource, mais en ajoutant un slash de fin, et ceci pour
plusieurs bonnes raisons :
mod_autoindex fonctionnera correctement. Comme
il n'indique pas le chemin dans le lien, le chemin de l'URL serait
incorrect.DirectoryIndex n'est �valu�e
que pour les r�pertoires se terminant par un slash.Si vous ne souhaitez pas voir ces effets, et 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�.
# voir l'avertissement de s�curit� ci-dessous !
<Location /some/path>
DirectorySlash Off
SetHandler some-handler
</Location>
La d�sactivation de la redirection "slash de fin" peut entra�ner
la divulgation d'informations. Consid�rons la situation o�
mod_autoindex est actif (Options
+Indexes), o� la directive DirectoryIndex a pour valeur une ressource valide (par
exemple index.html), 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
index.html ; par contre, une requ�te sans slash
de fin afficherait un listing du contenu du
r�pertoire.
Notez aussi que certains navigateurs peuvent modifier par erreur des requ�tes POST en requ�tes GET lors d'une redirection, les donn�es POST �tant alors perdues.
| Description: | D�finit une URL par d�faut pour les requ�tes qui ne ciblent aucun fichier |
|---|---|
| Syntaxe: | FallbackResource disabled | url-locale |
| D�faut: | disabled - httpd renvoie un code d'erreur 404 (Not Found) |
| Contexte: | configuration du serveur, serveur virtuel, r�pertoire, .htaccess |
| AllowOverride: | Indexes |
| Statut: | Base |
| Module: | mod_dir |
| Compatibilit�: | L'argument disabled est disponible � partir
de la version 2.4.4 du serveur HTTP Apache. |
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
FallbackResource /not-404.php
fait en sorte que les requ�tes ne correspondant � aucun fichier
soient trait�es par non-404.php, sans affecter les
requ�tes pour des fichiers existants.
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'.
Dans les versions plus anciennes de httpd, cet effet n�cessitait
en g�n�ral mod_rewrite, et l'utilisation des tests
conditionnels -f et -d pour v�rifier
l'existence des fichiers et r�pertoires. Maintenant, une seule ligne
de configuration est n�cessaire.
FallbackResource /index.php
Les fichiers existants comme des images, des fichiers css, etc... seront trait�s normalement.
L'argument disabled permet de d�sactiver cette
fonctionnalit� dans le cas o� l'h�ritage d'un r�pertoire parent
n'est pas souhait�.
Pour un URI interm�diaire tel que http://example.com/blog/, cet URI interm�diaire doit �tre sp�cifi� en tant que url-locale :
<Directory /web/example.com/htdocs/blog>
FallbackResource /blog/index.php
</Directory>
<Directory /web/example.com/htdocs/blog/images>
FallbackResource disabled
</Directory>