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