urlmapping.xml.fr revision dfc515decf0e3a5a980ec4e06af4eb76d4a95440
97a9a944b5887e91042b019776c41d5dd74557aferikabele<!DOCTYPE manualpage SYSTEM "/style/manualpage.dtd">
97a9a944b5887e91042b019776c41d5dd74557aferikabele<?xml-stylesheet type="text/xsl" href="/style/manual.fr.xsl"?>
b1ced323143ade589985456a78f3f64d6a6580c5yoshiki<!-- French translation : Lucien GENTIS -->
b1ced323143ade589985456a78f3f64d6a6580c5yoshiki<!-- Reviewed by : Vincent Deffontaines -->
b1ced323143ade589985456a78f3f64d6a6580c5yoshiki<!-- English Revision: 732819:921872 (outdated) -->
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd Licensed to the Apache Software Foundation (ASF) under one or more
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd contributor license agreements. See the NOTICE file distributed with
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd this work for additional information regarding copyright ownership.
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd The ASF licenses this file to You under the Apache License, Version 2.0
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd (the "License"); you may not use this file except in compliance with
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd the License. You may obtain a copy of the License at
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd Unless required by applicable law or agreed to in writing, software
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd distributed under the License is distributed on an "AS IS" BASIS,
4b5981e276e93df97c34e4da05ca5cf8bbd937dand WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd See the License for the specific language governing permissions and
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd limitations under the License.
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd <title> Mise en correspondance des URLs avec le système de fichiers</title>
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd <p>Ce document explique comment Apache utilise l'URL contenue dans une
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd requête pour déterminer le noeud du système de fichier à partir duquel le
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd fichier devra être servi.</p>
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd </summary>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive<section id="related"><title>Modules et directives concernés</title>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive<modulelist>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive</modulelist>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive<directivelist>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive<directive module="mod_speling">CheckSpelling</directive>
f0a393c5c2d7de58f447855369ad2fbfa254e544rbowen<directive module="mod_proxy">ProxyPassReverse</directive>
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd<directive module="mod_proxy">ProxyPassReverseCookieDomain</directive>
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd<directive module="mod_proxy">ProxyPassReverseCookiePath</directive>
117c1f888a14e73cdd821dc6c23eb0411144a41cnd<directive module="mod_alias">ScriptAliasMatch</directive>
117c1f888a14e73cdd821dc6c23eb0411144a41cnd</directivelist>
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd<section id="documentroot"><title>Racine des documents (DocumentRoot)</title>
f0a393c5c2d7de58f447855369ad2fbfa254e544rbowen <p>La méthode par défaut d'Apache pour déterminer quel fichier servir pour
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd une requête donnée, consiste à extraire le chemin du fichier de la requête
4c36c711036219c80d5517d35be68a4769c15291slive (la partie de l'URL qui suit le nom d'hôte et le port), puis de l'ajouter
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd à la fin de la valeur de la directive
ff21ab9f1cc3037fe58a2029432834581594b6c4pctony <directive module="core">DocumentRoot</directive> définie dans vos fichiers
ff21ab9f1cc3037fe58a2029432834581594b6c4pctony de configuration.
ff21ab9f1cc3037fe58a2029432834581594b6c4pctony Ainsi, les fichiers et répertoires
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd situés en dessous de <directive module="core">DocumentRoot</directive>
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd constituent l'arborescence de base des documents qui seront visibles
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd depuis le web.</p>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <p>Par exemple, si la directive
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <directive module="core">DocumentRoot</directive> contient
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <code>http://www.example.com/fish/guppies.html</code> retournera le
b95ae799514ad86a15610ad75808d7065e9847c9kess fichier <code>/var/www/html/fish/guppies.html</code> au client.</p>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <p>Apache supporte aussi les <a href="vhosts/">Hôtes virtuels</a>,
06ba4a61654b3763ad65f52283832ebf058fdf1cslive ce qui lui permet de traiter des requêtes pour plusieurs hôtes.
06ba4a61654b3763ad65f52283832ebf058fdf1cslive Dans ce cas, un <directive module="core">DocumentRoot</directive>
f0a393c5c2d7de58f447855369ad2fbfa254e544rbowen différent peut être défini pour chaque hôte virtuel;
f0a393c5c2d7de58f447855369ad2fbfa254e544rbowen les directives fournies par le module
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd <module>mod_vhost_alias</module> peuvent aussi être utilisées afin de
06ba4a61654b3763ad65f52283832ebf058fdf1cslive déterminer dynamiquement le noeud approprié du système de fichiers
06ba4a61654b3763ad65f52283832ebf058fdf1cslive à partir duquel servir un contenu en fonction de l'adresse IP
06ba4a61654b3763ad65f52283832ebf058fdf1cslive ou du nom d'hôte.</p>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <p>La directive <directive module="core">DocumentRoot</directive> est
06ba4a61654b3763ad65f52283832ebf058fdf1cslive définie dans le fichier de configuration de votre serveur principal
06ba4a61654b3763ad65f52283832ebf058fdf1cslive (<code>httpd.conf</code>), mais peut aussi être redéfinie pour chaque
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <a href="vhosts/">Hôte virtuel</a> supplémentaire que vous avez créé.</p>
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluem<section id="outside"><title>Fichiers situés en dehors de
bf380c59be3f235bde21f1c00098e09e3cf7e7aerplueml'arborescence DocumentRoot</title>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <p>Il existe de nombreuses circonstances pour lesquelles il est nécessaire
06ba4a61654b3763ad65f52283832ebf058fdf1cslive d'autoriser l'accès web à des portions du système de fichiers qui ne se
97a9a944b5887e91042b019776c41d5dd74557aferikabele trouvent pas dans l'arborescence <directive
06ba4a61654b3763ad65f52283832ebf058fdf1cslive module="core">DocumentRoot</directive>. Apache propose de nombreuses
06ba4a61654b3763ad65f52283832ebf058fdf1cslive solutions pour réaliser cela. Sur les systèmes Unix, les liens
06ba4a61654b3763ad65f52283832ebf058fdf1cslive symboliques permettent de rattacher d'autres portions du système de
06ba4a61654b3763ad65f52283832ebf058fdf1cslive fichiers au <directive
97a9a944b5887e91042b019776c41d5dd74557aferikabele module="core">DocumentRoot</directive>. Pour des raisons de sécurité,
06ba4a61654b3763ad65f52283832ebf058fdf1cslive Apache ne suivra les liens symboliques que si les <directive
4c36c711036219c80d5517d35be68a4769c15291slive module="core">Options</directive> pour le répertoire concerné contiennent
4c36c711036219c80d5517d35be68a4769c15291slive <code>FollowSymLinks</code> ou <code>SymLinksIfOwnerMatch</code>.</p>
4c36c711036219c80d5517d35be68a4769c15291slive <p>Une autre méthode consiste à utiliser la directive <directive
4c36c711036219c80d5517d35be68a4769c15291slive module="mod_alias">Alias</directive> pour rattacher toute portion
4c36c711036219c80d5517d35be68a4769c15291slive du système de fichiers à l'arborescence du site web. Par exemple, avec</p>
4c36c711036219c80d5517d35be68a4769c15291slive <p>l'URL <code>http://www.example.com/docs/dir/file.html</code>
4c36c711036219c80d5517d35be68a4769c15291slive correspondra au fichier <code>/var/web/dir/file.html</code>. La
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd fonctionne de la même manière, excepté que tout contenu localisé dans le
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd chemin cible sera traité comme un script <glossary ref="cgi"
f0a393c5c2d7de58f447855369ad2fbfa254e544rbowen <p>Pour les situations qui nécessitent plus de flexibilité, vous disposez
f0a393c5c2d7de58f447855369ad2fbfa254e544rbowen des directives <directive module="mod_alias">AliasMatch</directive>
f0a393c5c2d7de58f447855369ad2fbfa254e544rbowen et <directive module="mod_alias">ScriptAliasMatch</directive>
f0a393c5c2d7de58f447855369ad2fbfa254e544rbowen qui permettent des substitutions et comparaisons puissantes basées
f0a393c5c2d7de58f447855369ad2fbfa254e544rbowen sur les <glossary ref="regex">expressions rationnelles</glossary>.
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd Par exemple,</p>
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd<example>ScriptAliasMatch ^/~([a-zA-Z0-9]+)/cgi-bin/(.+)
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd <p>fera correspondre une requête du style
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd <code>http://example.com/~user/cgi-bin/script.cgi</code> au chemin
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd <code>/home/user/cgi-bin/script.cgi</code>, et traitera le fichier résultant
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd comme un script CGI.</p>
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd<section id="user"><title>Répertoires des utilisateurs</title>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <p>Sur les systèmes Unix, on peut traditionnellement faire référence
97a9a944b5887e91042b019776c41d5dd74557aferikabele au répertoire personnel d'un <em>utilisateur</em> particulier à l'aide de
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluem étend cette idée au web en autorisant l'accès aux fichiers situés dans les
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluem répertoires home des utilisateurs à l'aide d'URLs
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluem comme dans ce qui suit :</p>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive<example>http://www.example.com/~user/file.html</example>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <p>Pour des raisons de sécurité, il est déconseillé de permettre un accès
06ba4a61654b3763ad65f52283832ebf058fdf1cslive direct à un répertoire home d'utilisateur depuis le web. A cet effet, la
06ba4a61654b3763ad65f52283832ebf058fdf1cslive directive <directive module="mod_userdir">UserDir</directive>
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluem spécifie un répertoire où sont situés les fichiers accessibles depuis le web
06ba4a61654b3763ad65f52283832ebf058fdf1cslive dans le répertoire home de l'utilisateur.
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluem Avec la configuration par défaut
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <code>Userdir public_html</code>, l'URL ci-dessus correspondra à un fichier
06ba4a61654b3763ad65f52283832ebf058fdf1cslive dont le chemin sera du style
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <code>/home/user/public_html/file.html</code> où
97a9a944b5887e91042b019776c41d5dd74557aferikabele <code>/home/user/</code> est le répertoire home de l'utilisateur tel qu'il
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluem <p>La directive <code>Userdir</code> met à votre disposition de nombreuses
97a9a944b5887e91042b019776c41d5dd74557aferikabele formes différentes pour les systèmes où <code>/etc/passwd</code> ne
06ba4a61654b3763ad65f52283832ebf058fdf1cslive spécifie pas la localisation du répertoire home.</p>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <p>Certains jugent le symbole "~" (dont le code sur le web est souvent
97a9a944b5887e91042b019776c41d5dd74557aferikabele <code>%7e</code>) inapproprié et préfèrent utiliser une chaîne de
06ba4a61654b3763ad65f52283832ebf058fdf1cslive caractères différente pour représenter les répertoires utilisateurs.
06ba4a61654b3763ad65f52283832ebf058fdf1cslive mod_userdir ne supporte pas cette fonctionnalité. Cependant, si les
06ba4a61654b3763ad65f52283832ebf058fdf1cslive répertoires home des utilisateurs sont structurés de manière rationnelle,
06ba4a61654b3763ad65f52283832ebf058fdf1cslive il est possible d'utiliser la directive
06ba4a61654b3763ad65f52283832ebf058fdf1cslive pour obtenir l'effet désiré. Par exemple, pour faire correspondre
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <code>http://www.example.com/upages/user/file.html</code> à
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <code>/home/user/public_html/file.html</code>, utilisez la directive
06ba4a61654b3763ad65f52283832ebf058fdf1cslive<example>AliasMatch ^/upages/([a-zA-Z0-9]+)/?(.*)
97a9a944b5887e91042b019776c41d5dd74557aferikabele<section id="redirect"><title>Redirection d'URL</title>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <p>Les directives de configuration décrites dans les sections précédentes
06ba4a61654b3763ad65f52283832ebf058fdf1cslive demandent à Apache d'extraire un contenu depuis un emplacement spécifique
06ba4a61654b3763ad65f52283832ebf058fdf1cslive du système de fichiers
06ba4a61654b3763ad65f52283832ebf058fdf1cslive et de la retourner au client. Il est cependant parfois
97a9a944b5887e91042b019776c41d5dd74557aferikabele souhaitable d'informer le
06ba4a61654b3763ad65f52283832ebf058fdf1cslive client que le contenu demandé est localisé à une URL différente, et de
06ba4a61654b3763ad65f52283832ebf058fdf1cslive demander au client d'élaborer une nouvelle requête avec la nouvelle URL.
06ba4a61654b3763ad65f52283832ebf058fdf1cslive Ce processus se nomme <em>redirection</em> et est implémenté par la
06ba4a61654b3763ad65f52283832ebf058fdf1cslive directive <directive module="mod_alias">Redirect</directive>.
06ba4a61654b3763ad65f52283832ebf058fdf1cslive Par exemple, si le contenu du répertoire <code>/foo/</code> sous
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <directive module="core">DocumentRoot</directive> est déplacé vers le
06ba4a61654b3763ad65f52283832ebf058fdf1cslive nouveau répertoire <code>/bar/</code>, vous pouvez demander aux clients
06ba4a61654b3763ad65f52283832ebf058fdf1cslive de le requérir à sa nouvelle localisation comme suit :</p>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive<example>Redirect permanent /foo/ http://www.example.com/bar/</example>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <p>Ceci aura pour effet de rediriger tout chemin d'URL commençant par
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <code>/foo/</code> vers le même chemin d'URL sur le serveur
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <code>www.example.com</code> en remplaçant <code>/foo/</code> par
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <code>/bar/</code>. Vous pouvez rediriger les clients non seulement sur le
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluem serveur d'origine, mais aussi vers n'importe quel autre serveur.</p>
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluem module="mod_alias">RedirectMatch</directive> pour traiter les problèmes
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluem de réécriture d'une plus grande complexité. Par exemple, afin de rediriger
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluem les requêtes pour la page d'accueil du site vers un site différent, mais
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluem laisser toutes les autres requêtes inchangées, utilisez la
5ae30adbe59946de742ab0cd6be3b7457471a698takashi configuration suivante :</p>
97a9a944b5887e91042b019776c41d5dd74557aferikabele<example>RedirectMatch permanent ^/$
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd <p>De même, pour rediriger temporairement toutes les pages d'un site
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd vers une page particulière d'un autre site, utilisez ce qui suit :</p>
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd<example>RedirectMatch temp .*
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd<section id="proxy"><title>Mandataire inverse (Reverse Proxy)</title>
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd<p>Apache vous permet aussi de rapatrier des documents distants
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nddans l'espace des URL du serveur local.
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4ndCette technique est appelée <em>mandataire inverse ou reverse
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4ndproxying</em> car le serveur web agit comme un serveur mandataire en
06ba4a61654b3763ad65f52283832ebf058fdf1csliverapatriant les documents depuis un serveur distant puis les renvoyant
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluemau client. Ceci diffère d'un service de proxy usuel car, pour le client,
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluemles documents semblent appartenir au serveur mandataire inverse.</p>
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluem<p>Dans l'exemple suivant, quand les clients demandent des documents situés
06ba4a61654b3763ad65f52283832ebf058fdf1cslivedans le répertoire
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluem<code>/foo/</code>, le serveur rapatrie ces documents depuis le répertoire
06ba4a61654b3763ad65f52283832ebf058fdf1cslive<code>/bar/</code> sur <code>internal.example.com</code>
06ba4a61654b3763ad65f52283832ebf058fdf1csliveet les renvoie au client comme s'ils appartenaient au serveur local.</p>
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluemProxyPassReverse /foo/ http://internal.example.com/bar/<br />
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluemProxyPassReverseCookieDomain internal.example.com public.example.com<br />
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluemProxyPassReverseCookiePath /foo/ /bar/
06ba4a61654b3763ad65f52283832ebf058fdf1cslive<p>La directive <directive module="mod_proxy">ProxyPass</directive> configure
06ba4a61654b3763ad65f52283832ebf058fdf1cslivele serveur pour rapatrier les documents appropriés, alors que la directive
06ba4a61654b3763ad65f52283832ebf058fdf1cslive<directive module="mod_proxy">ProxyPassReverse</directive>
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluemréécrit les redirections provenant de
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluem<code>internal.example.com</code> de telle manière qu'elles ciblent le
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluemrépertoire approprié sur le serveur local. De manière similaire, les directives
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluem<directive module="mod_proxy">ProxyPassReverseCookieDomain</directive>
06ba4a61654b3763ad65f52283832ebf058fdf1csliveet <directive module="mod_proxy">ProxyPassReverseCookiePath</directive>
06ba4a61654b3763ad65f52283832ebf058fdf1csliveréécrivent les cookies élaborés par le serveur d'arrière-plan.</p>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive<p>Il est important de noter cependant, que les liens situés dans les documents
06ba4a61654b3763ad65f52283832ebf058fdf1cslivene seront pas réécrits. Ainsi, tout lien absolu sur
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluem<code>internal.example.com</code> fera décrocher le client
06ba4a61654b3763ad65f52283832ebf058fdf1cslivedu serveur mandataire et effectuer sa requête directement sur
06ba4a61654b3763ad65f52283832ebf058fdf1cslive<a href="http://apache.webthing.com/mod_proxy_html/">mod_proxy_html</a>
06ba4a61654b3763ad65f52283832ebf058fdf1cslivepermet de réécrire les liens dans les documents HTML et XHTML.</p>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive<section id="rewrite"><title>Moteur de réécriture</title>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <p>Le moteur de réécriture <module>mod_rewrite</module> peut s'avérer
06ba4a61654b3763ad65f52283832ebf058fdf1cslive utile lorsqu'une substitution plus puissante est nécessaire.
06ba4a61654b3763ad65f52283832ebf058fdf1cslive Les directives fournies par ce module utilisent des caractéristiques de la
97a9a944b5887e91042b019776c41d5dd74557aferikabele requête comme le type de navigateur ou l'adresse IP source afin de décider
c6a2d6fa44f8698851dec5051ee3782c2913605fnd depuis où servir le contenu. En outre, mod_rewrite peut utiliser des
06ba4a61654b3763ad65f52283832ebf058fdf1cslive fichiers ou programmes de bases de données externes pour déterminer comment
97a9a944b5887e91042b019776c41d5dd74557aferikabele traiter une requête. Le moteur de réécriture peut effectuer les trois types
5ae30adbe59946de742ab0cd6be3b7457471a698takashi de mise en correspondance discutés plus haut :
97a9a944b5887e91042b019776c41d5dd74557aferikabele redirections internes (aliases), redirections externes, et services mandataires.
97a9a944b5887e91042b019776c41d5dd74557aferikabele De nombreux exemples pratiques utilisant mod_rewrite sont discutés dans la
5ae30adbe59946de742ab0cd6be3b7457471a698takashi <a href="rewrite/">documentation détaillée de mod_rewrite</a>.</p>
97a9a944b5887e91042b019776c41d5dd74557aferikabele<section id="notfound"><title>Fichier non trouvé (File Not Found)</title>
97a9a944b5887e91042b019776c41d5dd74557aferikabele <p>Inévitablement, apparaîtront des URLs qui ne correspondront à aucun
97a9a944b5887e91042b019776c41d5dd74557aferikabele fichier du système de fichiers.
97a9a944b5887e91042b019776c41d5dd74557aferikabele Ceci peut arriver pour de nombreuses raisons.
06ba4a61654b3763ad65f52283832ebf058fdf1cslive Il peut s'agir du déplacement de documents d'une
06ba4a61654b3763ad65f52283832ebf058fdf1cslive localisation vers une autre. Dans ce cas, le mieux est d'utiliser la
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <a href="#redirect">redirection d'URL</a> pour informer les clients de la
97a9a944b5887e91042b019776c41d5dd74557aferikabele nouvelle localisation de la ressource. De cette façon, vous êtes sur que
97a9a944b5887e91042b019776c41d5dd74557aferikabele les anciens signets et liens continueront de fonctionner, même si la
74a6de79356cd15d2e47065087785e36dd65aa41nd ressource est déplacée.</p>
97a9a944b5887e91042b019776c41d5dd74557aferikabele <p>Une autre cause fréquente d'erreurs "File Not Found" est l'erreur de
97a9a944b5887e91042b019776c41d5dd74557aferikabele frappe accidentelle dans les URLs, soit directement dans le navigateur,
97a9a944b5887e91042b019776c41d5dd74557aferikabele soit dans les liens HTML. Apache propose le module
97a9a944b5887e91042b019776c41d5dd74557aferikabele <module>mod_speling</module> (sic) pour tenter de résoudre ce problème.
97a9a944b5887e91042b019776c41d5dd74557aferikabele Lorsque ce module est activé, il intercepte les erreurs
97a9a944b5887e91042b019776c41d5dd74557aferikabele "File Not Found" et recherche une ressource possédant un nom de fichier
06ba4a61654b3763ad65f52283832ebf058fdf1cslive similaire. Si un tel fichier est trouvé, mod_speling va envoyer une
5ae30adbe59946de742ab0cd6be3b7457471a698takashi redirection HTTP au client pour lui communiquer l'URL correcte.
5ae30adbe59946de742ab0cd6be3b7457471a698takashi Si plusieurs fichiers proches sont trouvés, une liste des alternatives
06ba4a61654b3763ad65f52283832ebf058fdf1cslive possibles sera présentée au client.</p>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <p>mod_speling possède une fonctionnalité particulièrement utile :
53d2fd50ff45e7c568f0588c742a5ef9edf8e275rbowen il compare les noms de fichiers sans tenir compte de la casse.
5ae30adbe59946de742ab0cd6be3b7457471a698takashi Ceci peut aider les systèmes où les utilisateurs ne connaissent pas la
97a9a944b5887e91042b019776c41d5dd74557aferikabele sensibilité des URLs à la casse et bien sûr les systèmes de fichiers unix.
97a9a944b5887e91042b019776c41d5dd74557aferikabele Mais l'utilisation de mod_speling pour toute autre chose que la correction
5ae30adbe59946de742ab0cd6be3b7457471a698takashi occasionnelle d'URLs peut augmenter la charge du serveur, car chaque
5ae30adbe59946de742ab0cd6be3b7457471a698takashi requête "incorrecte" entraîne une redirection d'URL et une nouvelle requête
97a9a944b5887e91042b019776c41d5dd74557aferikabele de la part du client.</p>
97a9a944b5887e91042b019776c41d5dd74557aferikabele <p>Si toutes les tentatives pour localiser le contenu échouent, Apache
97a9a944b5887e91042b019776c41d5dd74557aferikabele retourne une page d'erreur avec le code de statut HTTP 404
97a9a944b5887e91042b019776c41d5dd74557aferikabele (file not found). L'apparence de cette page est contrôlée à l'aide de la
97a9a944b5887e91042b019776c41d5dd74557aferikabele directive <directive module="core">ErrorDocument</directive>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive et peut être personnalisée de manière très flexible comme discuté dans le
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <a href="custom-error.html">Réponses personnalisées aux erreurs</a>.</p>
97a9a944b5887e91042b019776c41d5dd74557aferikabele</manualpage>