htaccess.xml.fr revision 3c252a872911ea51e7ecea3d73ee251dc0551bc4
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd<?xml-stylesheet type="text/xsl" href="/style/manual.fr.xsl"?>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd<!-- English Revision: 1561569:1651479 (outdated) -->
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd<!-- French translation : Lucien GENTIS -->
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd<!-- Reviewed by : Vincent Deffontaines -->
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd Licensed to the Apache Software Foundation (ASF) under one or more
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd contributor license agreements. See the NOTICE file distributed with
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd this work for additional information regarding copyright ownership.
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd The ASF licenses this file to You under the Apache License, Version 2.0
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd (the "License"); you may not use this file except in compliance with
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd the License. You may obtain a copy of the License at
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd Unless required by applicable law or agreed to in writing, software
4b5981e276e93df97c34e4da05ca5cf8bbd937dand distributed under the License is distributed on an "AS IS" BASIS,
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9472e4d3c410be3b3f1addbf3b1db1769f64e765nd See the License for the specific language governing permissions and
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd limitations under the License.
fac8c35bfb158112226ab43ddf84d59daca5dc30nd<parentdocument href="./">Recettes / Tutoriels</parentdocument>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd<title>Tutoriel du serveur HTTP Apache : fichiers .htaccess</title>
4b575a6b6704b516f22d65a3ad35696d7b9ba372rpluem<p>Les fichiers <code>.htaccess</code> fournissent une méthode pour
4b575a6b6704b516f22d65a3ad35696d7b9ba372rpluemmodifier la configuration du serveur au niveau de chaque répertoire.</p>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <modulelist>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd </modulelist>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <directivelist>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <directive module="mod_authn_file">AuthUserFile</directive>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <directive module="mod_authz_groupfile">AuthGroupFile</directive>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd </directivelist>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd </related>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <note>Les fichiers <code>.htaccess</code> ne doivent être utilisés
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd que si vous n'avez pas accès au fichier de configuration du serveur
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd principal. L'utilisation des fichiers <code>.htaccess</code>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd ralentit le fonctionnement de votre serveur HTTP Apache. Il est toujours
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd préférable de définir les directives que vous pouvez inclure dans un
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd fichier <code>.htaccess</code> dans une section <directive
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd module="core">Directory</directive>, car elles produiront le
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd même effet avec de meilleures performances.</note>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd<title>Que sont ce fichiers, comment les utiliser ?</title>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd configuration distribués") fournissent une méthode pour modifier la
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd configuration du serveur au niveau d'un répertoire. Un fichier,
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd contenant une ou plusieurs directives de configuration, est placé
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd dans un répertoire de documents particulier, et ses directives
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd s'appliquent à ce répertoire et à tous ses sous-répertoires.</p>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <p>Si vous voulez donner un autre nom à votre fichier
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <code>.htaccess</code>, vous pouvez le faire en utilisant la
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd directive <directive module="core">AccessFileName</directive>. Par
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd exemple, si vous préférez nommer votre fichier
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <code>.config</code>, vous pouvez mettre ceci dans le fichier de
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd configuration de votre serveur :</p>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd AccessFileName .config
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd </highlight>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <p>En général, les fichiers <code>.htaccess</code> utilisent la même
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd syntaxe que les <a href="/configuring.html#syntax">fichiers de
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd configuration principaux</a>. Ce que vous pouvez mettre dans ces
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd fichier est déterminé par la directive <directive
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd module="core">AllowOverride</directive>. Cette directive spécifie,
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd sous forme de catégories, quelles directives seront traitées si
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd elles se trouvent dans un fichier <code>.htaccess</code>. Si une
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd directive est permise dans un fichier <code>.htaccess</code> file,
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd la documentation de cette directive contiendra une section Override,
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd spécifiant quelle valeur doit prendre <directive
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd module="core">AllowOverride</directive> pour que cette directive
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd soit traitée.</p>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <p>Par exemple, si vous regardez la documentation de la directive
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <directive module="core">AddDefaultCharset</directive>, vous verrez
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd que cette dernière est permise dans les fichiers
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <code>.htaccess</code> (Voir la ligne de contexte dans le résumé de
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd la directive). La ligne <a
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd href="/mod/directive-dict.html#Context">Override</a> indique
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <code>AllowOverride FileInfo</code> pour que cette directive soit
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd traitée dans les fichiers <code>.htaccess</code>.</p>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd href="/mod/directive-dict.html#Context">Contexte :</a></td>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <td>configuration du serveur, serveur virtuel, directory, .htaccess</td>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd href="/mod/directive-dict.html#Override">Override:</a></td>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd </example>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <p>Si vous n'êtes pas sûr qu'une directive particulière soit permise
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd dans un fichier <code>.htaccess</code>, lisez la documentation de
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd cette directive, et consultez la ligne de contexte pour
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd ".htaccess".</p>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd </section>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <section id="when"><title>Quand doit-on (ne doit-on pas) utiliser
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd les fichiers .htaccess ?</title>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <p>En principe, vous ne devriez utiliser les fichiers
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <code>.htaccess</code> que lorsque vous n'avez pas accès au fichier de
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd configuration du serveur principal. Par exemple, la fausse
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd idée
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd selon laquelle l'authentification de l'utilisateur devrait toujours
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd être faite dans les fichiers <code>.htaccess</code> est très
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd répandue. Il est aussi souvent avancé, ces dernières
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd années, que les directives de <module>mod_rewrite</module> doivent
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd être définies dans les fichiers <code>.htaccess</code>. Ceci est
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd tout simplement faux. Vous pouvez configurer
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd l'authentification des utilisateurs au niveau de la configuration du
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd serveur principal, et c'est en fait cette méthode qui doit être
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd privilégiée. De même, les directives de
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <code>mod_rewrite</code> fonctionneront mieux, à de nombreux égards,
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd dans le contexte du serveur principal.</p>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <p>Les fichiers <code>.htaccess</code> ne devraient être utilisés
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd que dans le cas où les fournisseurs de contenu ont besoin de
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd modifier la configuration du serveur au niveau d'un répertoire, mais
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd ne possèdent pas l'accès root sur le système du serveur. Si
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd l'administrateur du serveur ne souhaite pas effectuer des
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd modifications de configuration incessantes, il peut être intéressant
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd de permettre aux utilisateurs isolés d'effectuer eux-mêmes ces
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd modifications par le biais de fichiers <code>.htaccess</code>. Ceci
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd est particulièrement vrai dans le cas où le fournisseur d'accès à
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd Internet héberge de nombreux sites d'utilisateurs sur un seul
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd serveur, et souhaite que ces utilisateurs puissent modifier
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd eux-mêmes leurs configurations.</p>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <p>Cependant et d'une manière générale, il vaut mieux éviter
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd d'utiliser les fichiers <code>.htaccess</code>. Tout élément de
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd configuration que vous pourriez vouloir mettre dans un fichier
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <code>.htaccess</code>, peut aussi être mis, et avec la même
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd efficacité, dans une section <directive module="core"
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd type="section">Directory</directive> du fichier de configuration de
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd votre serveur principal.</p>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <p>Il y a deux raisons principales d'éviter l'utilisation des
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <p>La première est liée aux performances. Lorsque la directive
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <directive module="core">AllowOverride</directive> est définie de
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd façon à autoriser l'utilisation des fichiers <code>.htaccess</code>,
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd httpd va rechercher leur présence dans chaque répertoire. Ainsi,
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd permettre l'utilisation des fichiers <code>.htaccess</code> est déjà
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd en soi une cause de dégradation des performances, que vous utilisiez
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd effectivement ces fichiers ou non ! De plus, le fichier
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <code>.htaccess</code> est chargé en mémoire chaque fois qu'un
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd document fait l'objet d'une requête.</p>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <p>Notez aussi que httpd doit rechercher les fichiers
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <code>.htaccess</code> dans tous les répertoires de niveau
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd supérieur, afin de rassembler toutes les directives qui s'appliquent
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd au répertoire courant (Voir la section <a href="#how">comment sont
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd appliquées les directives</a>). Ainsi, si un fichier fait l'objet
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd d'une requête à partir d'un répertoire
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <code>/www/htdocs/exemple</code>, httpd doit rechercher les
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd fichiers suivants :</p>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd /.htaccess<br />
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd </example>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <p>En conséquence, chaque accès à un fichier de ce répertoire
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd nécessite 4 accès au système de fichiers supplémentaires pour
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd rechercher des fichiers <code>.htaccess</code>, même si
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd aucun de ces fichiers n'est présent. Notez que cet exemple ne peut
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd se produire que si les fichiers <code>.htaccess</code> ont été
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd autorisés pour le répertoire <code>/</code>, ce qui est rarement le
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <p>La seconde raison d'éviter l'utilisation des fichiers
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <code>.htaccess</code> est liée à la sécurité. Si vous permettez aux
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd utilisateurs de modifier la configuration du serveur, il peut en
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd résulter des conséquences sur lesquelles vous n'aurez aucun
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd contrôle. Réfléchissez bien avant de donner ce privilège à vos
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd utilisateurs. Notez aussi que ne pas donner aux utilisateurs les
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd privilèges dont ils ont besoin va entraîner une augmentation des
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd demandes de support technique. Assurez-vous d'avoir informé
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd clairement vos utilisateurs du niveau de privilèges que vous leur
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd avez attribué. Indiquer exactement comment vous avez défini la
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd directive <directive module="core">AllowOverride</directive> et
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd diriger les utilisateurs vers la documentation correspondante vous
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd évitera bien des confusions ultérieures.</p>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <p>Notez que mettre un fichier <code>.htaccess</code> contenant une
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd directive dans un répertoire <code>/www/htdocs/exemple</code>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd revient exactement au même que mettre la même directive dans une
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd section Directory <code><Directory /www/htdocs/exemple></code>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd du fichier de configuration de votre serveur principal :</p>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <highlight language="config">AddType text/example .exm</highlight>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd </example>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd</Directory>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd </highlight>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd </example>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <p>Cependant, la perte de performances sera moindre si vous
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd définissez cette directive dans la configuration de
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd votre serveur principal, car cette dernière ne sera chargée qu'une
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd seule fois au moment du démarrage du serveur, alors qu'elle le sera
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd à chaque accès dans le cas d'un fichier <code>.htaccess</code>.</p>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <p>L'utilisation des fichiers <code>.htaccess</code> peut être
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd entièrement désactivée en définissant la directive <directive
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd module="core">AllowOverride</directive> à <code>none</code> :</p>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <highlight language="config">AllowOverride None</highlight>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd<section id="how"><title>Comment sont appliquées les directives ?</title>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <p>Les directives de configuration situées dans un fichier
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <code>.htaccess</code> s'appliquent au répertoire dans lequel ce
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd fichier <code>.htaccess</code> se trouve, ainsi qu'à tous ses
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd sous-répertoires. Cependant, il est important de garder à l'esprit
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd qu'il peut y avoir des fichiers <code>.htaccess</code> dans les
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd répertoires de niveau supérieur. Les directives sont appliquées
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd selon l'ordre dans lequel elles sont rencontrées. Ainsi, les
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd directives d'un fichier <code>.htaccess</code> situé dans un
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd répertoire particulier peuvent écraser les directives se trouvant
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd dans des fichiers <code>.htaccess</code> situés à un niveau
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd supérieur dans l'arborescence des répertoires. Et ces dernières
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd peuvent elles-mêmes avoir écrasé des directives d'un fichier
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <code>.htaccess</code> situé à un niveau encore plus haut, ou dans
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd le fichier de configuration du serveur principal.</p>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <p>Dans le répertoire <code>/www/htdocs/exemple1</code> se trouve un
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd fichier <code>.htaccess</code> contenant ce qui suit :</p>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <highlight language="config">Options +ExecCGI</highlight>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <p>Note : "<code>AllowOverride Options</code>" doit être présent
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd pour permettre l'utilisation de la directive "<directive
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <p>Dans le répertoire <code>/www/htdocs/exemple1/exemple2</code> se
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd trouve un fichier <code>.htaccess</code> contenant ce qui suit
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <highlight language="config">Options Includes</highlight>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <p>Ainsi, à cause de ce second fichier <code>.htaccess</code> du
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd répertoire <code>/www/htdocs/exemple1/exemple2</code>, l'exécution
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd des CGI est interdite, car la dernière définition d'options
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <code>Options Includes</code> écrase toute autre définition
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd d'options d'un fichier <code>.htaccess</code> situé dans un
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd répertoire de niveau supérieur.</p>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <section id="merge"><title>Interactions entre les fichiers .htaccess
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd et les fichiers de configuration du serveur principal</title>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd href="/sections.html">Sections de configuration</a>, les fichiers
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <code>.htaccess</code> peuvent écraser les directives des sections
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <directive type="section" module="core">Directory</directive> pour
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd le répertoire correspondant, mais peuvent eux-mêmes être écrasés
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd par d'autres types de sections des fichiers de la
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd configuration principale. Cette possibilité peut s'avérer utile pour
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd forcer certaines configurations, même en cas de présence de l'option
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd libérale <directive module="core">AllowOverride</directive>. Par
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd exemple, pour interdire l'exécution de scripts en autorisant la
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd définition de toute autre option dans les fichiers
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd AllowOverride All
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd</Directory>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd<Location />
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd Options +IncludesNoExec -ExecCGI<br />
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd</Location>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd </highlight>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <note>Dans cet exemple, on considère que le chemin défini par la
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd directive <directive module="core">DocumentRoot</directive> est
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd<section id="auth"><title>Exemple d'authentification</title>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <p>Si vous accédez directement à ce point du document pour apprendre
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd à effectuer une authentification, il est important de noter ceci. Il
6df89e6e4adeb986b41b7ec6b7593a887e031ce7nd existe une fausse idée selon laquelle il serait nécessaire
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd d'utiliser les fichiers <code>.htaccess</code> pour implémenter
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd l'authentification par mot de passe. Ceci est tout simplement faux.
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd Pour y parvenir, il est préférable de mettre les directives
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd d'authentification dans une section <directive module="core"
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd type="section">Directory</directive> du fichier de configuration de
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd votre serveur principal, et les fichiers <code>.htaccess</code> ne
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd devraient être utilisés que dans le cas où vous n'avez pas accès au
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd fichier de configuration du serveur principal. Voir <a
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd href="#when">ci-dessus</a> pour savoir dans quels cas vous devez ou
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd ne devez pas utiliser les fichiers <code>.htaccess</code>.</p>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <p>Ceci étant dit, si vous pensez que vous devez quand-même utiliser
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd un fichier <code>.htaccess</code>, vous pouvez utiliser la
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd configuration suivante :</p>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34ndAuthType Basic
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34ndAuthName "Password Required"
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34ndRequire Group admins
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd </highlight>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <p>Notez que <code>AllowOverride AuthConfig</code> doit être présent
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd pour que ces directives produisent leur effet.</p>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <p>Vous pouvez vous référer au <a href="auth.html">tutoriel sur
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd l'authentification</a> pour une description plus détaillée de
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd l'authentification et de l'autorisation.</p>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd<section id="ssi"><title>Exemple d'Inclusion Côté Serveur (Server Side
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34ndIncludes - SSI)</title>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <p>Les fichiers <code>.htaccess</code> sont aussi couramment
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd utilisés pour activer les SSI pour un répertoire particulier. Pour y
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd parvenir, on utilise les directives de configuration suivantes,
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd placées dans un fichier <code>.htaccess</code> enregistré dans le
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd répertoire considéré :</p>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34ndOptions +Includes
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34ndAddHandler server-parsed shtml
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd </highlight>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <p>Notez que <code>AllowOverride Options</code> et <code>AllowOverride
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd FileInfo</code> doivent être tous les deux présents pour que ces
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd directives puissent produire leur effet.</p>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <p>Vous pouvez vous référer au <a href="ssi.html">tutoriel SSI</a>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd pour une description plus détaillée des SSI.</p>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <p>En fin de compte, vous avez décidé d'utiliser un fichier
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <code>.htaccess</code> pour permettre l'exécution des programmes CGI
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd dans un répertoire particulier. Pour y parvenir, vous pouvez
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd utiliser la configuration suivante :</p>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34ndOptions +ExecCGI
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34ndAddHandler cgi-script cgi pl
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd </highlight>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <p>Alternativement, si vous souhaitez que tous les fichiers d'un
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd répertoire donné soient considérés comme des programmes CGI, vous
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd pouvez utiliser la configuration suivante :</p>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34ndOptions +ExecCGI
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34ndSetHandler cgi-script
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd </highlight>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <p>Notez que <code>AllowOverride Options</code> et <code>AllowOverride
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd FileInfo</code> doivent être tous les deux présents pour que ces
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd directives puissent produire leur effet.</p>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <p>Vous pouvez vous référer au <a href="cgi.html">tutoriel CGI</a>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd pour une description plus détaillée de la configuration et de la
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd proprammation CGI.</p>
cd7c928b185ceb2b481d1149dd90f0fc40f83da1nd<section id="troubleshoot"><title>Résolution des problèmes</title>
fac8c35bfb158112226ab43ddf84d59daca5dc30nd <p>De nombreuses raisons peuvent être à l'origine du fait que
fac8c35bfb158112226ab43ddf84d59daca5dc30nd les directives que vous avez mises dans un fichier
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <code>.htaccess</code> ne produisent pas l'effet désiré.</p>
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd <p>Le plus souvent, le problème vient du fait que la définition de
97a3ecc40b65d5f8e865bbe0b1c9325d8c016e34nd la directive <directive module="core">AllowOverride</directive>
[Fri Sep 17 18:43:16 2010] [alert] [client 192.168.200.51] /var/www/html/.htaccess: DirectoryIndex not allowed here