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
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" />
12 <link href="./images/favicon.ico" rel="shortcut icon" /></head>
13 <body id="manual-page"><div id="page-header">
14 <p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p>
15 <p class="apache">Serveur Apache HTTP Version 2.3</p>
16 <img alt="" src="./images/feather.gif" /></div>
17 <div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div>
19 <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.3</a></div><div id="page-content"><div id="preamble"><h1> Mise en correspondance des URLs avec le système de fichiers</h1>
21 <p><span>Langues Disponibles: </span><a href="./en/urlmapping.html" hreflang="en" rel="alternate" title="English"> en </a> |
22 <a href="./fr/urlmapping.html" title="Français"> fr </a> |
23 <a href="./ja/urlmapping.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
24 <a href="./ko/urlmapping.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
25 <a href="./tr/urlmapping.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
28 <p>Ce document explique comment le serveur HTTP Apache utilise l'URL contenue dans une
29 requête pour déterminer le noeud du système de fichier à partir duquel le
30 fichier devra être servi.</p>
32 <div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#related">Modules et directives concernés</a></li>
33 <li><img alt="" src="./images/down.gif" /> <a href="#documentroot">Racine des documents (DocumentRoot)</a></li>
34 <li><img alt="" src="./images/down.gif" /> <a href="#outside">Fichiers situés en dehors de
35 l'arborescence DocumentRoot</a></li>
36 <li><img alt="" src="./images/down.gif" /> <a href="#user">Répertoires des utilisateurs</a></li>
37 <li><img alt="" src="./images/down.gif" /> <a href="#redirect">Redirection d'URL</a></li>
38 <li><img alt="" src="./images/down.gif" /> <a href="#proxy">Mandataire inverse (Reverse Proxy)</a></li>
39 <li><img alt="" src="./images/down.gif" /> <a href="#rewrite">Moteur de réécriture</a></li>
40 <li><img alt="" src="./images/down.gif" /> <a href="#notfound">Fichier non trouvé (File Not Found)</a></li>
41 <li><img alt="" src="./images/down.gif" /> <a href="#other">Autres modules de mise en correspondance des
44 <div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
46 <h2><a name="related" id="related">Modules et directives concernés</a></h2>
48 <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_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#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>
49 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
51 <h2><a name="documentroot" id="documentroot">Racine des documents (DocumentRoot)</a></h2>
53 <p>La méthode par défaut de httpd pour déterminer quel fichier servir pour
54 une requête donnée, consiste à extraire le chemin du fichier de la requête
55 (la partie de l'URL qui suit le nom d'hôte et le port), puis de l'ajouter
56 à la fin de la valeur de la directive
57 <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> définie dans vos fichiers
59 Ainsi, les fichiers et répertoires
60 situés en dessous de <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code>
61 constituent l'arborescence de base des documents qui seront visibles
64 <p>Par exemple, si la directive
65 <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> contient
66 <code>/var/www/html</code>, une requête pour
67 <code>http://www.example.com/fish/guppies.html</code> retournera le
68 fichier <code>/var/www/html/fish/guppies.html</code> au client.</p>
70 <p>httpd supporte aussi les <a href="vhosts/">Hôtes virtuels</a>,
71 ce qui lui permet de traiter des requêtes pour plusieurs hôtes.
72 Dans ce cas, un <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code>
73 différent peut être défini pour chaque hôte virtuel;
74 les directives fournies par le module
75 <code class="module"><a href="./mod/mod_vhost_alias.html">mod_vhost_alias</a></code> peuvent aussi être utilisées afin de
76 déterminer dynamiquement le noeud approprié du système de fichiers
77 à partir duquel servir un contenu en fonction de l'adresse IP
80 <p>La directive <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> est
81 définie dans le fichier de configuration de votre serveur principal
82 (<code>httpd.conf</code>), mais peut aussi être redéfinie pour chaque
83 <a href="vhosts/">Hôte virtuel</a> supplémentaire que vous avez créé.</p>
84 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
86 <h2><a name="outside" id="outside">Fichiers situés en dehors de
87 l'arborescence DocumentRoot</a></h2>
89 <p>Il existe de nombreuses circonstances pour lesquelles il est nécessaire
90 d'autoriser l'accès web à des portions du système de fichiers qui ne se
91 trouvent pas dans l'arborescence <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code>. httpd propose de nombreuses
92 solutions pour réaliser cela. Sur les systèmes Unix, les liens
93 symboliques permettent de rattacher d'autres portions du système de
94 fichiers au <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code>. Pour des raisons de sécurité,
95 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
96 <code>FollowSymLinks</code> ou <code>SymLinksIfOwnerMatch</code>.</p>
98 <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
99 du système de fichiers à l'arborescence du site web. Par exemple, avec</p>
101 <div class="example"><p><code>Alias /docs /var/web</code></p></div>
103 <p>l'URL <code>http://www.example.com/docs/dir/file.html</code>
104 correspondra au fichier <code>/var/web/dir/file.html</code>. La
106 <code class="directive"><a href="./mod/mod_alias.html#scriptalias">ScriptAlias</a></code>
107 fonctionne de la même manière, excepté que tout contenu localisé dans le
108 chemin cible sera traité comme un script <a class="glossarylink" href="./glossary.html#cgi" title="voir glossaire">CGI</a>.</p>
110 <p>Pour les situations qui nécessitent plus de flexibilité, vous disposez
111 des directives <code class="directive"><a href="./mod/mod_alias.html#aliasmatch">AliasMatch</a></code>
112 et <code class="directive"><a href="./mod/mod_alias.html#scriptaliasmatch">ScriptAliasMatch</a></code>
113 qui permettent des substitutions et comparaisons puissantes basées
114 sur les <a class="glossarylink" href="./glossary.html#regex" title="voir glossaire">expressions rationnelles</a>.
117 <div class="example"><p><code>ScriptAliasMatch ^/~([a-zA-Z0-9]+)/cgi-bin/(.+)
118 /home/$1/cgi-bin/$2</code></p></div>
120 <p>fera correspondre une requête du style
121 <code>http://example.com/~user/cgi-bin/script.cgi</code> au chemin
122 <code>/home/user/cgi-bin/script.cgi</code>, et traitera le fichier résultant
123 comme un script CGI.</p>
124 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
125 <div class="section">
126 <h2><a name="user" id="user">Répertoires des utilisateurs</a></h2>
128 <p>Sur les systèmes Unix, on peut traditionnellement faire référence
129 au répertoire personnel d'un <em>utilisateur</em> particulier à l'aide de
130 l'expression <code>~user/</code>.
131 Le module <code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code>
132 étend cette idée au web en autorisant l'accès aux fichiers situés dans les
133 répertoires home des utilisateurs à l'aide d'URLs
134 comme dans ce qui suit :</p>
136 <div class="example"><p><code>http://www.example.com/~user/file.html</code></p></div>
138 <p>Pour des raisons de sécurité, il est déconseillé de permettre un accès
139 direct à un répertoire home d'utilisateur depuis le web. A cet effet, la
140 directive <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code>
141 spécifie un répertoire où sont situés les fichiers accessibles depuis le web
142 dans le répertoire home de l'utilisateur.
143 Avec la configuration par défaut
144 <code>Userdir public_html</code>, l'URL ci-dessus correspondra à un fichier
145 dont le chemin sera du style
146 <code>/home/user/public_html/file.html</code> où
147 <code>/home/user/</code> est le répertoire home de l'utilisateur tel qu'il
148 est défini dans <code>/etc/passwd</code>.</p>
150 <p>La directive <code>Userdir</code> met à votre disposition de nombreuses
151 formes différentes pour les systèmes où <code>/etc/passwd</code> ne
152 spécifie pas la localisation du répertoire home.</p>
154 <p>Certains jugent le symbole "~" (dont le code sur le web est souvent
155 <code>%7e</code>) inapproprié et préfèrent utiliser une chaîne de
156 caractères différente pour représenter les répertoires utilisateurs.
157 mod_userdir ne supporte pas cette fonctionnalité. Cependant, si les
158 répertoires home des utilisateurs sont structurés de manière rationnelle,
159 il est possible d'utiliser la directive
160 <code class="directive"><a href="./mod/mod_alias.html#aliasmatch">AliasMatch</a></code>
161 pour obtenir l'effet désiré. Par exemple, pour faire correspondre
162 <code>http://www.example.com/upages/user/file.html</code> à
163 <code>/home/user/public_html/file.html</code>, utilisez la directive
164 <code>AliasMatch</code> suivante :</p>
166 <div class="example"><p><code>AliasMatch ^/upages/([a-zA-Z0-9]+)/?(.*)
167 /home/$1/public_html/$2</code></p></div>
168 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
169 <div class="section">
170 <h2><a name="redirect" id="redirect">Redirection d'URL</a></h2>
172 <p>Les directives de configuration décrites dans les sections précédentes
173 demandent à httpd d'extraire un contenu depuis un emplacement spécifique
174 du système de fichiers
175 et de la retourner au client. Il est cependant parfois
176 souhaitable d'informer le
177 client que le contenu demandé est localisé à une URL différente, et de
178 demander au client d'élaborer une nouvelle requête avec la nouvelle URL.
179 Ce processus se nomme <em>redirection</em> et est implémenté par la
180 directive <code class="directive"><a href="./mod/mod_alias.html#redirect">Redirect</a></code>.
181 Par exemple, si le contenu du répertoire <code>/foo/</code> sous
182 <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code> est déplacé vers le
183 nouveau répertoire <code>/bar/</code>, vous pouvez demander aux clients
184 de le requérir à sa nouvelle localisation comme suit :</p>
186 <div class="example"><p><code>Redirect permanent /foo/ http://www.example.com/bar/</code></p></div>
188 <p>Ceci aura pour effet de rediriger tout chemin d'URL commençant par
189 <code>/foo/</code> vers le même chemin d'URL sur le serveur
190 <code>www.example.com</code> en remplaçant <code>/foo/</code> par
191 <code>/bar/</code>. Vous pouvez rediriger les clients non seulement sur le
192 serveur d'origine, mais aussi vers n'importe quel autre serveur.</p>
194 <p>httpd propose aussi la directive <code class="directive"><a href="./mod/mod_alias.html#redirectmatch">RedirectMatch</a></code> pour traiter les problèmes
195 de réécriture d'une plus grande complexité. Par exemple, afin de rediriger
196 les requêtes pour la page d'accueil du site vers un site différent, mais
197 laisser toutes les autres requêtes inchangées, utilisez la
198 configuration suivante :</p>
200 <div class="example"><p><code>RedirectMatch permanent ^/$
201 http://www.example.com/startpage.html</code></p></div>
203 <p>De même, pour rediriger temporairement toutes les pages d'un site
204 vers une page particulière d'un autre site, utilisez ce qui suit :</p>
206 <div class="example"><p><code>RedirectMatch temp .*
207 http://othersite.example.com/startpage.html</code></p></div>
208 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
209 <div class="section">
210 <h2><a name="proxy" id="proxy">Mandataire inverse (Reverse Proxy)</a></h2>
212 <p>httpd vous permet aussi de rapatrier des documents distants
213 dans l'espace des URL du serveur local.
214 Cette technique est appelée <em>mandataire inverse ou reverse
215 proxying</em> car le serveur web agit comme un serveur mandataire en
216 rapatriant les documents depuis un serveur distant puis les renvoyant
217 au client. Ceci diffère d'un service de mandataire usuel (direct) car, pour le client,
218 les documents semblent appartenir au serveur mandataire inverse.</p>
220 <p>Dans l'exemple suivant, quand les clients demandent des documents situés
222 <code>/foo/</code>, le serveur rapatrie ces documents depuis le répertoire
223 <code>/bar/</code> sur <code>internal.example.com</code>
224 et les renvoie au client comme s'ils appartenaient au serveur local.</p>
226 <div class="example"><p><code>
227 ProxyPass /foo/ http://internal.example.com/bar/<br />
228 ProxyPassReverse /foo/ http://internal.example.com/bar/<br />
229 ProxyPassReverseCookieDomain internal.example.com public.example.com<br />
230 ProxyPassReverseCookiePath /foo/ /bar/
233 <p>La directive <code class="directive"><a href="./mod/mod_proxy.html#proxypass">ProxyPass</a></code> configure
234 le serveur pour rapatrier les documents appropriés, alors que la directive
235 <code class="directive"><a href="./mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</a></code>
236 réécrit les redirections provenant de
237 <code>internal.example.com</code> de telle manière qu'elles ciblent le
238 répertoire approprié sur le serveur local. De manière similaire, les directives
239 <code class="directive"><a href="./mod/mod_proxy.html#proxypassreversecookiedomain">ProxyPassReverseCookieDomain</a></code>
240 et <code class="directive"><a href="./mod/mod_proxy.html#proxypassreversecookiepath">ProxyPassReverseCookiePath</a></code>
241 réécrivent les cookies élaborés par le serveur d'arrière-plan.</p>
242 <p>Il est important de noter cependant, que les liens situés dans les documents
243 ne seront pas réécrits. Ainsi, tout lien absolu sur
244 <code>internal.example.com</code> fera décrocher le client
245 du serveur mandataire et effectuer sa requête directement sur
246 <code>internal.example.com</code>. Vous pouvez modifier ces liens (et
247 d'utres contenus) situés dans la page au moment où elle est envoyée au
248 client en utilisant le module <code class="module"><a href="./mod/mod_substitute.html">mod_substitute</a></code>.</p>
250 <div class="example"><p><code>
251 Substitute s/internal\.example\.com/www.example.com/i
254 <p>En outre, un module tiers
255 <a href="http://apache.webthing.com/mod_proxy_html/">mod_proxy_html</a>
256 permet de réécrire les liens dans les documents HTML et XHTML.</p>
257 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
258 <div class="section">
259 <h2><a name="rewrite" id="rewrite">Moteur de réécriture</a></h2>
261 <p>Le moteur de réécriture <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> peut s'avérer
262 utile lorsqu'une substitution plus puissante est nécessaire.
263 Les directives fournies par ce module peuvent utiliser des caractéristiques de la
264 requête comme le type de navigateur ou l'adresse IP source afin de décider
265 depuis où servir le contenu. En outre, mod_rewrite peut utiliser des
266 fichiers ou programmes de bases de données externes pour déterminer comment
267 traiter une requête. Le moteur de réécriture peut effectuer les trois types
268 de mise en correspondance discutés plus haut :
269 redirections internes (aliases), redirections externes, et services mandataires.
270 De nombreux exemples pratiques utilisant mod_rewrite sont discutés dans la
271 <a href="rewrite/">documentation détaillée de mod_rewrite</a>.</p>
272 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
273 <div class="section">
274 <h2><a name="notfound" id="notfound">Fichier non trouvé (File Not Found)</a></h2>
276 <p>Inévitablement, apparaîtront des URLs qui ne correspondront à aucun
277 fichier du système de fichiers.
278 Ceci peut arriver pour de nombreuses raisons.
279 Il peut s'agir du déplacement de documents d'une
280 localisation vers une autre. Dans ce cas, le mieux est d'utiliser la
281 <a href="#redirect">redirection d'URL</a> pour informer les clients de la
282 nouvelle localisation de la ressource. De cette façon, vous êtes sur que
283 les anciens signets et liens continueront de fonctionner, même si la
284 ressource est déplacée.</p>
286 <p>Une autre cause fréquente d'erreurs "File Not Found" est l'erreur de
287 frappe accidentelle dans les URLs, soit directement dans le navigateur,
288 soit dans les liens HTML. httpd propose le module
289 <code class="module"><a href="./mod/mod_speling.html">mod_speling</a></code> (sic) pour tenter de résoudre ce problème.
290 Lorsque ce module est activé, il intercepte les erreurs
291 "File Not Found" et recherche une ressource possédant un nom de fichier
292 similaire. Si un tel fichier est trouvé, mod_speling va envoyer une
293 redirection HTTP au client pour lui communiquer l'URL correcte.
294 Si plusieurs fichiers proches sont trouvés, une liste des alternatives
295 possibles sera présentée au client.</p>
297 <p>mod_speling possède une fonctionnalité particulièrement utile :
298 il compare les noms de fichiers sans tenir compte de la casse.
299 Ceci peut aider les systèmes où les utilisateurs ne connaissent pas la
300 sensibilité des URLs à la casse et bien sûr les systèmes de fichiers unix.
301 Mais l'utilisation de mod_speling pour toute autre chose que la correction
302 occasionnelle d'URLs peut augmenter la charge du serveur, car chaque
303 requête "incorrecte" entraîne une redirection d'URL et une nouvelle requête
304 de la part du client.</p>
306 <p>Si toutes les tentatives pour localiser le contenu
308 retourne une page d'erreur avec le code de statut HTTP 404
309 (file not found). L'apparence de cette page est contrôlée à l'aide de la
310 directive <code class="directive"><a href="./mod/core.html#errordocument">ErrorDocument</a></code>
311 et peut être personnalisée de manière très flexible comme discuté dans le
313 <a href="custom-error.html">Réponses personnalisées aux erreurs</a>.</p>
314 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
315 <div class="section">
316 <h2><a name="other" id="other">Autres modules de mise en correspondance des
321 <p>Les autres modules disponibles pour la mise en correspondance des
324 <li><code class="module"><a href="./mod/mod_actions.html">mod_actions</a></code> - Met une URL en correspondance
325 avec un script CGI en fonction de la méthode de la requête, ou du
326 type MIME de la ressource.</li>
327 <li><code class="module"><a href="./mod/mod_dir.html">mod_dir</a></code> - Permet une mise en correspondance
328 basique d'un slash terminal dans un fichier index comme
329 <code>index.html</code>.</li>
330 <li><code class="module"><a href="./mod/mod_imagemap.html">mod_imagemap</a></code> - Met en correspondance une
331 requête avec une URL en fonction de la zone d'une image intégrée à
332 un document HTML dans laquelle un utilisateur clique.</li>
333 <li><code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code> - Sélectionne le document
334 approprié en fonction de préférences du client telles que la langue
335 ou la compression du contenu.</li>
339 <div class="bottomlang">
340 <p><span>Langues Disponibles: </span><a href="./en/urlmapping.html" hreflang="en" rel="alternate" title="English"> en </a> |
341 <a href="./fr/urlmapping.html" title="Français"> fr </a> |
342 <a href="./ja/urlmapping.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
343 <a href="./ko/urlmapping.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
344 <a href="./tr/urlmapping.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
345 </div><div id="footer">
346 <p class="apache">Copyright 2010 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
347 <p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div>