<!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&egrave;me de fichiers - Serveur HTTP Apache Version 2.4</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.4</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> &gt; <a href="https://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="https://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&egrave;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">&nbsp;en&nbsp;</a> |
<a href="./fr/urlmapping.html" title="Fran&ccedil;ais">&nbsp;fr&nbsp;</a> |
<a href="./ja/urlmapping.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/urlmapping.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/urlmapping.html" hreflang="tr" rel="alternate" title="T&uuml;rk&ccedil;e">&nbsp;tr&nbsp;</a></p>
</div>
<div class="outofdate">Cette traduction peut &ecirc;tre p&eacute;rim&eacute;e. V&eacute;rifiez la version
            anglaise pour les changements r&eacute;cents.</div>

    <p>Ce document explique comment le serveur HTTP Apache utilise l'URL contenue dans une
    requ&ecirc;te pour d&eacute;terminer le noeud du syst&egrave;me de fichier &agrave; partir duquel le
    fichier devra &ecirc;tre servi.</p>
  </div>
<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif"> <a href="#related">Modules et directives concern&eacute;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&eacute;s en dehors de
l'arborescence DocumentRoot</a></li>
<li><img alt="" src="./images/down.gif"> <a href="#user">R&eacute;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&eacute;&eacute;criture</a></li>
<li><img alt="" src="./images/down.gif"> <a href="#notfound">Fichier non trouv&eacute; (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&eacute;s <a title="Lien permanent" href="#related" class="permalink">&para;</a></h2>

<table class="related"><tr><th>Modules Apparent&eacute;s</th><th>Directives Apparent&eacute;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">&para;</a></h2>

    <p>La m&eacute;thode par d&eacute;faut de httpd pour d&eacute;terminer quel fichier servir pour
    une requ&ecirc;te donn&eacute;e, consiste &agrave; extraire le chemin du fichier de la requ&ecirc;te
    (la partie de l'URL qui suit le nom d'h&ocirc;te et le port), puis de l'ajouter
    &agrave; la fin de la valeur de la directive
    <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> d&eacute;finie dans vos fichiers
    de configuration.
    Ainsi, les fichiers et r&eacute;pertoires
    situ&eacute;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&ecirc;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&ecirc;te concerne un r&eacute;pertoire (autrement dit un chemin se
    terminant par un slash <code>/</code>), le nom du fichier qui sera
    recherch&eacute; et servi depuis ce r&eacute;pertoire est d&eacute;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 &eacute;t&eacute; d&eacute;finie comme
    pr&eacute;c&eacute;demment, et que vous ayez d&eacute;fini <code>DirectoryIndex</code>
    comme suit :</p>

    <div class="example"><p><code>DirectoryIndex index.html index.php</code></p></div>

    <p>Si httpd re&ccedil;oit alors une requ&ecirc;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&eacute;n&eacute;rer et
    d'afficher un index du r&eacute;pertoire, &agrave; condition que
    <code class="module"><a href="./mod/mod_autoindex.html">mod_autoindex</a></code> ait &eacute;t&eacute; charg&eacute; et configur&eacute; pour le
    permettre.</p>

    <p>httpd supporte aussi les <a href="vhosts/">H&ocirc;tes virtuels</a>,
    ce qui lui permet de traiter des requ&ecirc;tes pour plusieurs h&ocirc;tes.
    Dans ce cas, un <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code>
    diff&eacute;rent peut &ecirc;tre d&eacute;fini pour chaque h&ocirc;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 &ecirc;tre utilis&eacute;es afin de
    d&eacute;terminer dynamiquement le noeud appropri&eacute; du syst&egrave;me de fichiers
    &agrave; partir duquel servir un contenu en fonction de l'adresse IP
    ou du nom d'h&ocirc;te.</p>

    <p>La directive <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code>  est
    d&eacute;finie dans le fichier de configuration de votre serveur principal
    (<code>httpd.conf</code>), mais peut aussi &ecirc;tre red&eacute;finie pour chaque
    <a href="vhosts/">H&ocirc;te virtuel</a> suppl&eacute;mentaire que vous avez cr&eacute;&eacute;.</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&eacute;s en dehors de
l'arborescence DocumentRoot <a title="Lien permanent" href="#outside" class="permalink">&para;</a></h2>

    <p>Il existe de nombreuses circonstances pour lesquelles il est n&eacute;cessaire
    d'autoriser l'acc&egrave;s web &agrave; des portions du syst&egrave;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&eacute;aliser cela. Sur les syst&egrave;mes Unix, les liens
    symboliques permettent de rattacher d'autres portions du syst&egrave;me de
    fichiers au <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code>. Pour des raisons de s&eacute;curit&eacute;,
    httpd ne suivra les liens symboliques que si les <code class="directive"><a href="./mod/core.html#options">Options</a></code> pour le r&eacute;pertoire concern&eacute; contiennent
    <code>FollowSymLinks</code> ou <code>SymLinksIfOwnerMatch</code>.</p>

    <p>Une autre m&eacute;thode consiste &agrave; utiliser la directive <code class="directive"><a href="./mod/mod_alias.html#alias">Alias</a></code> pour rattacher toute portion
    du syst&egrave;me de fichiers &agrave; 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&ecirc;me mani&egrave;re, except&eacute; que tout contenu localis&eacute; dans le
    chemin cible sera trait&eacute; comme un script <a class="glossarylink" href="./glossary.html#cgi" title="voir glossaire">CGI</a>.</p>

    <p>Pour les situations qui n&eacute;cessitent plus de flexibilit&eacute;, 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&eacute;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&ecirc;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&eacute;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&eacute;pertoires des utilisateurs <a title="Lien permanent" href="#user" class="permalink">&para;</a></h2>

    <p>Sur les syst&egrave;mes Unix, on peut traditionnellement faire r&eacute;f&eacute;rence
    au r&eacute;pertoire personnel d'un <em>utilisateur</em> particulier &agrave; l'aide de
    l'expression <code>~user/</code>.
    Le module <code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code>
    &eacute;tend cette id&eacute;e au web en autorisant l'acc&egrave;s aux fichiers situ&eacute;s dans les
    r&eacute;pertoires home des utilisateurs &agrave; 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&eacute;curit&eacute;, il est d&eacute;conseill&eacute; de permettre un acc&egrave;s
    direct &agrave; un r&eacute;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&eacute;cifie un r&eacute;pertoire o&ugrave; sont situ&eacute;s les fichiers accessibles depuis le web
    dans le r&eacute;pertoire home de l'utilisateur.
    Avec la configuration par d&eacute;faut
    <code>Userdir public_html</code>, l'URL ci-dessus correspondra &agrave; un fichier
    dont le chemin sera du style
    <code>/home/user/public_html/file.html</code> o&ugrave;
    <code>/home/user/</code> est le r&eacute;pertoire home de l'utilisateur tel qu'il
    est d&eacute;fini dans <code>/etc/passwd</code>.</p>

    <p>La directive <code>Userdir</code> met &agrave; votre disposition de nombreuses
    formes diff&eacute;rentes pour les syst&egrave;mes o&ugrave; <code>/etc/passwd</code> ne
    sp&eacute;cifie pas la localisation du r&eacute;pertoire home.</p>

    <p>Certains jugent le symbole "~" (dont le code sur le web est souvent
    <code>%7e</code>) inappropri&eacute; et pr&eacute;f&egrave;rent utiliser une cha&icirc;ne de
    caract&egrave;res diff&eacute;rente pour repr&eacute;senter les r&eacute;pertoires utilisateurs.
    mod_userdir ne supporte pas cette fonctionnalit&eacute;. Cependant, si les
    r&eacute;pertoires home des utilisateurs sont structur&eacute;s de mani&egrave;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&eacute;sir&eacute;. Par exemple, pour faire correspondre
    <code>http://www.example.com/upages/user/file.html</code> &agrave;
    <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">&para;</a></h2>

    <p>Les directives de configuration d&eacute;crites dans les sections pr&eacute;c&eacute;dentes
    demandent &agrave; httpd d'extraire un contenu depuis un emplacement sp&eacute;cifique
    du syst&egrave;me de fichiers
    et de la retourner au client. Il est cependant parfois
    souhaitable d'informer le
    client que le contenu demand&eacute; est localis&eacute; &agrave; une URL diff&eacute;rente, et de
    demander au client d'&eacute;laborer une nouvelle requ&ecirc;te avec la nouvelle URL.
    Ce processus se nomme <em>redirection</em> et est impl&eacute;ment&eacute; par la
    directive <code class="directive"><a href="./mod/mod_alias.html#redirect">Redirect</a></code>.
    Par exemple, si le contenu du r&eacute;pertoire <code>/foo/</code> sous
    <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> est d&eacute;plac&eacute; vers le
    nouveau r&eacute;pertoire <code>/bar/</code>, vous pouvez demander aux clients
    de le requ&eacute;rir &agrave; 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&ccedil;ant par
    <code>/foo/</code> vers le m&ecirc;me chemin d'URL sur le serveur
    <code>www.example.com</code> en rempla&ccedil;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&egrave;mes
    de r&eacute;&eacute;criture d'une plus grande complexit&eacute;. Par exemple, afin de rediriger
    les requ&ecirc;tes pour la page d'accueil du site vers un site diff&eacute;rent, mais
    laisser toutes les autres requ&ecirc;tes inchang&eacute;es, utilisez la
    configuration suivante :</p>

<pre class="prettyprint lang-config">RedirectMatch permanent "^/$"    "http://www.example.com/startpage.html"</pre>


    <p>De m&ecirc;me, pour rediriger temporairement toutes les pages d'un site
    vers une page particuli&egrave;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">&para;</a></h2>

<p>httpd vous permet aussi de rapatrier des documents distants
dans l'espace des URL du serveur local.
Cette technique est appel&eacute;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&egrave;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&eacute;s
dans le r&eacute;pertoire
<code>/foo/</code>, le serveur rapatrie ces documents depuis le r&eacute;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&eacute;s, alors que la directive
<code class="directive"><a href="./mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code>
r&eacute;&eacute;crit les redirections provenant de
<code>internal.example.com</code> de telle mani&egrave;re qu'elles ciblent le
r&eacute;pertoire appropri&eacute; sur le serveur local. De mani&egrave;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&eacute;&eacute;crivent les cookies &eacute;labor&eacute;s par le serveur d'arri&egrave;re-plan.</p>
<p>Il est important de noter cependant, que les liens situ&eacute;s dans les documents
ne seront pas r&eacute;&eacute;crits.  Ainsi, tout lien absolu sur
<code>internal.example.com</code> fera d&eacute;crocher le client
du serveur mandataire et effectuer sa requ&ecirc;te directement sur
<code>internal.example.com</code>. Vous pouvez modifier ces liens (et
d'utres contenus) situ&eacute;s dans la page au moment o&ugrave; elle est envoy&eacute;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&eacute;&eacute;criture plus
&eacute;labor&eacute;e des liens en HTML et XHTML. Il permet de cr&eacute;er des listes
d'URLs et de leurs r&eacute;&eacute;critures, de fa&ccedil;on &agrave; pouvoir g&eacute;rer des sc&eacute;narios
de r&eacute;&eacute;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&eacute;&eacute;criture <a title="Lien permanent" href="#rewrite" class="permalink">&para;</a></h2>

    <p>Le moteur de r&eacute;&eacute;criture <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> peut s'av&eacute;rer
    utile lorsqu'une substitution plus puissante est n&eacute;cessaire.
    Les directives fournies par ce module peuvent utiliser des caract&eacute;ristiques de la
    requ&ecirc;te comme le type de navigateur ou l'adresse IP source afin de d&eacute;cider
    depuis o&ugrave; servir le contenu. En outre, mod_rewrite peut utiliser des
    fichiers ou programmes de bases de donn&eacute;es externes pour d&eacute;terminer comment
    traiter une requ&ecirc;te. Le moteur de r&eacute;&eacute;criture peut effectuer les trois types
    de mise en correspondance discut&eacute;s plus haut :
    redirections internes (aliases), redirections externes, et services mandataires.
    De nombreux exemples pratiques utilisant mod_rewrite sont discut&eacute;s dans la
    <a href="rewrite/">documentation d&eacute;taill&eacute;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&eacute; (File Not Found) <a title="Lien permanent" href="#notfound" class="permalink">&para;</a></h2>

    <p>In&eacute;vitablement, appara&icirc;tront des URLs qui ne correspondront &agrave; aucun
    fichier du syst&egrave;me de fichiers.
    Ceci peut arriver pour de nombreuses raisons.
    Il peut s'agir du d&eacute;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&ccedil;on, vous &ecirc;tes sur que
    les anciens signets et liens continueront de fonctionner, m&ecirc;me si la
    ressource est d&eacute;plac&eacute;e.</p>

    <p>Une autre cause fr&eacute;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&eacute;soudre ce probl&egrave;me.
    Lorsque ce module est activ&eacute;, il intercepte les erreurs
    "File Not Found" et recherche une ressource poss&eacute;dant un nom de fichier
    similaire. Si un tel fichier est trouv&eacute;, mod_speling va envoyer une
    redirection HTTP au client pour lui communiquer l'URL correcte.
    Si plusieurs fichiers proches sont trouv&eacute;s, une liste des alternatives
    possibles sera pr&eacute;sent&eacute;e au client.</p>

    <p>mod_speling poss&egrave;de une fonctionnalit&eacute; particuli&egrave;rement utile :
    il compare les noms de fichiers sans tenir compte de la casse.
    Ceci peut aider les syst&egrave;mes o&ugrave; les utilisateurs ne connaissent pas la
    sensibilit&eacute; des URLs &agrave; la casse et bien s&ucirc;r les syst&egrave;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&ecirc;te "incorrecte" entra&icirc;ne une redirection d'URL et une nouvelle requ&ecirc;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 &agrave; une ressource r&eacute;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&eacute;mentation d'un
    "contr&ocirc;leur frontal".</p>

    <p>Si toutes les tentatives pour localiser le contenu
    &eacute;chouent, httpd
    retourne une page d'erreur avec le code de statut HTTP 404
    (file not found). L'apparence de cette page est contr&ocirc;l&eacute;e &agrave; l'aide de la
    directive <code class="directive"><a href="./mod/core.html#errordocument">ErrorDocument</a></code>
    et peut &ecirc;tre personnalis&eacute;e de mani&egrave;re tr&egrave;s flexible comme discut&eacute; dans le
    document
    <a href="custom-error.html">R&eacute;ponses personnalis&eacute;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">&para;</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&eacute;thode de la requ&ecirc;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&ecirc;te avec une URL en fonction de la zone d'une image int&eacute;gr&eacute;e &agrave;
    un document HTML dans laquelle un utilisateur clique.</li>
    <li><code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code> - S&eacute;lectionne le document
    appropri&eacute; en fonction de pr&eacute;f&eacute;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">&nbsp;en&nbsp;</a> |
<a href="./fr/urlmapping.html" title="Fran&ccedil;ais">&nbsp;fr&nbsp;</a> |
<a href="./ja/urlmapping.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/urlmapping.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/urlmapping.html" hreflang="tr" rel="alternate" title="T&uuml;rk&ccedil;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
<p class="apache">Copyright 2026 The Apache Software Foundation.<br>Autoris&eacute; 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 = '&#9776;';
    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>