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="<-" alt="<-" src="./images/left.gif" /></a></div> 23<div id="path"> 24<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <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"> en </a> | 27<a href="./fr/urlmapping.html" title="Français"> fr </a> | 28<a href="./ja/urlmapping.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | 29<a href="./ko/urlmapping.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | 30<a href="./tr/urlmapping.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </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"> en </a> | 374<a href="./fr/urlmapping.html" title="Français"> fr </a> | 375<a href="./ja/urlmapping.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | 376<a href="./ko/urlmapping.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | 377<a href="./tr/urlmapping.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </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&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>