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
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
|
<?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><!--
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
<title>mod_alias - Serveur Apache HTTP</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.js" type="text/javascript">
</script>
<link href="../images/favicon.ico" rel="shortcut icon" /></head>
<body>
<div id="page-header">
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
<p class="apache">Serveur Apache HTTP Version 2.5</p>
<img alt="" src="../images/feather.gif" /></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> > <a href="./">Modules</a></div>
<div id="page-content">
<div id="preamble"><h1>Module Apache mod_alias</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_alias.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../fr/mod/mod_alias.html" title="Fran�ais"> fr </a> |
<a href="../ja/mod/mod_alias.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_alias.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="../tr/mod/mod_alias.html" hreflang="tr" rel="alternate" title="T�rk�e"> tr </a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Permet d'atteindre diff�rentes parties du syst�me de
fichiers depuis l'arborescence des documents du site web, ainsi que la
redirection d'URL</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr>
<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur�de�Module:</a></th><td>alias_module</td></tr>
<tr><th><a href="module-dict.html#SourceFile">Fichier�Source:</a></th><td>mod_alias.c</td></tr></table>
<h3>Sommaire</h3>
<p>Les directives fournies par ce module permettent de manipuler et
de contr�ler les URLs � l'arriv�e des requ�tes sur le serveur. Les
directives <code class="directive"><a href="#alias">Alias</a></code> et
<code class="directive"><a href="#scriptalias">ScriptAlias</a></code> permettent de
faire correspondre des URLs avec des chemins du syst�me de fichiers.
Ceci permet de servir des contenus qui ne sont pas situ�s dans
l'arborescence de <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> comme s'ils y �taient
r�ellement. La directive <code class="directive"><a href="#scriptalias">ScriptAlias</a></code> a pour effet
suppl�mentaire de marquer le r�pertoire cible comme conteneur de
scripts CGI.</p>
<p>Les directives <code class="directive"><a href="#redirect">Redirect</a></code>
indiquent aux clients qu'ils doivent effectuer une nouvelle requ�te
avec une URL diff�rente. Elles sont souvent utilis�es lorsqu'une
ressource a �t� d�plac�e.</p>
<p><code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> est con�u pour traiter des t�ches
simples de manipulation d'URL. Pour des t�ches plus complexes comme
la manipulation des cha�nes d'arguments des requ�tes, utilisez
plut�t les outils fournis par le module <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code></p>
</div>
<div id="quickview"><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#alias">Alias</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#aliasmatch">AliasMatch</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#redirect">Redirect</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#redirectmatch">RedirectMatch</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#redirectpermanent">RedirectPermanent</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#redirecttemp">RedirectTemp</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#scriptalias">ScriptAlias</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#scriptaliasmatch">ScriptAliasMatch</a></li>
</ul>
<h3>Sujets</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#order">Chronologie du traitement</a></li>
</ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code></li>
<li><a href="../urlmapping.html">Mise en correspondance des URLs avec le
syst�me de fichiers</a></li>
</ul><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="order" id="order">Chronologie du traitement</a></h2>
<p>Les alias et redirections apparaissant dans diff�rents contextes
sont trait�s comme les autres directives en respectant les <a href="../sections.html#mergin">r�gles de fusion</a> standards. Par
contre, ils sont trait�s selon une chronologie particuli�re
lorsqu'ils apparaissent dans le m�me contexte (par exemple, dans la
m�me section <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>).</p>
<p>Premi�rement, toutes les redirections sont trait�es avant les
alias, et ainsi, une requ�te qui correspond � une directive
<code class="directive"><a href="#redirect">Redirect</a></code> ou <code class="directive"><a href="#redirectmatch">RedirectMatch</a></code> ne se verra jamais
appliquer d'alias. Deuxi�mement, les alias et redirections sont
trait�s selon l'ordre dans lequel ils apparaissent dans le fichier
de configuration, seule la premi�re correspondance �tant prise en
compte.</p>
<p>Ainsi, lorsqu'une ou plusieurs de ces directives s'appliquent au
m�me sous-r�pertoire, vous devez classer les chemins du plus pr�cis
au moins pr�cis afin que toutes les directives puissent
�ventuellement s'appliquer, comme dans l'exemple suivant :</p>
<pre class="prettyprint lang-config">
Alias /foo/bar /baz
Alias /foo /gaq
</pre>
<p>Si l'ordre des directives �tait invers�, la directive <code class="directive"><a href="#alias">Alias</a></code> ayant pour argument
<code>/foo</code> serait toujours appliqu�e avant la directive
<code class="directive"><a href="#alias">Alias</a></code> ayant pour argument
<code>/foo/bar</code>, et cette derni�re serait toujours
ignor�e.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="Alias" id="Alias">Alias</a> <a name="alias" id="alias">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Met en correspondance des URLs avec des chemins du syst�me
de fichiers</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Alias <var>chemin URL</var>
<var>chemin fichier</var>|<var>chemin r�pertoire</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_alias</td></tr>
</table>
<p>La directive <code class="directive">Alias</code> permet de stocker des
documents (destin�s � �tre servis) dans des zones du syst�me de
fichiers situ�es en dehors de l'arborescence du site web <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>. Les URLs dont le chemin
(d�cod� avec caract�res %) commence par <var>chemin URL</var> seront
mises en correspondance avec des fichiers locaux dont le chemin
commence par <var>chemin r�pertoire</var>. Le <var>chemin URL</var>
est sensible � la casse, m�me sur les syst�mes de fichiers
insensibles � la casse.</p>
<pre class="prettyprint lang-config">
Alias /image /ftp/pub/image
</pre>
<p>Une requ�te pour <code>http://example.com/image/foo.gif</code> fera
renvoyer par le serveur le fichier
<code>/ftp/pub/image/foo.gif</code>. Seuls les �l�ments de chemin
complets sont test�s ; ainsi l'alias pr�c�dent ne conviendra pas
pour une requ�te du style <code>http://example.com/imagefoo.gif</code>.
Pour des mises en correspondance plus complexes faisant intervenir
les expressions rationnelles, veuillez vous reporter � la directive
<code class="directive"><a href="#aliasmatch">AliasMatch</a></code>.</p>
<p>Notez que si vous ajoutez un slash de fin au <var>chemin
URL</var>, vous devrez aussi ajouter un slash de fin au chemin de la
requ�te. Autrement dit, si vous d�finissez</p>
<dl><dd><code>Alias /icons/ /usr/local/apache/icons/</code></dd></dl>
<p>l'alias pr�c�dent ne s'appliquera pas � l'url
<code>/icons</code> � cause de l'absence du slash final. Ainsi, si
le slash final est absent du <var>chemin de l'URL</var>, il doit
aussi l'�tre du <var>chemin du fichier</var>.</p>
<p>Notez qu'il pourra s'av�rer n�cessaire de d�finir des sections
<code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>
suppl�mentaires qui couvriront la <em>destination</em> des alias.
Le traitement des alias intervenant avant le traitement des sections
<code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>,
seules les cibles des alias sont affect�es (Notez cependant
que les sections <code class="directive"><a href="../mod/core.html#location"><Location></a></code> sont trait�es avant les alias, et
s'appliqueront donc).</p>
<p>En particulier, si vous cr�ez un alias ayant pour cible un
r�pertoire situ� en dehors de l'arborescence de votre site web
<code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>, vous devrez
probablement permettre explicitement l'acc�s � ce r�pertoire.</p>
<pre class="prettyprint lang-config">
Alias /image /ftp/pub/image
<Directory /ftp/pub/image>
Require all granted
</Directory>
</pre>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="AliasMatch" id="AliasMatch">AliasMatch</a> <a name="aliasmatch" id="aliasmatch">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Met en correspondance des URLs avec le syst�me de fichiers
en faisant intervenir les expressions rationnelles</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AliasMatch <var>regex</var>
<var>chemin fichier</var>|<var>chemin r�pertoire</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_alias</td></tr>
</table>
<p>Cette directive est identique � la directive <code class="directive"><a href="#alias">Alias</a></code>, mais fait appel aux <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expressions rationnelles</a>, � la place d'une
simple mise en correspondance de pr�fixe. L'expression rationnelle
fournie est mise en correspondance avec le chemin URL, et si elle
correspond, le serveur va substituer toute partie de chemin
correspondant � l'expression entre parenth�ses dans la cha�ne
fournie et l'utiliser comme nom de fichier.
Par exemple, pour activer le r�pertoire <code>/icons</code>, on peut
utiliser :</p>
<pre class="prettyprint lang-config">
AliasMatch ^/icons(.*) /usr/local/apache/icons$1
</pre>
<p>Toute la puissance des <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expressions
rationnelles</a> peut �tre mise � contribution. Par exemple,
il est possible de construire un alias avec un mod�le de chemin URL
insensible � la casse :</p>
<pre class="prettyprint lang-config">
AliasMatch (?i)^/image(.*) /ftp/pub/image$1
</pre>
<p>Il existe une diff�rence subtile entre <code class="directive"><a href="#alias">Alias</a></code> et <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> : <code class="directive"><a href="#alias">Alias</a></code> copie automatiquement toute
portion suppl�mentaire de l'URI situ�e apr�s la partie du mod�le qui
correspond, � la fin du chemin du fichier de la partie droite, alors
que <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> ne le fait
pas. Cela signifie qu'il sera pr�f�rable dans la plupart des cas de
comparer l'expression rationnelle du mod�le � la totalit� de l'URI
de la requ�te, et d'utiliser les substitutions dans la partie
droite.</p>
<p>En d'autres termes, le remplacement d'<code class="directive"><a href="#alias">Alias</a></code> par <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> ne produira pas le m�me
r�sultat. Au minimum, vous devez ajouter <code>^</code> au d�but de
l'expression rationnelle, <code>(.*)$</code> � sa fin et
<code>$1</code> � la fin de la cha�ne de remplacement.</p>
<p>Par exemple, supposons que nous voulions reformuler cet alias
avec AliasMatch :</p>
<pre class="prettyprint lang-config">
Alias /image/ /ftp/pub/image/
</pre>
<p>Le simple remplacement d'Alias par AliasMatch ne produira pas le
m�me r�sultat. Ainsi, ce qui suit va rediriger toutes les requ�tes
qui contiennent /image/ vers /ftp/pub/image/ :</p>
<pre class="prettyprint lang-config">
AliasMatch /image/ /ftp/pub/image/
</pre>
<p>Voici la directive AliasMatch qui produira le m�me r�sultat que
la directive Alias ci-dessus :</p>
<pre class="prettyprint lang-config">
AliasMatch ^/image/(.*)$ /ftp/pub/image/$1
</pre>
<p>Bien entendu, il n'y a aucune raison d'utiliser <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> dans le cas o� <code class="directive"><a href="#alias">Alias</a></code> suffit. <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> vous permet d'effectuer
des choses beaucoup plus sophistiqu�es. Par exemple, vous pouvez
servir diff�rentes sortes de fichiers � partir de r�pertoires
diff�rents :</p>
<pre class="prettyprint lang-config">
AliasMatch ^/image/(.*)\.jpg$ /fichiers/jpg.images/$1.jpg<br />
AliasMatch ^/image/(.*)\.gif$ /fichiers/gif.images/$1.gif
</pre>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="Redirect" id="Redirect">Redirect</a> <a name="redirect" id="redirect">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Envoie une redirection externe demandant au client
d'effectuer une autre requ�te avec une URL diff�rente</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Redirect [<var>�tat</var>] <var>chemin URL</var>
<var>URL</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, r�pertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_alias</td></tr>
</table>
<p>La directive Redirect permet de faire correspondre une ancienne
URL � une nouvelle en demandant au client d'aller chercher la ressource �
une autre localisation.</p>
<p>L'ancien <em>chemin URL</em> est un chemin sensible � la casse
(d�cod� � l'aide de caract�res %) commen�ant par un slash. Les
chemins relatifs ne sont pas autoris�s.</p>
<p>La nouvelle <em>URL</em>
peut �tre une URL absolue commen�ant par un protocole et un nom
d'h�te, mais on peut aussi utiliser un chemin URL commen�ant par un
slash, auquel cas le protocole et le nom d'h�te du serveur local
seront ajout�s.</p>
<p>Ensuite, toute requ�te commen�ant par <em>chemin URL</em> va
renvoyer une redirection au client vers l'<em>URL</em> cible. Tout
�l�ment de chemin suppl�mentaire situ� en aval du <em>chemin
URL</em> sera ajout� � l'URL cible.</p>
<pre class="prettyprint lang-config">
# Redirige vers une URL sur un serveur diff�rent
Redirect /service http://foo2.example.com/service
# Redirige vers une URL sur le m�me serveur
Redirect /one /two
</pre>
<p>Si le client effectue une requ�te pour l'URL
<code>http://example.com/service/foo.txt</code>, il lui sera demand�
d'en effectuer une autre pour l'URL
<code>http://foo2.example.com/service/foo.txt</code>. Ceci concerne
les requ�tes avec param�tres <code>GET</code>, comme
<code>http://example.com/service/foo.pl?q=23&a=42</code>, qui
seront redirig�es vers
<code>http://foo2.example.com/service/foo.pl?q=23&a=42</code>.
Notez que les <code>POST</code>s seront ignor�s.<br />
Seuls les
�l�ments de chemin complets sont test�s, si bien que l'exemple
pr�c�dent ne s'appliquera pas � l'URL
<code>http://example.com/servicefoo.txt</code>. Pour des mises en
correspondance plus complexes faisant intervenir les expressions
rationnelles, veuillez vous reporter � la directive <code class="directive"><a href="#redirectmatch">RedirectMatch</a></code>.</p>
<div class="note"><h3>Note</h3>
<p>Les directives de redirection ont priorit� sur les directives
Alias et ScriptAlias, quel que soit leur ordre d'apparition dans le
fichier de configuration.</p></div>
<p>Si aucun argument <var>�tat</var> n'est sp�cifi�, la
redirection sera temporaire (code HTTP 302). Le client est alors
inform� que la ressource a �t� temporairement d�plac�e. On peut
utiliser l'argument <var>�tat</var> pour renvoyer d'autres codes HTTP :</p>
<dl>
<dt>permanent</dt>
<dd>Renvoie un code de redirection permanente (301), indiquant
que la ressource a �t� d�finitivement d�plac�e.</dd>
<dt>temp</dt>
<dd>Renvoie un code de redirection temporaire (302). C'est le
comportement par d�faut.</dd>
<dt>seeother</dt>
<dd>Renvoie un code "See Other" (303) indiquant que la ressource
a �t� remplac�e par une autre.</dd>
<dt>gone</dt>
<dd>Renvoie un code "Gone" (410) indiquant que la ressource a
�t� d�finitivement supprim�e. Lorsque
ce code est utilis�, on ne
doit pas utiliser l'argument <var>URL</var>.</dd>
</dl>
<p>On peut renvoyer d'autres codes en sp�cifiant le code
num�rique comme valeur de l'argument of <var>�tat</var>.
Si le code est compris entre 300 et 399, l'argument
<var>URL</var> doit �tre pr�sent. Si le code
n'est <em>pas</em> compris entre 300 et 399, l'argument
<var>URL</var> ne doit pas appara�tre. Le code doit �tre un code
HTTP valide, connu du serveur HTTP Apache (voir la
fonction <code>send_error_response</code> dans
http_protocol.c).</p>
<pre class="prettyprint lang-config">
Redirect permanent /one http://example.com/two
Redirect 303 /three http://example.com/other
</pre>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="RedirectMatch" id="RedirectMatch">RedirectMatch</a> <a name="redirectmatch" id="redirectmatch">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Envoie une redirection externe faisant appel aux
expressions rationnelles pour la mise en correspondance de l'URL
courante</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RedirectMatch [<var>�tat</var>] <var>regex</var>
<var>URL</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, r�pertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_alias</td></tr>
</table>
<p>Cette directive est identique � la directive <code class="directive"><a href="#redirect">Redirect</a></code>, mais fait appel aux
<a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expressions rationnelles</a>, � la
place d'une simple mise en correspondance de pr�fixe. L'expression
rationnelle fournie est mise en correspondance avec le chemin URL,
et si elle correspond, le serveur va substituer toute partie de
chemin correspondante entre parenth�ses dans la cha�ne sp�cifi�e et
l'utiliser comme nom de fichier. Par exemple, pour rediriger tous
les fichiers GIF vers les fichiers JPEG de m�me nom sur un autre
serveur, on peut utiliser :</p>
<pre class="prettyprint lang-config">
RedirectMatch (.*)\.gif$ http://autre.example.com$1.jpg
</pre>
<p>Les remarques � propos de la diff�rence entre <code class="directive"><a href="#alias">Alias</a></code> et <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> s'appliquent aussi � la
diff�rence entre les directives <code class="directive"><a href="#redirect">Redirect</a></code> et <code class="directive"><a href="#redirectmatch">RedirectMatch</a></code>. Voir la directive
<code class="directive"><a href="#aliasmatch">AliasMatch</a></code> pour plus de
d�tails.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="RedirectPermanent" id="RedirectPermanent">RedirectPermanent</a> <a name="redirectpermanent" id="redirectpermanent">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Envoie une redirection externe permanente demandant au
client d'effectuer une nouvelle requ�te avec une URL
diff�rente</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RedirectPermanent <var>chemin URL</var> <var>URL</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, r�pertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_alias</td></tr>
</table>
<p>Cette directive informe le client que la redirection est
permanente (code 301). Son comportement est exactement le m�me
que celui de <code>Redirect permanent</code>.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="RedirectTemp" id="RedirectTemp">RedirectTemp</a> <a name="redirecttemp" id="redirecttemp">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Envoie une redirection externe temporaire demandant au
client d'effectuer une nouvelle requ�te avec une URL
diff�rente</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RedirectTemp <var>chemin URL</var> <var>URL</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, r�pertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_alias</td></tr>
</table>
<p>Cette directive informe le client que la redirection n'est
que temporaire (code 302). Son comportement est exactement le m�me
que celui de <code>Redirect temp</code>.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="ScriptAlias" id="ScriptAlias">ScriptAlias</a> <a name="scriptalias" id="scriptalias">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fait correspondre une URL � une zone du syst�me de fichiers
et d�signe la cible comme script CGI</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ScriptAlias <var>chemin URL</var>
<var>chemin fichier</var>|<var>chemin r�pertoire</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_alias</td></tr>
</table>
<p>La directive <code class="directive">ScriptAlias</code> pr�sente le m�me
comportement que la directive <code class="directive"><a href="#alias">Alias</a></code>, mais d�signe en plus le
r�pertoire cible comme conteneur de scripts CGI qui seront trait�es
par le gestionnaire cgi-script du module <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>.
Les URLs dont le chemin URL sensible � la casse (d�cod� avec
caract�res %) commence par <var>chemin URL</var> seront mises en
correspondance avec les scripts dont le chemin commence par le
second argument, qui est un chemin complet dans le syst�me de
fichiers local.</p>
<pre class="prettyprint lang-config">
ScriptAlias /cgi-bin/ /web/cgi-bin/
</pre>
<p>Une requ�te pour <code>http://example.com/cgi-bin/foo</code>
ferait ex�cuter par le serveur le script
<code>/web/cgi-bin/foo</code>. Cette configuration est sensiblement
�quivalente � :</p>
<pre class="prettyprint lang-config">
Alias /cgi-bin/ /web/cgi-bin/
<Location /cgi-bin >
SetHandler cgi-script
Options +ExecCGI
</Location>
</pre>
<p>Vous pouvez aussi utiliser <code class="directive">ScriptAlias</code>
avec un script ou gestionnaire de votre cru. Par exemple :</p>
<pre class="prettyprint lang-config">
ScriptAlias /cgi-bin/ /web/cgi-handler.pl
</pre>
<p>Dans ce sc�nario, tous les fichiers faisant l'objet d'une requ�te
dans <code>/cgi-bin/</code> seront trait�s par le fichier que vous
avez sp�cifi�, ce qui vous permet d'utiliser votre propre
gestionnaire. Vous pouvez l'utiliser comme enveloppe (wrapper) pour
les scripts CGI afin d'ajouter du contenu, ou autre action "maison".</p>
<div class="warning">Il est pr�f�rable d'�viter de placer les
scripts CGI dans l'arborescence de <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> afin d'�viter de r�v�ler
accidentellement leur code source lors d'une modification de
configuration. On y parvient ais�ment avec
<code class="directive">ScriptAlias</code> en mettant en correspondance une
URL et en d�signant la cible comme scripts CGI par la m�me occasion.
Si vous choisissez de placer vos scripts CGI dans un r�pertoire
accessible depuis le web, n'utilisez pas
<code class="directive">ScriptAlias</code>. Utilisez plut�t <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>, <code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code>, et <code class="directive"><a href="../mod/core.html#options">Options</a></code> comme dans l'exemple suivant :
<pre class="prettyprint lang-config">
<Directory /usr/local/apache2/htdocs/cgi-bin >
SetHandler cgi-script
Options ExecCGI
</Directory>
</pre>
Ceci est n�cessaire car plusieurs <var>chemins URL</var> peuvent
correspondre � la m�me zone du syst�me de fichiers, court-circuitant
ainsi la directive <code class="directive">ScriptAlias</code> et r�v�lant le
code source des scripts CGI s'ils ne sont pas prot�g�s par une
section <code class="directive"><a href="../mod/core.html#directory">Directory</a></code>.</div>
<h3>Voir aussi</h3>
<ul>
<li><a href="../howto/cgi.html">Tutoriel CGI</a></li>
</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="ScriptAliasMatch" id="ScriptAliasMatch">ScriptAliasMatch</a> <a name="scriptaliasmatch" id="scriptaliasmatch">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fait correspondre une URL � une zone du syst�me de fichiers
en faisant appel aux expressions rationnelles et en d�signant la cible
comme un script CGI</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ScriptAliasMatch <var>regex</var>
<var>chemin fichier</var>|<var>chemin r�pertoire</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_alias</td></tr>
</table>
<p>Cette directive est �quivalente � la directive <code class="directive"><a href="#scriptalias">ScriptAlias</a></code>, mais fait appel aux
<a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expressions rationnelles</a>, � la
place d'une simple mise en correspondance de pr�fixe. L'expression
rationnelle fournie est mise en correspondance avec le chemin URL,
et si elle correspond, le serveur va substituer toute partie de
chemin entre parenth�ses dans la cha�ne sp�cifi�e et l'utiliser
comme nom de fichier. Par exemple, pour activer le r�pertoire
standard <code>/cgi-bin</code>, on peut utiliser :</p>
<pre class="prettyprint lang-config">
ScriptAliasMatch ^/cgi-bin(.*) /usr/local/apache/cgi-bin$1
</pre>
<p>Comme dans le cas d'AliasMatch, toute la puissance des <a class="glossarylink" href="../glossary.html#rexex" title="voir glossaire">expressions rationnelles</a> peut �tre mise �
contribution. Par exemple, il est possible de construire un alias
avec une comparaison du mod�le du chemin URL insensible � la casse :</p>
<pre class="prettyprint lang-config">
ScriptAliasMatch (?i)^/cgi-bin(.*) /usr/local/apache/cgi-bin$1
</pre>
<p>Les remarques � propos de la diff�rence entre <code class="directive"><a href="#alias">Alias</a></code> et <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> s'appliquent aussi � la
diff�rence entre les directives <code class="directive"><a href="#scriptalias">ScriptAlias</a></code> et <code class="directive"><a href="#scriptaliasmatch">ScriptAliasMatch</a></code>. Voir la directive
<code class="directive"><a href="#aliasmatch">AliasMatch</a></code> pour plus de
d�tails.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_alias.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../fr/mod/mod_alias.html" title="Fran�ais"> fr </a> |
<a href="../ja/mod/mod_alias.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_alias.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="../tr/mod/mod_alias.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>This section is experimental!</strong><br />Comments placed here should not be expected
to last beyond the testing phase of this system, nor do we in any way guarantee that we'll read them.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var lang = 'fr';
var disqus_shortname = 'httpd';
var disqus_identifier = window.location.href.replace(/(current|trunk)/, "2.4").replace(/\/[a-z]{2}\//, "/").replace(window.location.protocol, "http:") + '.' + lang;
if (disqus_identifier.indexOf("httpd.apache.org") == -1) {
document.write('<div id="disqus_thread">\n</div>');
(function() {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = window.location.protocol + '//' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
} else {
document.write("Comments have been disabled for offline viewing.");
}
//--><!]]></script></div><div id="footer">
<p class="apache">Copyright 2012 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/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== undefined) {
prettyPrint();
}
//--><!]]></script>
</body></html>
|