urlmapping.xml.fr revision dfc515decf0e3a5a980ec4e06af4eb76d4a95440
97a9a944b5887e91042b019776c41d5dd74557aferikabele<?xml version="1.0" encoding="ISO-8859-1" ?>
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
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd<!--
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
52fff662005b1866a3ff09bb6c902800c5cc6dedjerenkrantz http://www.apache.org/licenses/LICENSE-2.0
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd
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.
3b3b7fc78d1f5bfc2769903375050048ff41ff26nd-->
ad74a0524a06bfe11b7de9e3b4ce7233ab3bd3f7nd
3b3b7fc78d1f5bfc2769903375050048ff41ff26nd<manualpage metafile="urlmapping.xml.meta">
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd <title> Mise en correspondance des URLs avec le syst&egrave;me de fichiers</title>
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd <summary>
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd <p>Ce document explique comment Apache utilise l'URL contenue dans une
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd requ&ecirc;te pour d&eacute;terminer le noeud du syst&egrave;me de fichier &agrave; partir duquel le
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd fichier devra &ecirc;tre servi.</p>
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd </summary>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive
06ba4a61654b3763ad65f52283832ebf058fdf1cslive<section id="related"><title>Modules et directives concern&eacute;s</title>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluem<related>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive<modulelist>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive<module>mod_alias</module>
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluem<module>mod_proxy</module>
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluem<module>mod_rewrite</module>
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluem<module>mod_userdir</module>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive<module>mod_speling</module>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive<module>mod_vhost_alias</module>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive</modulelist>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive<directivelist>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive<directive module="mod_alias">Alias</directive>
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluem<directive module="mod_alias">AliasMatch</directive>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive<directive module="mod_speling">CheckSpelling</directive>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive<directive module="core">DocumentRoot</directive>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive<directive module="core">ErrorDocument</directive>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive<directive module="core">Options</directive>
f0a393c5c2d7de58f447855369ad2fbfa254e544rbowen<directive module="mod_proxy">ProxyPass</directive>
f0a393c5c2d7de58f447855369ad2fbfa254e544rbowen<directive module="mod_proxy">ProxyPassReverse</directive>
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd<directive module="mod_proxy">ProxyPassReverseCookieDomain</directive>
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd<directive module="mod_proxy">ProxyPassReverseCookiePath</directive>
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd<directive module="mod_alias">Redirect</directive>
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd<directive module="mod_alias">RedirectMatch</directive>
117c1f888a14e73cdd821dc6c23eb0411144a41cnd<directive module="mod_rewrite">RewriteCond</directive>
117c1f888a14e73cdd821dc6c23eb0411144a41cnd<directive module="mod_rewrite">RewriteRule</directive>
117c1f888a14e73cdd821dc6c23eb0411144a41cnd<directive module="mod_alias">ScriptAlias</directive>
117c1f888a14e73cdd821dc6c23eb0411144a41cnd<directive module="mod_alias">ScriptAliasMatch</directive>
117c1f888a14e73cdd821dc6c23eb0411144a41cnd<directive module="mod_userdir">UserDir</directive>
117c1f888a14e73cdd821dc6c23eb0411144a41cnd</directivelist>
117c1f888a14e73cdd821dc6c23eb0411144a41cnd</related>
117c1f888a14e73cdd821dc6c23eb0411144a41cnd</section>
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd<section id="documentroot"><title>Racine des documents (DocumentRoot)</title>
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd
f0a393c5c2d7de58f447855369ad2fbfa254e544rbowen <p>La m&eacute;thode par d&eacute;faut d'Apache pour d&eacute;terminer quel fichier servir pour
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd une requ&ecirc;te donn&eacute;e, consiste &agrave; extraire le chemin du fichier de la requ&ecirc;te
4c36c711036219c80d5517d35be68a4769c15291slive (la partie de l'URL qui suit le nom d'h&ocirc;te et le port), puis de l'ajouter
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd &agrave; la fin de la valeur de la directive
ff21ab9f1cc3037fe58a2029432834581594b6c4pctony <directive module="core">DocumentRoot</directive> d&eacute;finie dans vos fichiers
ff21ab9f1cc3037fe58a2029432834581594b6c4pctony de configuration.
ff21ab9f1cc3037fe58a2029432834581594b6c4pctony Ainsi, les fichiers et r&eacute;pertoires
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd situ&eacute;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>
f0a393c5c2d7de58f447855369ad2fbfa254e544rbowen
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <p>Par exemple, si la directive
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <directive module="core">DocumentRoot</directive> contient
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <code>/var/www/html</code>, une requ&ecirc;te pour
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
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <p>Apache supporte aussi les <a href="vhosts/">H&ocirc;tes virtuels</a>,
06ba4a61654b3763ad65f52283832ebf058fdf1cslive ce qui lui permet de traiter des requ&ecirc;tes pour plusieurs h&ocirc;tes.
06ba4a61654b3763ad65f52283832ebf058fdf1cslive Dans ce cas, un <directive module="core">DocumentRoot</directive>
f0a393c5c2d7de58f447855369ad2fbfa254e544rbowen diff&eacute;rent peut &ecirc;tre d&eacute;fini pour chaque h&ocirc;te virtuel;
f0a393c5c2d7de58f447855369ad2fbfa254e544rbowen les directives fournies par le module
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd <module>mod_vhost_alias</module> peuvent aussi &ecirc;tre utilis&eacute;es afin de
06ba4a61654b3763ad65f52283832ebf058fdf1cslive d&eacute;terminer dynamiquement le noeud appropri&eacute; du syst&egrave;me de fichiers
06ba4a61654b3763ad65f52283832ebf058fdf1cslive &agrave; partir duquel servir un contenu en fonction de l'adresse IP
06ba4a61654b3763ad65f52283832ebf058fdf1cslive ou du nom d'h&ocirc;te.</p>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <p>La directive <directive module="core">DocumentRoot</directive> est
06ba4a61654b3763ad65f52283832ebf058fdf1cslive d&eacute;finie dans le fichier de configuration de votre serveur principal
06ba4a61654b3763ad65f52283832ebf058fdf1cslive (<code>httpd.conf</code>), mais peut aussi &ecirc;tre red&eacute;finie pour chaque
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <a href="vhosts/">H&ocirc;te virtuel</a> suppl&eacute;mentaire que vous avez cr&eacute;&eacute;.</p>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive</section>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluem<section id="outside"><title>Fichiers situ&eacute;s en dehors de
bf380c59be3f235bde21f1c00098e09e3cf7e7aerplueml'arborescence DocumentRoot</title>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <p>Il existe de nombreuses circonstances pour lesquelles il est n&eacute;cessaire
06ba4a61654b3763ad65f52283832ebf058fdf1cslive d'autoriser l'acc&egrave;s web &agrave; des portions du syst&egrave;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&eacute;aliser cela. Sur les syst&egrave;mes Unix, les liens
06ba4a61654b3763ad65f52283832ebf058fdf1cslive symboliques permettent de rattacher d'autres portions du syst&egrave;me de
06ba4a61654b3763ad65f52283832ebf058fdf1cslive fichiers au <directive
97a9a944b5887e91042b019776c41d5dd74557aferikabele module="core">DocumentRoot</directive>. Pour des raisons de s&eacute;curit&eacute;,
06ba4a61654b3763ad65f52283832ebf058fdf1cslive Apache ne suivra les liens symboliques que si les <directive
4c36c711036219c80d5517d35be68a4769c15291slive module="core">Options</directive> pour le r&eacute;pertoire concern&eacute; contiennent
4c36c711036219c80d5517d35be68a4769c15291slive <code>FollowSymLinks</code> ou <code>SymLinksIfOwnerMatch</code>.</p>
4c36c711036219c80d5517d35be68a4769c15291slive
4c36c711036219c80d5517d35be68a4769c15291slive <p>Une autre m&eacute;thode consiste &agrave; utiliser la directive <directive
4c36c711036219c80d5517d35be68a4769c15291slive module="mod_alias">Alias</directive> pour rattacher toute portion
4c36c711036219c80d5517d35be68a4769c15291slive du syst&egrave;me de fichiers &agrave; l'arborescence du site web. Par exemple, avec</p>
4c36c711036219c80d5517d35be68a4769c15291slive
4c36c711036219c80d5517d35be68a4769c15291slive<example>Alias /docs /var/web</example>
4c36c711036219c80d5517d35be68a4769c15291slive
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
f736cd11585a35572d5f42accf026eb667848434slive directive
4c36c711036219c80d5517d35be68a4769c15291slive <directive module="mod_alias">ScriptAlias</directive>
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd fonctionne de la m&ecirc;me mani&egrave;re, except&eacute; que tout contenu localis&eacute; dans le
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd chemin cible sera trait&eacute; comme un script <glossary ref="cgi"
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd >CGI</glossary>.</p>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive
f0a393c5c2d7de58f447855369ad2fbfa254e544rbowen <p>Pour les situations qui n&eacute;cessitent plus de flexibilit&eacute;, 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&eacute;es
f0a393c5c2d7de58f447855369ad2fbfa254e544rbowen sur les <glossary ref="regex">expressions rationnelles</glossary>.
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd Par exemple,</p>
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd<example>ScriptAliasMatch ^/~([a-zA-Z0-9]+)/cgi-bin/(.+)
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd /home/$1/cgi-bin/$2</example>
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd <p>fera correspondre une requ&ecirc;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&eacute;sultant
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd comme un script CGI.</p>
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd</section>
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd<section id="user"><title>R&eacute;pertoires des utilisateurs</title>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <p>Sur les syst&egrave;mes Unix, on peut traditionnellement faire r&eacute;f&eacute;rence
97a9a944b5887e91042b019776c41d5dd74557aferikabele au r&eacute;pertoire personnel d'un <em>utilisateur</em> particulier &agrave; l'aide de
06ba4a61654b3763ad65f52283832ebf058fdf1cslive l'expression <code>~user/</code>.
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluem Le module <module>mod_userdir</module>
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluem &eacute;tend cette id&eacute;e au web en autorisant l'acc&egrave;s aux fichiers situ&eacute;s dans les
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluem r&eacute;pertoires home des utilisateurs &agrave; l'aide d'URLs
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluem comme dans ce qui suit :</p>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive
06ba4a61654b3763ad65f52283832ebf058fdf1cslive<example>http://www.example.com/~user/file.html</example>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <p>Pour des raisons de s&eacute;curit&eacute;, il est d&eacute;conseill&eacute; de permettre un acc&egrave;s
06ba4a61654b3763ad65f52283832ebf058fdf1cslive direct &agrave; un r&eacute;pertoire home d'utilisateur depuis le web. A cet effet, la
06ba4a61654b3763ad65f52283832ebf058fdf1cslive directive <directive module="mod_userdir">UserDir</directive>
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluem sp&eacute;cifie un r&eacute;pertoire o&ugrave; sont situ&eacute;s les fichiers accessibles depuis le web
06ba4a61654b3763ad65f52283832ebf058fdf1cslive dans le r&eacute;pertoire home de l'utilisateur.
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluem Avec la configuration par d&eacute;faut
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <code>Userdir public_html</code>, l'URL ci-dessus correspondra &agrave; un fichier
06ba4a61654b3763ad65f52283832ebf058fdf1cslive dont le chemin sera du style
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <code>/home/user/public_html/file.html</code> o&ugrave;
97a9a944b5887e91042b019776c41d5dd74557aferikabele <code>/home/user/</code> est le r&eacute;pertoire home de l'utilisateur tel qu'il
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluem est d&eacute;fini dans <code>/etc/passwd</code>.</p>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluem <p>La directive <code>Userdir</code> met &agrave; votre disposition de nombreuses
97a9a944b5887e91042b019776c41d5dd74557aferikabele formes diff&eacute;rentes pour les syst&egrave;mes o&ugrave; <code>/etc/passwd</code> ne
06ba4a61654b3763ad65f52283832ebf058fdf1cslive sp&eacute;cifie pas la localisation du r&eacute;pertoire home.</p>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <p>Certains jugent le symbole "~" (dont le code sur le web est souvent
97a9a944b5887e91042b019776c41d5dd74557aferikabele <code>%7e</code>) inappropri&eacute; et pr&eacute;f&egrave;rent utiliser une cha&icirc;ne de
06ba4a61654b3763ad65f52283832ebf058fdf1cslive caract&egrave;res diff&eacute;rente pour repr&eacute;senter les r&eacute;pertoires utilisateurs.
06ba4a61654b3763ad65f52283832ebf058fdf1cslive mod_userdir ne supporte pas cette fonctionnalit&eacute;. Cependant, si les
06ba4a61654b3763ad65f52283832ebf058fdf1cslive r&eacute;pertoires home des utilisateurs sont structur&eacute;s de mani&egrave;re rationnelle,
06ba4a61654b3763ad65f52283832ebf058fdf1cslive il est possible d'utiliser la directive
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <directive module="mod_alias">AliasMatch</directive>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive pour obtenir l'effet d&eacute;sir&eacute;. Par exemple, pour faire correspondre
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <code>http://www.example.com/upages/user/file.html</code> &agrave;
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <code>/home/user/public_html/file.html</code>, utilisez la directive
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <code>AliasMatch</code> suivante :</p>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive
06ba4a61654b3763ad65f52283832ebf058fdf1cslive<example>AliasMatch ^/upages/([a-zA-Z0-9]+)/?(.*)
06ba4a61654b3763ad65f52283832ebf058fdf1cslive /home/$1/public_html/$2</example>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive</section>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive
97a9a944b5887e91042b019776c41d5dd74557aferikabele<section id="redirect"><title>Redirection d'URL</title>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <p>Les directives de configuration d&eacute;crites dans les sections pr&eacute;c&eacute;dentes
06ba4a61654b3763ad65f52283832ebf058fdf1cslive demandent &agrave; Apache d'extraire un contenu depuis un emplacement sp&eacute;cifique
06ba4a61654b3763ad65f52283832ebf058fdf1cslive du syst&egrave;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&eacute; est localis&eacute; &agrave; une URL diff&eacute;rente, et de
06ba4a61654b3763ad65f52283832ebf058fdf1cslive demander au client d'&eacute;laborer une nouvelle requ&ecirc;te avec la nouvelle URL.
06ba4a61654b3763ad65f52283832ebf058fdf1cslive Ce processus se nomme <em>redirection</em> et est impl&eacute;ment&eacute; par la
06ba4a61654b3763ad65f52283832ebf058fdf1cslive directive <directive module="mod_alias">Redirect</directive>.
06ba4a61654b3763ad65f52283832ebf058fdf1cslive Par exemple, si le contenu du r&eacute;pertoire <code>/foo/</code> sous
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <directive module="core">DocumentRoot</directive> est d&eacute;plac&eacute; vers le
06ba4a61654b3763ad65f52283832ebf058fdf1cslive nouveau r&eacute;pertoire <code>/bar/</code>, vous pouvez demander aux clients
06ba4a61654b3763ad65f52283832ebf058fdf1cslive de le requ&eacute;rir &agrave; sa nouvelle localisation comme suit :</p>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive
06ba4a61654b3763ad65f52283832ebf058fdf1cslive<example>Redirect permanent /foo/ http://www.example.com/bar/</example>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <p>Ceci aura pour effet de rediriger tout chemin d'URL commen&ccedil;ant par
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <code>/foo/</code> vers le m&ecirc;me chemin d'URL sur le serveur
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <code>www.example.com</code> en rempla&ccedil;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
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluem <p>Apache propose aussi la directive <directive
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluem module="mod_alias">RedirectMatch</directive> pour traiter les probl&egrave;mes
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluem de r&eacute;&eacute;criture d'une plus grande complexit&eacute;. Par exemple, afin de rediriger
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluem les requ&ecirc;tes pour la page d'accueil du site vers un site diff&eacute;rent, mais
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluem laisser toutes les autres requ&ecirc;tes inchang&eacute;es, utilisez la
5ae30adbe59946de742ab0cd6be3b7457471a698takashi configuration suivante :</p>
5ae30adbe59946de742ab0cd6be3b7457471a698takashi
97a9a944b5887e91042b019776c41d5dd74557aferikabele<example>RedirectMatch permanent ^/$
97a9a944b5887e91042b019776c41d5dd74557aferikabele http://www.example.com/startpage.html</example>
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd <p>De m&ecirc;me, pour rediriger temporairement toutes les pages d'un site
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd vers une page particuli&egrave;re d'un autre site, utilisez ce qui suit :</p>
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd<example>RedirectMatch temp .*
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd http://othersite.example.com/startpage.html</example>
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd</section>
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd<section id="proxy"><title>Mandataire inverse (Reverse Proxy)</title>
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd<p>Apache vous permet aussi de rapatrier des documents distants
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nddans l'espace des URL du serveur local.
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4ndCette technique est appel&eacute;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&egrave;re d'un service de proxy usuel car, pour le client,
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluemles documents semblent appartenir au serveur mandataire inverse.</p>
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluem
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluem<p>Dans l'exemple suivant, quand les clients demandent des documents situ&eacute;s
06ba4a61654b3763ad65f52283832ebf058fdf1cslivedans le r&eacute;pertoire
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluem<code>/foo/</code>, le serveur rapatrie ces documents depuis le r&eacute;pertoire
06ba4a61654b3763ad65f52283832ebf058fdf1cslive<code>/bar/</code> sur <code>internal.example.com</code>
06ba4a61654b3763ad65f52283832ebf058fdf1csliveet les renvoie au client comme s'ils appartenaient au serveur local.</p>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive
06ba4a61654b3763ad65f52283832ebf058fdf1cslive<example>
06ba4a61654b3763ad65f52283832ebf058fdf1csliveProxyPass /foo/ http://internal.example.com/bar/<br />
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluemProxyPassReverse /foo/ http://internal.example.com/bar/<br />
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluemProxyPassReverseCookieDomain internal.example.com public.example.com<br />
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluemProxyPassReverseCookiePath /foo/ /bar/
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluem</example>
5ae30adbe59946de742ab0cd6be3b7457471a698takashi
06ba4a61654b3763ad65f52283832ebf058fdf1cslive<p>La directive <directive module="mod_proxy">ProxyPass</directive> configure
06ba4a61654b3763ad65f52283832ebf058fdf1cslivele serveur pour rapatrier les documents appropri&eacute;s, alors que la directive
06ba4a61654b3763ad65f52283832ebf058fdf1cslive<directive module="mod_proxy">ProxyPassReverse</directive>
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluemr&eacute;&eacute;crit les redirections provenant de
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluem<code>internal.example.com</code> de telle mani&egrave;re qu'elles ciblent le
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluemr&eacute;pertoire appropri&eacute; sur le serveur local. De mani&egrave;re similaire, les directives
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluem<directive module="mod_proxy">ProxyPassReverseCookieDomain</directive>
06ba4a61654b3763ad65f52283832ebf058fdf1csliveet <directive module="mod_proxy">ProxyPassReverseCookiePath</directive>
06ba4a61654b3763ad65f52283832ebf058fdf1csliver&eacute;&eacute;crivent les cookies &eacute;labor&eacute;s par le serveur d'arri&egrave;re-plan.</p>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive<p>Il est important de noter cependant, que les liens situ&eacute;s dans les documents
06ba4a61654b3763ad65f52283832ebf058fdf1cslivene seront pas r&eacute;&eacute;crits. Ainsi, tout lien absolu sur
bf380c59be3f235bde21f1c00098e09e3cf7e7aerpluem<code>internal.example.com</code> fera d&eacute;crocher le client
06ba4a61654b3763ad65f52283832ebf058fdf1cslivedu serveur mandataire et effectuer sa requ&ecirc;te directement sur
06ba4a61654b3763ad65f52283832ebf058fdf1cslive<code>internal.example.com</code>. Un module tiers
06ba4a61654b3763ad65f52283832ebf058fdf1cslive<a href="http://apache.webthing.com/mod_proxy_html/">mod_proxy_html</a>
06ba4a61654b3763ad65f52283832ebf058fdf1cslivepermet de r&eacute;&eacute;crire les liens dans les documents HTML et XHTML.</p>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive</section>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive
06ba4a61654b3763ad65f52283832ebf058fdf1cslive<section id="rewrite"><title>Moteur de r&eacute;&eacute;criture</title>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <p>Le moteur de r&eacute;&eacute;criture <module>mod_rewrite</module> peut s'av&eacute;rer
06ba4a61654b3763ad65f52283832ebf058fdf1cslive utile lorsqu'une substitution plus puissante est n&eacute;cessaire.
06ba4a61654b3763ad65f52283832ebf058fdf1cslive Les directives fournies par ce module utilisent des caract&eacute;ristiques de la
97a9a944b5887e91042b019776c41d5dd74557aferikabele requ&ecirc;te comme le type de navigateur ou l'adresse IP source afin de d&eacute;cider
c6a2d6fa44f8698851dec5051ee3782c2913605fnd depuis o&ugrave; servir le contenu. En outre, mod_rewrite peut utiliser des
06ba4a61654b3763ad65f52283832ebf058fdf1cslive fichiers ou programmes de bases de donn&eacute;es externes pour d&eacute;terminer comment
97a9a944b5887e91042b019776c41d5dd74557aferikabele traiter une requ&ecirc;te. Le moteur de r&eacute;&eacute;criture peut effectuer les trois types
5ae30adbe59946de742ab0cd6be3b7457471a698takashi de mise en correspondance discut&eacute;s plus haut :
97a9a944b5887e91042b019776c41d5dd74557aferikabele redirections internes (aliases), redirections externes, et services mandataires.
97a9a944b5887e91042b019776c41d5dd74557aferikabele De nombreux exemples pratiques utilisant mod_rewrite sont discut&eacute;s dans la
5ae30adbe59946de742ab0cd6be3b7457471a698takashi <a href="rewrite/">documentation d&eacute;taill&eacute;e de mod_rewrite</a>.</p>
5ae30adbe59946de742ab0cd6be3b7457471a698takashi</section>
97a9a944b5887e91042b019776c41d5dd74557aferikabele
97a9a944b5887e91042b019776c41d5dd74557aferikabele<section id="notfound"><title>Fichier non trouv&eacute; (File Not Found)</title>
97a9a944b5887e91042b019776c41d5dd74557aferikabele
97a9a944b5887e91042b019776c41d5dd74557aferikabele <p>In&eacute;vitablement, appara&icirc;tront des URLs qui ne correspondront &agrave; aucun
97a9a944b5887e91042b019776c41d5dd74557aferikabele fichier du syst&egrave;me de fichiers.
97a9a944b5887e91042b019776c41d5dd74557aferikabele Ceci peut arriver pour de nombreuses raisons.
06ba4a61654b3763ad65f52283832ebf058fdf1cslive Il peut s'agir du d&eacute;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&ccedil;on, vous &ecirc;tes sur que
97a9a944b5887e91042b019776c41d5dd74557aferikabele les anciens signets et liens continueront de fonctionner, m&ecirc;me si la
74a6de79356cd15d2e47065087785e36dd65aa41nd ressource est d&eacute;plac&eacute;e.</p>
97a9a944b5887e91042b019776c41d5dd74557aferikabele
97a9a944b5887e91042b019776c41d5dd74557aferikabele <p>Une autre cause fr&eacute;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&eacute;soudre ce probl&egrave;me.
97a9a944b5887e91042b019776c41d5dd74557aferikabele Lorsque ce module est activ&eacute;, il intercepte les erreurs
97a9a944b5887e91042b019776c41d5dd74557aferikabele "File Not Found" et recherche une ressource poss&eacute;dant un nom de fichier
06ba4a61654b3763ad65f52283832ebf058fdf1cslive similaire. Si un tel fichier est trouv&eacute;, mod_speling va envoyer une
5ae30adbe59946de742ab0cd6be3b7457471a698takashi redirection HTTP au client pour lui communiquer l'URL correcte.
5ae30adbe59946de742ab0cd6be3b7457471a698takashi Si plusieurs fichiers proches sont trouv&eacute;s, une liste des alternatives
06ba4a61654b3763ad65f52283832ebf058fdf1cslive possibles sera pr&eacute;sent&eacute;e au client.</p>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <p>mod_speling poss&egrave;de une fonctionnalit&eacute; particuli&egrave;rement utile :
53d2fd50ff45e7c568f0588c742a5ef9edf8e275rbowen il compare les noms de fichiers sans tenir compte de la casse.
5ae30adbe59946de742ab0cd6be3b7457471a698takashi Ceci peut aider les syst&egrave;mes o&ugrave; les utilisateurs ne connaissent pas la
97a9a944b5887e91042b019776c41d5dd74557aferikabele sensibilit&eacute; des URLs &agrave; la casse et bien s&ucirc;r les syst&egrave;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&ecirc;te "incorrecte" entra&icirc;ne une redirection d'URL et une nouvelle requ&ecirc;te
97a9a944b5887e91042b019776c41d5dd74557aferikabele de la part du client.</p>
97a9a944b5887e91042b019776c41d5dd74557aferikabele
97a9a944b5887e91042b019776c41d5dd74557aferikabele <p>Si toutes les tentatives pour localiser le contenu &eacute;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&ocirc;l&eacute;e &agrave; l'aide de la
97a9a944b5887e91042b019776c41d5dd74557aferikabele directive <directive module="core">ErrorDocument</directive>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive et peut &ecirc;tre personnalis&eacute;e de mani&egrave;re tr&egrave;s flexible comme discut&eacute; dans le
06ba4a61654b3763ad65f52283832ebf058fdf1cslive document
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <a href="custom-error.html">R&eacute;ponses personnalis&eacute;es aux erreurs</a>.</p>
97a9a944b5887e91042b019776c41d5dd74557aferikabele</section>
97a9a944b5887e91042b019776c41d5dd74557aferikabele
97a9a944b5887e91042b019776c41d5dd74557aferikabele</manualpage>
97a9a944b5887e91042b019776c41d5dd74557aferikabele