1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head>
4<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
5<!--
6        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7              This file is generated from xml source: DO NOT EDIT
8        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
9      -->
10<title> Mise en correspondance des URLs avec le système de fichiers - Serveur HTTP Apache Version 2.4</title>
11<link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
12<link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
13<link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="./style/css/prettify.css" />
14<script src="./style/scripts/prettify.min.js" type="text/javascript">
15</script>
16
17<link href="./images/favicon.ico" rel="shortcut icon" /></head>
18<body id="manual-page"><div id="page-header">
19<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p>
20<p class="apache">Serveur HTTP Apache Version 2.4</p>
21<img alt="" src="./images/feather.png" /></div>
22<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="./images/left.gif" /></a></div>
23<div id="path">
24<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="./">Version 2.4</a></div><div id="page-content"><div id="preamble"><h1> Mise en correspondance des URLs avec le système de fichiers</h1>
25<div class="toplang">
26<p><span>Langues Disponibles: </span><a href="./en/urlmapping.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
27<a href="./fr/urlmapping.html" title="Français">&nbsp;fr&nbsp;</a> |
28<a href="./ja/urlmapping.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
29<a href="./ko/urlmapping.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
30<a href="./tr/urlmapping.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
31</div>
32
33    <p>Ce document explique comment le serveur HTTP Apache utilise l'URL contenue dans une
34    requête pour déterminer le noeud du système de fichier à partir duquel le
35    fichier devra être servi.</p>
36  </div>
37<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#related">Modules et directives concernés</a></li>
38<li><img alt="" src="./images/down.gif" /> <a href="#documentroot">Racine des documents (DocumentRoot)</a></li>
39<li><img alt="" src="./images/down.gif" /> <a href="#outside">Fichiers situés en dehors de
40l'arborescence DocumentRoot</a></li>
41<li><img alt="" src="./images/down.gif" /> <a href="#user">Répertoires des utilisateurs</a></li>
42<li><img alt="" src="./images/down.gif" /> <a href="#redirect">Redirection d'URL</a></li>
43<li><img alt="" src="./images/down.gif" /> <a href="#proxy">Mandataire inverse (Reverse Proxy)</a></li>
44<li><img alt="" src="./images/down.gif" /> <a href="#rewrite">Moteur de réécriture</a></li>
45<li><img alt="" src="./images/down.gif" /> <a href="#notfound">Fichier non trouvé (File Not Found)</a></li>
46<li><img alt="" src="./images/down.gif" /> <a href="#other">Autres modules de mise en correspondance des
47URLs</a></li>
48</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div>
49<div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
50<div class="section">
51<h2><a name="related" id="related">Modules et directives concernés</a></h2>
52
53<table class="related"><tr><th>Modules Apparentés</th><th>Directives Apparentées</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_actions.html">mod_actions</a></code></li><li><code class="module"><a href="./mod/mod_alias.html">mod_alias</a></code></li><li><code class="module"><a href="./mod/mod_autoindex.html">mod_autoindex</a></code></li><li><code class="module"><a href="./mod/mod_dir.html">mod_dir</a></code></li><li><code class="module"><a href="./mod/mod_imagemap.html">mod_imagemap</a></code></li><li><code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code></li><li><code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code></li><li><code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code></li><li><code class="module"><a href="./mod/mod_speling.html">mod_speling</a></code></li><li><code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code></li><li><code class="module"><a href="./mod/mod_vhost_alias.html">mod_vhost_alias</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_alias.html#alias">Alias</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#aliasmatch">AliasMatch</a></code></li><li><code class="directive"><a href="./mod/mod_speling.html#checkspelling">CheckSpelling</a></code></li><li><code class="directive"><a href="./mod/mod_dir.html#directoryindex">DirectoryIndex</a></code></li><li><code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code></li><li><code class="directive"><a href="./mod/core.html#errordocument">ErrorDocument</a></code></li><li><code class="directive"><a href="./mod/core.html#options">Options</a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxypass">ProxyPass</a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxypassreversecookiedomain">ProxyPassReverseCookieDomain</a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxypassreversecookiepath">ProxyPassReverseCookiePath</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#redirect">Redirect</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#redirectmatch">RedirectMatch</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewritecond">RewriteCond</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewriterule">RewriteRule</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#scriptalias">ScriptAlias</a></code></li><li><code class="directive"><a href="./mod/mod_alias.html#scriptaliasmatch">ScriptAliasMatch</a></code></li><li><code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code></li></ul></td></tr></table>
54</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
55<div class="section">
56<h2><a name="documentroot" id="documentroot">Racine des documents (DocumentRoot)</a></h2>
57
58    <p>La méthode par défaut de httpd pour déterminer quel fichier servir pour
59    une requête donnée, consiste à extraire le chemin du fichier de la requête
60    (la partie de l'URL qui suit le nom d'hôte et le port), puis de l'ajouter
61    à la fin de la valeur de la directive
62    <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> définie dans vos fichiers
63    de configuration.
64    Ainsi, les fichiers et répertoires
65    situés en dessous de <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code>
66    constituent l'arborescence de base des documents qui seront visibles
67    depuis le web.</p>
68
69    <p>Par exemple, si la directive
70    <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> contient
71    <code>/var/www/html</code>, une requête pour
72    <code>http://www.example.com/fish/guppies.html</code> retournera le
73    fichier <code>/var/www/html/fish/guppies.html</code> au client.</p>
74
75    <p>Si la requête concerne un répertoire (autrement dit un chemin se
76    terminant par un slash <code>/</code>), le nom du fichier qui sera
77    recherché et servi depuis ce répertoire est défini via la directive
78    <code class="directive"><a href="./mod/mod_dir.html#directoryindex">DirectoryIndex</a></code>. Par exemple,
79    supposons que <code>DocumentRoot</code> ait été définie comme
80    précédemment, et que vous ayez défini <code>DirectoryIndex</code>
81    comme suit :</p>
82
83    <div class="example"><p><code>DirectoryIndex index.html index.php</code></p></div>
84
85    <p>Si httpd reçoit alors une requête pour
86    <code>http://www.example.com/fish/</code>, il tentera de servir le
87    fichier <code>/var/www/html/fish/index.html</code>. Si ce fichier
88    n'existe pas, il tentera de servir le fichier
89    <code>/var/www/html/fish/index.php</code>.</p>
90
91    <p>Si aucun de ces fichiers existe, httpd tentera de générer et
92    d'afficher un index du répertoire, à condition que
93    <code class="module"><a href="./mod/mod_autoindex.html">mod_autoindex</a></code> ait été chargé et configuré pour le
94    permettre.</p>
95
96    <p>httpd supporte aussi les <a href="vhosts/">Hôtes virtuels</a>,
97    ce qui lui permet de traiter des requêtes pour plusieurs hôtes.
98    Dans ce cas, un <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code>
99    différent peut être défini pour chaque hôte virtuel;
100    les directives fournies par le module
101    <code class="module"><a href="./mod/mod_vhost_alias.html">mod_vhost_alias</a></code> peuvent aussi être utilisées afin de
102    déterminer dynamiquement le noeud approprié du système de fichiers
103    à partir duquel servir un contenu en fonction de l'adresse IP
104    ou du nom d'hôte.</p>
105
106    <p>La directive <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code>  est
107    définie dans le fichier de configuration de votre serveur principal
108    (<code>httpd.conf</code>), mais peut aussi être redéfinie pour chaque
109    <a href="vhosts/">Hôte virtuel</a> supplémentaire que vous avez créé.</p>
110</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
111<div class="section">
112<h2><a name="outside" id="outside">Fichiers situés en dehors de
113l'arborescence DocumentRoot</a></h2>
114
115    <p>Il existe de nombreuses circonstances pour lesquelles il est nécessaire
116    d'autoriser l'accès web à des portions du système de fichiers qui ne se
117    trouvent pas dans l'arborescence <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code>.  httpd propose de nombreuses
118    solutions pour réaliser cela. Sur les systèmes Unix, les liens
119    symboliques permettent de rattacher d'autres portions du système de
120    fichiers au <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code>. Pour des raisons de sécurité,
121    httpd ne suivra les liens symboliques que si les <code class="directive"><a href="./mod/core.html#options">Options</a></code> pour le répertoire concerné contiennent
122    <code>FollowSymLinks</code> ou <code>SymLinksIfOwnerMatch</code>.</p>
123
124    <p>Une autre méthode consiste à utiliser la directive <code class="directive"><a href="./mod/mod_alias.html#alias">Alias</a></code> pour rattacher toute portion
125    du système de fichiers à l'arborescence du site web. Par exemple, avec</p>
126
127<pre class="prettyprint lang-config">Alias "/docs" "/var/web"</pre>
128
129
130    <p>l'URL <code>http://www.example.com/docs/dir/file.html</code>
131    correspondra au fichier <code>/var/web/dir/file.html</code>. La
132    directive
133    <code class="directive"><a href="./mod/mod_alias.html#scriptalias">ScriptAlias</a></code>
134    fonctionne de la même manière, excepté que tout contenu localisé dans le
135    chemin cible sera traité comme un script <a class="glossarylink" href="./glossary.html#cgi" title="voir glossaire">CGI</a>.</p>
136
137    <p>Pour les situations qui nécessitent plus de flexibilité, vous disposez
138    des directives <code class="directive"><a href="./mod/mod_alias.html#aliasmatch">AliasMatch</a></code>
139    et <code class="directive"><a href="./mod/mod_alias.html#scriptaliasmatch">ScriptAliasMatch</a></code>
140    qui permettent des substitutions et comparaisons puissantes basées
141    sur les <a class="glossarylink" href="./glossary.html#regex" title="voir glossaire">expressions rationnelles</a>.
142    Par exemple,</p>
143
144<pre class="prettyprint lang-config">ScriptAliasMatch "^/~([a-zA-Z0-9]+)/cgi-bin/(.+)" "/home/$1/cgi-bin/$2"</pre>
145
146
147    <p>fera correspondre une requête du style
148    <code>http://example.com/~user/cgi-bin/script.cgi</code> au chemin
149    <code>/home/user/cgi-bin/script.cgi</code>, et traitera le fichier résultant
150    comme un script CGI.</p>
151</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
152<div class="section">
153<h2><a name="user" id="user">Répertoires des utilisateurs</a></h2>
154
155    <p>Sur les systèmes Unix, on peut traditionnellement faire référence
156    au répertoire personnel d'un <em>utilisateur</em> particulier à l'aide de
157    l'expression <code>~user/</code>.
158    Le module <code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code>
159    étend cette idée au web en autorisant l'accès aux fichiers situés dans les
160    répertoires home des utilisateurs à l'aide d'URLs
161    comme dans ce qui suit :</p>
162
163<div class="example"><p><code>http://www.example.com/~user/file.html</code></p></div>
164
165    <p>Pour des raisons de sécurité, il est déconseillé de permettre un accès
166    direct à un répertoire home d'utilisateur depuis le web. A cet effet, la
167    directive <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code>
168    spécifie un répertoire où sont situés les fichiers accessibles depuis le web
169    dans le répertoire home de l'utilisateur.
170    Avec la configuration par défaut
171    <code>Userdir public_html</code>, l'URL ci-dessus correspondra à un fichier
172    dont le chemin sera du style
173    <code>/home/user/public_html/file.html</code> où
174    <code>/home/user/</code> est le répertoire home de l'utilisateur tel qu'il
175    est défini dans <code>/etc/passwd</code>.</p>
176
177    <p>La directive <code>Userdir</code> met à votre disposition de nombreuses
178    formes différentes pour les systèmes où <code>/etc/passwd</code> ne
179    spécifie pas la localisation du répertoire home.</p>
180
181    <p>Certains jugent le symbole "~" (dont le code sur le web est souvent
182    <code>%7e</code>) inapproprié et préfèrent utiliser une chaîne de
183    caractères différente pour représenter les répertoires utilisateurs.
184    mod_userdir ne supporte pas cette fonctionnalité. Cependant, si les
185    répertoires home des utilisateurs sont structurés de manière rationnelle,
186    il est possible d'utiliser la directive
187    <code class="directive"><a href="./mod/mod_alias.html#aliasmatch">AliasMatch</a></code>
188    pour obtenir l'effet désiré. Par exemple, pour faire correspondre
189    <code>http://www.example.com/upages/user/file.html</code> à
190    <code>/home/user/public_html/file.html</code>, utilisez la directive
191    <code>AliasMatch</code> suivante :</p>
192
193<pre class="prettyprint lang-config">AliasMatch "^/upages/([a-zA-Z0-9]+)(/(.*))?$"   "/home/$1/public_html/$3"</pre>
194
195</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
196<div class="section">
197<h2><a name="redirect" id="redirect">Redirection d'URL</a></h2>
198
199    <p>Les directives de configuration décrites dans les sections précédentes
200    demandent à httpd d'extraire un contenu depuis un emplacement spécifique
201    du système de fichiers
202    et de la retourner au client. Il est cependant parfois
203    souhaitable d'informer le
204    client que le contenu demandé est localisé à une URL différente, et de
205    demander au client d'élaborer une nouvelle requête avec la nouvelle URL.
206    Ce processus se nomme <em>redirection</em> et est implémenté par la
207    directive <code class="directive"><a href="./mod/mod_alias.html#redirect">Redirect</a></code>.
208    Par exemple, si le contenu du répertoire <code>/foo/</code> sous
209    <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> est déplacé vers le
210    nouveau répertoire <code>/bar/</code>, vous pouvez demander aux clients
211    de le requérir à sa nouvelle localisation comme suit :</p>
212
213<pre class="prettyprint lang-config">Redirect permanent "/foo/"   "http://www.example.com/bar/"</pre>
214
215
216    <p>Ceci aura pour effet de rediriger tout chemin d'URL commençant par
217    <code>/foo/</code> vers le même chemin d'URL sur le serveur
218    <code>www.example.com</code> en remplaçant <code>/foo/</code> par
219    <code>/bar/</code>. Vous pouvez rediriger les clients non seulement sur le
220    serveur d'origine, mais aussi vers n'importe quel autre serveur.</p>
221
222    <p>httpd propose aussi la directive <code class="directive"><a href="./mod/mod_alias.html#redirectmatch">RedirectMatch</a></code> pour traiter les problèmes
223    de réécriture d'une plus grande complexité. Par exemple, afin de rediriger
224    les requêtes pour la page d'accueil du site vers un site différent, mais
225    laisser toutes les autres requêtes inchangées, utilisez la
226    configuration suivante :</p>
227
228<pre class="prettyprint lang-config">RedirectMatch permanent "^/$"    "http://www.example.com/startpage.html"</pre>
229
230
231    <p>De même, pour rediriger temporairement toutes les pages d'un site
232    vers une page particulière d'un autre site, utilisez ce qui suit :</p>
233
234<pre class="prettyprint lang-config">RedirectMatch temp ".*"  "http://othersite.example.com/startpage.html"</pre>
235
236</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
237<div class="section">
238<h2><a name="proxy" id="proxy">Mandataire inverse (Reverse Proxy)</a></h2>
239
240<p>httpd vous permet aussi de rapatrier des documents distants
241dans l'espace des URL du serveur local.
242Cette technique est appelée <em>mandataire inverse ou reverse
243proxying</em> car le serveur web agit comme un serveur mandataire en
244rapatriant les documents depuis un serveur distant puis les renvoyant
245au client. Ceci diffère d'un service de mandataire usuel (direct) car, pour le client,
246les documents semblent appartenir au serveur mandataire inverse.</p>
247
248<p>Dans l'exemple suivant, quand les clients demandent des documents situés
249dans le répertoire
250<code>/foo/</code>, le serveur rapatrie ces documents depuis le répertoire
251<code>/bar/</code> sur <code>internal.example.com</code>
252et les renvoie au client comme s'ils appartenaient au serveur local.</p>
253
254<pre class="prettyprint lang-config">ProxyPass "/foo/" "http://internal.example.com/bar/"
255ProxyPassReverse "/foo/" "http://internal.example.com/bar/"
256ProxyPassReverseCookieDomain internal.example.com public.example.com
257ProxyPassReverseCookiePath "/foo/" "/bar/"</pre>
258
259
260<p>La directive <code class="directive"><a href="./mod/mod_proxy.html#proxypass">ProxyPass</a></code> configure
261le serveur pour rapatrier les documents appropriés, alors que la directive
262<code class="directive"><a href="./mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code>
263réécrit les redirections provenant de
264<code>internal.example.com</code> de telle manière qu'elles ciblent le
265répertoire approprié sur le serveur local. De manière similaire, les directives
266<code class="directive"><a href="./mod/mod_proxy.html#proxypassreversecookiedomain">ProxyPassReverseCookieDomain</a></code>
267et <code class="directive"><a href="./mod/mod_proxy.html#proxypassreversecookiepath">ProxyPassReverseCookiePath</a></code>
268réécrivent les cookies élaborés par le serveur d'arrière-plan.</p>
269<p>Il est important de noter cependant, que les liens situés dans les documents
270ne seront pas réécrits.  Ainsi, tout lien absolu sur
271<code>internal.example.com</code> fera décrocher le client
272du serveur mandataire et effectuer sa requête directement sur
273<code>internal.example.com</code>. Vous pouvez modifier ces liens (et
274d'utres contenus) situés dans la page au moment où elle est envoyée au
275client en utilisant le module <code class="module"><a href="./mod/mod_substitute.html">mod_substitute</a></code>.</p>
276
277<pre class="prettyprint lang-config">Substitute "s/internal\.example\.com/www.example.com/i"</pre>
278
279
280<p>Le module <code class="module"><a href="./mod/mod_proxy_html.html">mod_proxy_html</a></code> rend possible une réécriture plus
281élaborée des liens en HTML et XHTML. Il permet de créer des listes
282d'URLs et de leurs réécritures, de façon à pouvoir gérer des scénarios
283de réécriture complexes.</p>
284</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
285<div class="section">
286<h2><a name="rewrite" id="rewrite">Moteur de réécriture</a></h2>
287
288    <p>Le moteur de réécriture <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> peut s'avérer
289    utile lorsqu'une substitution plus puissante est nécessaire.
290    Les directives fournies par ce module peuvent utiliser des caractéristiques de la
291    requête comme le type de navigateur ou l'adresse IP source afin de décider
292    depuis où servir le contenu. En outre, mod_rewrite peut utiliser des
293    fichiers ou programmes de bases de données externes pour déterminer comment
294    traiter une requête. Le moteur de réécriture peut effectuer les trois types
295    de mise en correspondance discutés plus haut :
296    redirections internes (aliases), redirections externes, et services mandataires.
297    De nombreux exemples pratiques utilisant mod_rewrite sont discutés dans la
298    <a href="rewrite/">documentation détaillée de mod_rewrite</a>.</p>
299</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
300<div class="section">
301<h2><a name="notfound" id="notfound">Fichier non trouvé (File Not Found)</a></h2>
302
303    <p>Inévitablement, apparaîtront des URLs qui ne correspondront à aucun
304    fichier du système de fichiers.
305    Ceci peut arriver pour de nombreuses raisons.
306    Il peut s'agir du déplacement de documents d'une
307    localisation vers une autre. Dans ce cas, le mieux est d'utiliser la
308    <a href="#redirect">redirection d'URL</a> pour informer les clients de la
309    nouvelle localisation de la ressource. De cette façon, vous êtes sur que
310    les anciens signets et liens continueront de fonctionner, même si la
311    ressource est déplacée.</p>
312
313    <p>Une autre cause fréquente d'erreurs "File Not Found" est l'erreur de
314    frappe accidentelle dans les URLs, soit directement dans le navigateur,
315    soit dans les liens HTML. httpd propose le module
316    <code class="module"><a href="./mod/mod_speling.html">mod_speling</a></code> (sic) pour tenter de résoudre ce problème.
317    Lorsque ce module est activé, il intercepte les erreurs
318    "File Not Found" et recherche une ressource possédant un nom de fichier
319    similaire. Si un tel fichier est trouvé, mod_speling va envoyer une
320    redirection HTTP au client pour lui communiquer l'URL correcte.
321    Si plusieurs fichiers proches sont trouvés, une liste des alternatives
322    possibles sera présentée au client.</p>
323
324    <p>mod_speling possède une fonctionnalité particulièrement utile :
325    il compare les noms de fichiers sans tenir compte de la casse.
326    Ceci peut aider les systèmes où les utilisateurs ne connaissent pas la
327    sensibilité des URLs à la casse et bien sûr les systèmes de fichiers unix.
328    Mais l'utilisation de mod_speling pour toute autre chose que la correction
329    occasionnelle d'URLs peut augmenter la charge du serveur, car chaque
330    requête "incorrecte" entraîne une redirection d'URL et une nouvelle requête
331    de la part du client.</p>
332
333    <p><code class="module"><a href="./mod/mod_dir.html">mod_dir</a></code> fournit la directive <code class="directive"><a href="./mod/mod_dir.html#fallbackresource">FallbackResource</a></code> qui permet d'associer
334    des URIs virtuels à une ressource réelle qui peut ainsi les servir.
335    Cette directive remplace avantageusement
336    <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> lors de l'implémentation d'un
337    "contrôleur frontal".</p>
338
339    <p>Si toutes les tentatives pour localiser le contenu
340    échouent, httpd
341    retourne une page d'erreur avec le code de statut HTTP 404
342    (file not found). L'apparence de cette page est contrôlée à l'aide de la
343    directive <code class="directive"><a href="./mod/core.html#errordocument">ErrorDocument</a></code>
344    et peut être personnalisée de manière très flexible comme discuté dans le
345    document
346    <a href="custom-error.html">Réponses personnalisées aux erreurs</a>.</p>
347</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
348<div class="section">
349<h2><a name="other" id="other">Autres modules de mise en correspondance des
350URLs</a></h2>
351
352
353
354    <p>Les autres modules disponibles pour la mise en correspondance des
355    URLs sont :</p>
356    <ul>
357    <li><code class="module"><a href="./mod/mod_actions.html">mod_actions</a></code> - Met une URL en correspondance
358    avec un script CGI en fonction de la méthode de la requête, ou du
359    type MIME de la ressource.</li>
360    <li><code class="module"><a href="./mod/mod_dir.html">mod_dir</a></code> - Permet une mise en correspondance
361    basique d'un slash terminal dans un fichier index comme
362    <code>index.html</code>.</li>
363    <li><code class="module"><a href="./mod/mod_imagemap.html">mod_imagemap</a></code> - Met en correspondance une
364    requête avec une URL en fonction de la zone d'une image intégrée à
365    un document HTML dans laquelle un utilisateur clique.</li>
366    <li><code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code> - Sélectionne le document
367    approprié en fonction de préférences du client telles que la langue
368    ou la compression du contenu.</li>
369    </ul>
370
371</div></div>
372<div class="bottomlang">
373<p><span>Langues Disponibles: </span><a href="./en/urlmapping.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
374<a href="./fr/urlmapping.html" title="Français">&nbsp;fr&nbsp;</a> |
375<a href="./ja/urlmapping.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
376<a href="./ko/urlmapping.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
377<a href="./tr/urlmapping.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
378</div><div class="top"><a href="#page-header"><img src="./images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
379<script type="text/javascript"><!--//--><![CDATA[//><!--
380var comments_shortname = 'httpd';
381var comments_identifier = 'http://httpd.apache.org/docs/2.4/urlmapping.html';
382(function(w, d) {
383    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
384        d.write('<div id="comments_thread"><\/div>');
385        var s = d.createElement('script');
386        s.type = 'text/javascript';
387        s.async = true;
388        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
389        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
390    }
391    else {
392        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
393    }
394})(window, document);
395//--><!]]></script></div><div id="footer">
396<p class="apache">Copyright 2022 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
397<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
398if (typeof(prettyPrint) !== 'undefined') {
399    prettyPrint();
400}
401//--><!]]></script>
402</body></html>