1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
|
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
<!--
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 Apache HTTP 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" type="text/javascript">
</script>
<link href="./images/favicon.ico" 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="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p>
<p class="apache">Serveur Apache HTTP 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="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.5</a></div><div id="page-content"><div id="preamble"><h1> Mise en correspondance des URLs avec le syst�me de fichiers</h1>
<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><h3>Voir aussi</h3><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="related" id="related">Modules et directives concern�s</a><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><a name="documentroot" id="documentroot">Racine des documents (DocumentRoot)</a><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 chemin du fichier de la requ�te
(la partie de l'URL qui suit le nom d'h�te et le port), puis de 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><a name="outside" id="outside">Fichiers situ�s en dehors de
l'arborescence DocumentRoot</a><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><a name="user" id="user">R�pertoires des utilisateurs</a><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><a name="redirect" id="redirect">Redirection d'URL</a><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><a name="proxy" id="proxy">Mandataire inverse (Reverse Proxy)</a><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><a name="rewrite" id="rewrite">Moteur de r��criture</a><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><a name="notfound" id="notfound">Fichier non trouv� (File Not Found)</a><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><a name="other" id="other">Autres modules de mise en correspondance des
URLs</a><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 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 again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
var comments_identifier = 'http://httpd.apache.org/docs/trunk/urlmapping.html';
(function(w, d) {
if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
d.write('<div id="comments_thread"><\/div>');
var s = d.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
(d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
}
else {
d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
}
})(window, document);
//--><!]]></script></div><div id="footer">
<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autoris� sous <a href="http://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="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[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
}
//--><!]]></script>
</body></html>
|