| <!DOCTYPE html SYSTEM "about:legacy-compat"> | |
| <html lang="fr"><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"> | |
| <meta content="width=device-width, initial-scale=1" name="viewport"> | |
| <!-- | |
| XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | |
| This file is generated from xml source: DO NOT EDIT | |
| XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | |
| --> | |
| <title> Mise en correspondance des URLs avec le système de fichiers - Serveur HTTP Apache Version 2.5</title> | |
| <link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet"> | |
| <link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size"> | |
| <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"> | |
| <script src="./style/scripts/prettify.min.js"> | |
| </script> | |
| <link href="./images/favicon.png" rel="shortcut icon"></head> | |
| <body id="manual-page"><div id="page-header"> | |
| <p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/quickreference.html">Directives</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a> | <a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2">Signaler un bug</a></p> | |
| <p class="apache">Serveur HTTP Apache Version 2.5</p> | |
| <img alt="" src="./images/feather.png"></div> | |
| <div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif"></a></div> | |
| <div id="path"> | |
| <a href="https://www.apache.org/">Apache</a> > <a href="https://httpd.apache.org/">Serveur HTTP</a> > <a href="https://httpd.apache.org/docs/">Documentation</a> > <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> | |
| <button aria-label="Toggle language list" class="lang-toggle"><svg xmlns="http://www.w3.org/2000/svg" stroke-width="2" stroke="currentColor" fill="none" viewBox="0 0 24 24" height="16" width="16"><circle r="10" cy="12" cx="12"/><line y2="12" x2="22" y1="12" x1="2"/><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"/></svg></button> | |
| <div class="toplang"> | |
| <p><span>Langues Disponibles: </span><a href="./en/urlmapping.html" hreflang="en" rel="alternate" title="English"> en </a> | | |
| <a href="./fr/urlmapping.html" title="Français"> fr </a> | | |
| <a href="./ja/urlmapping.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | | |
| <a href="./ko/urlmapping.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | | |
| <a href="./tr/urlmapping.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> | |
| </div> | |
| <p>Ce document explique comment le serveur HTTP Apache utilise l'URL contenue dans une | |
| requête pour déterminer le noeud du système de fichier à partir duquel le | |
| fichier devra être servi.</p> | |
| </div> | |
| <div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif"> <a href="#related">Modules et directives concernés</a></li> | |
| <li><img alt="" src="./images/down.gif"> <a href="#documentroot">Racine des documents (DocumentRoot)</a></li> | |
| <li><img alt="" src="./images/down.gif"> <a href="#outside">Fichiers situés en dehors de | |
| l'arborescence DocumentRoot</a></li> | |
| <li><img alt="" src="./images/down.gif"> <a href="#user">Répertoires des utilisateurs</a></li> | |
| <li><img alt="" src="./images/down.gif"> <a href="#redirect">Redirection d'URL</a></li> | |
| <li><img alt="" src="./images/down.gif"> <a href="#proxy">Mandataire inverse (Reverse Proxy)</a></li> | |
| <li><img alt="" src="./images/down.gif"> <a href="#rewrite">Moteur de réécriture</a></li> | |
| <li><img alt="" src="./images/down.gif"> <a href="#notfound">Fichier non trouvé (File Not Found)</a></li> | |
| <li><img alt="" src="./images/down.gif"> <a href="#other">Autres modules de mise en correspondance des | |
| URLs</a></li> | |
| </ul></div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif"></a></div> | |
| <div class="section"> | |
| <h2 id="related">Modules et directives concernés <a title="Lien permanent" href="#related" class="permalink">¶</a></h2> | |
| <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> | |
| </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif"></a></div> | |
| <div class="section"> | |
| <h2 id="documentroot">Racine des documents (DocumentRoot) <a title="Lien permanent" href="#documentroot" class="permalink">¶</a></h2> | |
| <p>La méthode par défaut de httpd pour déterminer quel fichier servir pour | |
| une requête donnée, consiste à extraire le <a href="directive-dict.html#Syntax">chemin de la requête</a>, puis à | |
| l'ajouter à la fin de la valeur de la directive <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> définie dans vos fichiers de | |
| configuration. Ainsi, les fichiers et répertoires situés en dessous de | |
| <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> constituent l'arborescence | |
| de base des documents qui seront visibles depuis le web.</p> | |
| <p>Par exemple, si la directive | |
| <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> contient | |
| <code>/var/www/html</code>, une requête pour | |
| <code>http://www.example.com/fish/guppies.html</code> retournera le | |
| fichier <code>/var/www/html/fish/guppies.html</code> au client.</p> | |
| <p>Si la requête concerne un répertoire (autrement dit un chemin se | |
| terminant par un slash <code>/</code>), le nom du fichier qui sera | |
| recherché et servi depuis ce répertoire est défini via la directive | |
| <code class="directive"><a href="./mod/mod_dir.html#directoryindex">DirectoryIndex</a></code>. Par exemple, | |
| supposons que <code>DocumentRoot</code> ait été définie comme | |
| précédemment, et que vous ayez défini <code>DirectoryIndex</code> | |
| comme suit :</p> | |
| <div class="example"><p><code>DirectoryIndex index.html index.php</code></p></div> | |
| <p>Si httpd reçoit alors une requête pour | |
| <code>http://www.example.com/fish/</code>, il tentera de servir le | |
| fichier <code>/var/www/html/fish/index.html</code>. Si ce fichier | |
| n'existe pas, il tentera de servir le fichier | |
| <code>/var/www/html/fish/index.php</code>.</p> | |
| <p>Si aucun de ces fichiers existe, httpd tentera de générer et | |
| d'afficher un index du répertoire, à condition que | |
| <code class="module"><a href="./mod/mod_autoindex.html">mod_autoindex</a></code> ait été chargé et configuré pour le | |
| permettre.</p> | |
| <p>httpd supporte aussi les <a href="vhosts/">Hôtes virtuels</a>, | |
| ce qui lui permet de traiter des requêtes pour plusieurs hôtes. | |
| Dans ce cas, un <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> | |
| différent peut être défini pour chaque hôte virtuel; | |
| les directives fournies par le module | |
| <code class="module"><a href="./mod/mod_vhost_alias.html">mod_vhost_alias</a></code> peuvent aussi être utilisées afin de | |
| déterminer dynamiquement le noeud approprié du système de fichiers | |
| à partir duquel servir un contenu en fonction de l'adresse IP | |
| ou du nom d'hôte.</p> | |
| <p>La directive <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> est | |
| définie dans le fichier de configuration de votre serveur principal | |
| (<code>httpd.conf</code>), mais peut aussi être redéfinie pour chaque | |
| <a href="vhosts/">Hôte virtuel</a> supplémentaire que vous avez créé.</p> | |
| </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif"></a></div> | |
| <div class="section"> | |
| <h2 id="outside">Fichiers situés en dehors de | |
| l'arborescence DocumentRoot <a title="Lien permanent" href="#outside" class="permalink">¶</a></h2> | |
| <p>Il existe de nombreuses circonstances pour lesquelles il est nécessaire | |
| d'autoriser l'accès web à des portions du système de fichiers qui ne se | |
| trouvent pas dans l'arborescence <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code>. httpd propose de nombreuses | |
| solutions pour réaliser cela. Sur les systèmes Unix, les liens | |
| symboliques permettent de rattacher d'autres portions du système de | |
| fichiers au <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code>. Pour des raisons de sécurité, | |
| 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 | |
| <code>FollowSymLinks</code> ou <code>SymLinksIfOwnerMatch</code>.</p> | |
| <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 | |
| du système de fichiers à l'arborescence du site web. Par exemple, avec</p> | |
| <pre class="prettyprint lang-config">Alias "/docs" "/var/web"</pre> | |
| <p>l'URL <code>http://www.example.com/docs/dir/file.html</code> | |
| correspondra au fichier <code>/var/web/dir/file.html</code>. La | |
| directive | |
| <code class="directive"><a href="./mod/mod_alias.html#scriptalias">ScriptAlias</a></code> | |
| fonctionne de la même manière, excepté que tout contenu localisé dans le | |
| chemin cible sera traité comme un script <a class="glossarylink" href="./glossary.html#cgi" title="voir glossaire">CGI</a>.</p> | |
| <p>Pour les situations qui nécessitent plus de flexibilité, vous disposez | |
| des directives <code class="directive"><a href="./mod/mod_alias.html#aliasmatch">AliasMatch</a></code> | |
| et <code class="directive"><a href="./mod/mod_alias.html#scriptaliasmatch">ScriptAliasMatch</a></code> | |
| qui permettent des substitutions et comparaisons puissantes basées | |
| sur les <a class="glossarylink" href="./glossary.html#regex" title="voir glossaire">expressions rationnelles</a>. | |
| Par exemple,</p> | |
| <pre class="prettyprint lang-config">ScriptAliasMatch "^/~([a-zA-Z0-9]+)/cgi-bin/(.+)" "/home/$1/cgi-bin/$2"</pre> | |
| <p>fera correspondre une requête du style | |
| <code>http://example.com/~user/cgi-bin/script.cgi</code> au chemin | |
| <code>/home/user/cgi-bin/script.cgi</code>, et traitera le fichier résultant | |
| comme un script CGI.</p> | |
| </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif"></a></div> | |
| <div class="section"> | |
| <h2 id="user">Répertoires des utilisateurs <a title="Lien permanent" href="#user" class="permalink">¶</a></h2> | |
| <p>Sur les systèmes Unix, on peut traditionnellement faire référence | |
| au répertoire personnel d'un <em>utilisateur</em> particulier à l'aide de | |
| l'expression <code>~user/</code>. | |
| Le module <code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code> | |
| étend cette idée au web en autorisant l'accès aux fichiers situés dans les | |
| répertoires home des utilisateurs à l'aide d'URLs | |
| comme dans ce qui suit :</p> | |
| <div class="example"><p><code>http://www.example.com/~user/file.html</code></p></div> | |
| <p>Pour des raisons de sécurité, il est déconseillé de permettre un accès | |
| direct à un répertoire home d'utilisateur depuis le web. A cet effet, la | |
| directive <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code> | |
| spécifie un répertoire où sont situés les fichiers accessibles depuis le web | |
| dans le répertoire home de l'utilisateur. | |
| Avec la configuration par défaut | |
| <code>Userdir public_html</code>, l'URL ci-dessus correspondra à un fichier | |
| dont le chemin sera du style | |
| <code>/home/user/public_html/file.html</code> où | |
| <code>/home/user/</code> est le répertoire home de l'utilisateur tel qu'il | |
| est défini dans <code>/etc/passwd</code>.</p> | |
| <p>La directive <code>Userdir</code> met à votre disposition de nombreuses | |
| formes différentes pour les systèmes où <code>/etc/passwd</code> ne | |
| spécifie pas la localisation du répertoire home.</p> | |
| <p>Certains jugent le symbole "~" (dont le code sur le web est souvent | |
| <code>%7e</code>) inapproprié et préfèrent utiliser une chaîne de | |
| caractères différente pour représenter les répertoires utilisateurs. | |
| mod_userdir ne supporte pas cette fonctionnalité. Cependant, si les | |
| répertoires home des utilisateurs sont structurés de manière rationnelle, | |
| il est possible d'utiliser la directive | |
| <code class="directive"><a href="./mod/mod_alias.html#aliasmatch">AliasMatch</a></code> | |
| pour obtenir l'effet désiré. Par exemple, pour faire correspondre | |
| <code>http://www.example.com/upages/user/file.html</code> à | |
| <code>/home/user/public_html/file.html</code>, utilisez la directive | |
| <code>AliasMatch</code> suivante :</p> | |
| <pre class="prettyprint lang-config">AliasMatch "^/upages/([a-zA-Z0-9]+)(/(.*))?$" "/home/$1/public_html/$3"</pre> | |
| </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif"></a></div> | |
| <div class="section"> | |
| <h2 id="redirect">Redirection d'URL <a title="Lien permanent" href="#redirect" class="permalink">¶</a></h2> | |
| <p>Les directives de configuration décrites dans les sections précédentes | |
| demandent à httpd d'extraire un contenu depuis un emplacement spécifique | |
| du système de fichiers | |
| et de la retourner au client. Il est cependant parfois | |
| souhaitable d'informer le | |
| client que le contenu demandé est localisé à une URL différente, et de | |
| demander au client d'élaborer une nouvelle requête avec la nouvelle URL. | |
| Ce processus se nomme <em>redirection</em> et est implémenté par la | |
| directive <code class="directive"><a href="./mod/mod_alias.html#redirect">Redirect</a></code>. | |
| Par exemple, si le contenu du répertoire <code>/foo/</code> sous | |
| <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> est déplacé vers le | |
| nouveau répertoire <code>/bar/</code>, vous pouvez demander aux clients | |
| de le requérir à sa nouvelle localisation comme suit :</p> | |
| <pre class="prettyprint lang-config">Redirect permanent "/foo/" "http://www.example.com/bar/"</pre> | |
| <p>Ceci aura pour effet de rediriger tout chemin d'URL commençant par | |
| <code>/foo/</code> vers le même chemin d'URL sur le serveur | |
| <code>www.example.com</code> en remplaçant <code>/foo/</code> par | |
| <code>/bar/</code>. Vous pouvez rediriger les clients non seulement sur le | |
| serveur d'origine, mais aussi vers n'importe quel autre serveur.</p> | |
| <p>httpd propose aussi la directive <code class="directive"><a href="./mod/mod_alias.html#redirectmatch">RedirectMatch</a></code> pour traiter les problèmes | |
| de réécriture d'une plus grande complexité. Par exemple, afin de rediriger | |
| les requêtes pour la page d'accueil du site vers un site différent, mais | |
| laisser toutes les autres requêtes inchangées, utilisez la | |
| configuration suivante :</p> | |
| <pre class="prettyprint lang-config">RedirectMatch permanent "^/$" "http://www.example.com/startpage.html"</pre> | |
| <p>De même, pour rediriger temporairement toutes les pages d'un site | |
| vers une page particulière d'un autre site, utilisez ce qui suit :</p> | |
| <pre class="prettyprint lang-config">RedirectMatch temp ".*" "http://othersite.example.com/startpage.html"</pre> | |
| </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif"></a></div> | |
| <div class="section"> | |
| <h2 id="proxy">Mandataire inverse (Reverse Proxy) <a title="Lien permanent" href="#proxy" class="permalink">¶</a></h2> | |
| <p>httpd vous permet aussi de rapatrier des documents distants | |
| dans l'espace des URL du serveur local. | |
| Cette technique est appelée <em>mandataire inverse ou reverse | |
| proxying</em> car le serveur web agit comme un serveur mandataire en | |
| rapatriant les documents depuis un serveur distant puis les renvoyant | |
| au client. Ceci diffère d'un service de mandataire usuel (direct) car, pour le client, | |
| les documents semblent appartenir au serveur mandataire inverse.</p> | |
| <p>Dans l'exemple suivant, quand les clients demandent des documents situés | |
| dans le répertoire | |
| <code>/foo/</code>, le serveur rapatrie ces documents depuis le répertoire | |
| <code>/bar/</code> sur <code>internal.example.com</code> | |
| et les renvoie au client comme s'ils appartenaient au serveur local.</p> | |
| <pre class="prettyprint lang-config">ProxyPass "/foo/" "http://internal.example.com/bar/" | |
| ProxyPassReverse "/foo/" "http://internal.example.com/bar/" | |
| ProxyPassReverseCookieDomain internal.example.com public.example.com | |
| ProxyPassReverseCookiePath "/foo/" "/bar/"</pre> | |
| <p>La directive <code class="directive"><a href="./mod/mod_proxy.html#proxypass">ProxyPass</a></code> configure | |
| le serveur pour rapatrier les documents appropriés, alors que la directive | |
| <code class="directive"><a href="./mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code> | |
| réécrit les redirections provenant de | |
| <code>internal.example.com</code> de telle manière qu'elles ciblent le | |
| répertoire approprié sur le serveur local. De manière similaire, les directives | |
| <code class="directive"><a href="./mod/mod_proxy.html#proxypassreversecookiedomain">ProxyPassReverseCookieDomain</a></code> | |
| et <code class="directive"><a href="./mod/mod_proxy.html#proxypassreversecookiepath">ProxyPassReverseCookiePath</a></code> | |
| réécrivent les cookies élaborés par le serveur d'arrière-plan.</p> | |
| <p>Il est important de noter cependant, que les liens situés dans les documents | |
| ne seront pas réécrits. Ainsi, tout lien absolu sur | |
| <code>internal.example.com</code> fera décrocher le client | |
| du serveur mandataire et effectuer sa requête directement sur | |
| <code>internal.example.com</code>. Vous pouvez modifier ces liens (et | |
| d'utres contenus) situés dans la page au moment où elle est envoyée au | |
| client en utilisant le module <code class="module"><a href="./mod/mod_substitute.html">mod_substitute</a></code>.</p> | |
| <pre class="prettyprint lang-config">Substitute s/internal\.example\.com/www.example.com/i</pre> | |
| <p>Le module <code class="module"><a href="./mod/mod_proxy_html.html">mod_proxy_html</a></code> rend possible une réécriture plus | |
| élaborée des liens en HTML et XHTML. Il permet de créer des listes | |
| d'URLs et de leurs réécritures, de façon à pouvoir gérer des scénarios | |
| de réécriture complexes.</p> | |
| </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif"></a></div> | |
| <div class="section"> | |
| <h2 id="rewrite">Moteur de réécriture <a title="Lien permanent" href="#rewrite" class="permalink">¶</a></h2> | |
| <p>Le moteur de réécriture <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> peut s'avérer | |
| utile lorsqu'une substitution plus puissante est nécessaire. | |
| Les directives fournies par ce module peuvent utiliser des caractéristiques de la | |
| requête comme le type de navigateur ou l'adresse IP source afin de décider | |
| depuis où servir le contenu. En outre, mod_rewrite peut utiliser des | |
| fichiers ou programmes de bases de données externes pour déterminer comment | |
| traiter une requête. Le moteur de réécriture peut effectuer les trois types | |
| de mise en correspondance discutés plus haut : | |
| redirections internes (aliases), redirections externes, et services mandataires. | |
| De nombreux exemples pratiques utilisant mod_rewrite sont discutés dans la | |
| <a href="rewrite/">documentation détaillée de mod_rewrite</a>.</p> | |
| </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif"></a></div> | |
| <div class="section"> | |
| <h2 id="notfound">Fichier non trouvé (File Not Found) <a title="Lien permanent" href="#notfound" class="permalink">¶</a></h2> | |
| <p>Inévitablement, apparaîtront des URLs qui ne correspondront à aucun | |
| fichier du système de fichiers. | |
| Ceci peut arriver pour de nombreuses raisons. | |
| Il peut s'agir du déplacement de documents d'une | |
| localisation vers une autre. Dans ce cas, le mieux est d'utiliser la | |
| <a href="#redirect">redirection d'URL</a> pour informer les clients de la | |
| nouvelle localisation de la ressource. De cette façon, vous êtes sur que | |
| les anciens signets et liens continueront de fonctionner, même si la | |
| ressource est déplacée.</p> | |
| <p>Une autre cause fréquente d'erreurs "File Not Found" est l'erreur de | |
| frappe accidentelle dans les URLs, soit directement dans le navigateur, | |
| soit dans les liens HTML. httpd propose le module | |
| <code class="module"><a href="./mod/mod_speling.html">mod_speling</a></code> (sic) pour tenter de résoudre ce problème. | |
| Lorsque ce module est activé, il intercepte les erreurs | |
| "File Not Found" et recherche une ressource possédant un nom de fichier | |
| similaire. Si un tel fichier est trouvé, mod_speling va envoyer une | |
| redirection HTTP au client pour lui communiquer l'URL correcte. | |
| Si plusieurs fichiers proches sont trouvés, une liste des alternatives | |
| possibles sera présentée au client.</p> | |
| <p>mod_speling possède une fonctionnalité particulièrement utile : | |
| il compare les noms de fichiers sans tenir compte de la casse. | |
| Ceci peut aider les systèmes où les utilisateurs ne connaissent pas la | |
| sensibilité des URLs à la casse et bien sûr les systèmes de fichiers unix. | |
| Mais l'utilisation de mod_speling pour toute autre chose que la correction | |
| occasionnelle d'URLs peut augmenter la charge du serveur, car chaque | |
| requête "incorrecte" entraîne une redirection d'URL et une nouvelle requête | |
| de la part du client.</p> | |
| <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 | |
| des URIs virtuels à une ressource réelle qui peut ainsi les servir. | |
| Cette directive remplace avantageusement | |
| <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> lors de l'implémentation d'un | |
| "contrôleur frontal".</p> | |
| <p>Si toutes les tentatives pour localiser le contenu | |
| échouent, httpd | |
| retourne une page d'erreur avec le code de statut HTTP 404 | |
| (file not found). L'apparence de cette page est contrôlée à l'aide de la | |
| directive <code class="directive"><a href="./mod/core.html#errordocument">ErrorDocument</a></code> | |
| et peut être personnalisée de manière très flexible comme discuté dans le | |
| document | |
| <a href="custom-error.html">Réponses personnalisées aux erreurs</a>.</p> | |
| </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif"></a></div> | |
| <div class="section"> | |
| <h2 id="other">Autres modules de mise en correspondance des | |
| URLs <a title="Lien permanent" href="#other" class="permalink">¶</a></h2> | |
| <p>Les autres modules disponibles pour la mise en correspondance des | |
| URLs sont :</p> | |
| <ul> | |
| <li><code class="module"><a href="./mod/mod_actions.html">mod_actions</a></code> - Met une URL en correspondance | |
| avec un script CGI en fonction de la méthode de la requête, ou du | |
| type MIME de la ressource.</li> | |
| <li><code class="module"><a href="./mod/mod_dir.html">mod_dir</a></code> - Permet une mise en correspondance | |
| basique d'un slash terminal dans un fichier index comme | |
| <code>index.html</code>.</li> | |
| <li><code class="module"><a href="./mod/mod_imagemap.html">mod_imagemap</a></code> - Met en correspondance une | |
| requête avec une URL en fonction de la zone d'une image intégrée à | |
| un document HTML dans laquelle un utilisateur clique.</li> | |
| <li><code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code> - Sélectionne le document | |
| approprié en fonction de préférences du client telles que la langue | |
| ou la compression du contenu.</li> | |
| </ul> | |
| </div></div> | |
| <div class="bottomlang"> | |
| <p><span>Langues Disponibles: </span><a href="./en/urlmapping.html" hreflang="en" rel="alternate" title="English"> en </a> | | |
| <a href="./fr/urlmapping.html" title="Français"> fr </a> | | |
| <a href="./ja/urlmapping.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | | |
| <a href="./ko/urlmapping.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | | |
| <a href="./tr/urlmapping.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> | |
| </div><div id="footer"> | |
| <p class="apache">Copyright 2026 The Apache Software Foundation.<br>Autorisé sous <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> | |
| <p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/quickreference.html">Directives</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a> | <a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2">Signaler un bug</a></p></div><script><!--//--><![CDATA[//><!-- | |
| if (typeof(prettyPrint) !== 'undefined') { | |
| prettyPrint(); | |
| } | |
| var langToggle = document.querySelector('.lang-toggle'); | |
| var topLang = document.querySelector('.toplang'); | |
| if (langToggle && topLang) { | |
| langToggle.addEventListener('click', function() { topLang.classList.toggle('open'); }); | |
| } | |
| var qv = document.getElementById('quickview'); | |
| if (qv) { | |
| document.body.appendChild(qv); | |
| var qvBtn = document.createElement('button'); | |
| qvBtn.className = 'qv-toggle'; | |
| qvBtn.setAttribute('aria-label', 'Toggle page navigation'); | |
| qvBtn.innerHTML = '☰'; | |
| document.body.appendChild(qvBtn); | |
| qvBtn.addEventListener('click', function() { | |
| var isOpen = qv.classList.toggle('open'); | |
| if (isOpen) { | |
| qv.style.top = window.scrollY + 10 + 'px'; | |
| } | |
| }); | |
| window.addEventListener('scroll', function() { qv.classList.remove('open'); }); | |
| } | |
| //--><!]]></script> | |
| </body></html> |