2 <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
3 <?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
4 <!-- English Revision: 1653941:1673517 (outdated) -->
5 <!-- French translation : Lucien GENTIS -->
6 <!-- Reviewed by : Vincent Deffontaines -->
9 Licensed to the Apache Software Foundation (ASF) under one or more
10 contributor license agreements. See the NOTICE file distributed with
11 this work for additional information regarding copyright ownership.
12 The ASF licenses this file to You under the Apache License, Version 2.0
13 (the "License"); you may not use this file except in compliance with
14 the License. You may obtain a copy of the License at
16 http://www.apache.org/licenses/LICENSE-2.0
18 Unless required by applicable law or agreed to in writing, software
19 distributed under the License is distributed on an "AS IS" BASIS,
20 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21 See the License for the specific language governing permissions and
22 limitations under the License.
25 <modulesynopsis metafile="mod_alias.xml.meta">
27 <name>mod_alias</name>
28 <description>Permet d'atteindre différentes parties du système de
29 fichiers depuis l'arborescence des documents du site web, ainsi que la
30 redirection d'URL</description>
32 <sourcefile>mod_alias.c</sourcefile>
33 <identifier>alias_module</identifier>
36 <p>Les directives fournies par ce module permettent de manipuler et
37 de contrôler les URLs à l'arrivée des requêtes sur le serveur. Les
38 directives <directive module="mod_alias">Alias</directive> et
39 <directive module="mod_alias">ScriptAlias</directive> permettent de
40 faire correspondre des URLs avec des chemins du système de fichiers.
41 Ceci permet de servir des contenus qui ne sont pas situés dans
42 l'arborescence de <directive
43 module="core">DocumentRoot</directive> comme s'ils y étaient
44 réellement. La directive <directive
45 module="mod_alias">ScriptAlias</directive> a pour effet
46 supplémentaire de marquer le répertoire cible comme conteneur de
49 <p>Les directives <directive module="mod_alias">Redirect</directive>
50 indiquent aux clients qu'ils doivent effectuer une nouvelle requête
51 avec une URL différente. Elles sont souvent utilisées lorsqu'une
52 ressource a été déplacée.</p>
54 <p>Lorsque les directives <directive
55 module="mod_alias">Alias</directive>, <directive
56 module="mod_alias">ScriptAlias</directive> ou <directive
57 module="mod_alias">Redirect</directive> sont définies au sein d'une
58 section <directive type="section" module="core">Location</directive>
59 ou <directive type="section"
60 module="core">LocationMatch</directive>, vous pouvez utiliser la <a
61 href="../expr.html">syntaxe des expressions</a> pour manipuler l'URL
62 ou le chemin de destination.
65 <p><module>mod_alias</module> est conçu pour traiter des tâches
66 simples de manipulation d'URL. Pour des tâches plus complexes comme
67 la manipulation des chaînes d'arguments des requêtes, utilisez
68 plutôt les outils fournis par le module <module>mod_rewrite</module></p>
72 <seealso><module>mod_rewrite</module></seealso> <seealso><a
73 href="../urlmapping.html">Mise en correspondance des URLs avec le
74 système de fichiers</a></seealso>
76 <section id="order"><title>Chronologie du traitement</title>
78 <p>Les alias et redirections apparaissant dans différents contextes
79 sont traités comme les autres directives en respectant les <a
80 href="../sections.html#mergin">règles de fusion</a> standards. Par
81 contre, ils sont traités selon une chronologie particulière
82 lorsqu'ils apparaissent dans le même contexte (par exemple, dans la
83 même section <directive type="section"
84 module="core">VirtualHost</directive>).</p>
86 <p>Premièrement, toutes les redirections sont traitées avant les
87 alias, et ainsi, une requête qui correspond à une directive
88 <directive module="mod_alias">Redirect</directive> ou <directive
89 module="mod_alias">RedirectMatch</directive> ne se verra jamais
90 appliquer d'alias. Deuxièmement, les alias et redirections sont
91 traités selon l'ordre dans lequel ils apparaissent dans le fichier
92 de configuration, seule la première correspondance étant prise en
95 <p>Ainsi, lorsqu'une ou plusieurs de ces directives s'appliquent au
96 même sous-répertoire, vous devez classer les chemins du plus précis
97 au moins précis afin que toutes les directives puissent
98 éventuellement s'appliquer, comme dans l'exemple suivant :</p>
100 <highlight language="config">
105 <p>Si l'ordre des directives était inversé, la directive <directive
106 module="mod_alias">Alias</directive> ayant pour argument
107 <code>/foo</code> serait toujours appliquée avant la directive
108 <directive module="mod_alias">Alias</directive> ayant pour argument
109 <code>/foo/bar</code>, et cette dernière serait toujours
112 <p>La définition de directives <directive
113 module="mod_alias">Alias</directive>, <directive
114 module="mod_alias">ScriptAlias</directive> ou <directive
115 module="mod_alias">Redirect</directive> au sein de sections
116 <directive type="section" module="core">Location</directive> ou
117 <directive type="section" module="core">LocationMatch</directive>
118 l'emporte sur d'autres définitions éventuelles de ces mêmes
119 directives au niveau de la configuration générale du serveur.</p>
125 <description>Met en correspondance des URLs avec des chemins du système
126 de fichiers</description>
127 <syntax>Alias [<var>chemin URL</var>]
128 <var>chemin fichier</var>|<var>chemin répertoire</var></syntax>
129 <contextlist><context>server config</context><context>virtual host</context>
134 <p>La directive <directive>Alias</directive> permet de stocker des
135 documents (destinés à être servis) dans des zones du système de
136 fichiers situées en dehors de l'arborescence du site web <directive
137 module="core">DocumentRoot</directive>. Les URLs dont le chemin
138 (décodé avec caractères %) commence par <var>chemin URL</var> seront
139 mises en correspondance avec des fichiers locaux dont le chemin
140 commence par <var>chemin répertoire</var>. Le <var>chemin URL</var>
141 est sensible à la casse, même sur les systèmes de fichiers
142 insensibles à la casse.</p>
144 <highlight language="config">
145 Alias /image /ftp/pub/image
148 <p>Une requête pour <code>http://example.com/image/foo.gif</code> fera
149 renvoyer par le serveur le fichier
150 <code>/ftp/pub/image/foo.gif</code>. Seuls les éléments de chemin
151 complets sont testés ; ainsi l'alias précédent ne conviendra pas
152 pour une requête du style <code>http://example.com/imagefoo.gif</code>.
153 Pour des mises en correspondance plus complexes faisant intervenir
154 les expressions rationnelles, veuillez vous reporter à la directive
155 <directive module="mod_alias">AliasMatch</directive>.</p>
157 <p>Notez que si vous ajoutez un slash de fin au <var>chemin
158 URL</var>, vous devrez aussi ajouter un slash de fin au chemin de la
159 requête. Autrement dit, si vous définissez</p>
161 <highlight language="config">
162 Alias /icons/ /usr/local/apache/icons/
165 <p>l'alias précédent ne s'appliquera pas à l'url
166 <code>/icons</code> à cause de l'absence du slash final. Ainsi, si
167 le slash final est absent du <var>chemin de l'URL</var>, il doit
168 aussi l'être du <var>chemin du fichier</var>.</p>
170 <p>Notez qu'il pourra s'avérer nécessaire de définir des sections
171 <directive type="section" module="core">Directory</directive>
172 supplémentaires qui couvriront la <em>destination</em> des alias.
173 Le traitement des alias intervenant avant le traitement des sections
174 <directive type="section" module="core">Directory</directive>,
175 seules les cibles des alias sont affectées (Notez cependant
176 que les sections <directive type="section"
177 module="core">Location</directive> sont traitées avant les alias, et
178 s'appliqueront donc).</p>
180 <p>En particulier, si vous créez un alias ayant pour cible un
181 répertoire situé en dehors de l'arborescence de votre site web
182 <directive module="core">DocumentRoot</directive>, vous devrez
183 probablement permettre explicitement l'accès à ce répertoire.</p>
185 <highlight language="config">
186 Alias /image /ftp/pub/image
187 <Directory /ftp/pub/image>
192 <p>Le nombre de slashes dans le paramètre <var>chemin URL</var> doit
193 correspondre au nombre de slashes dans le chemin URL de la requête.</p>
195 <p>Si la directive <directive>Alias</directive> est définie au sein
196 d'une section <directive type="section"
197 module="core">Location</directive> ou <directive type="section"
198 module="core">LocationMatch</directive>, <var>chemin URL</var> est
199 omis et <var>chemin fichier</var> est interprété en utilisant la <a
200 href="../expr.html">syntaxe des expressions</a>.</p>
202 <highlight language="config">
203 <Location /image>
206 <LocationMatch /error/(?<NUMBER>[0-9]+)>
207 Alias /usr/local/apache/errors/%{env:MATCH_NUMBER}.html
208 </LocationMatch>
215 <name>AliasMatch</name>
216 <description>Met en correspondance des URLs avec le système de fichiers
217 en faisant intervenir les expressions rationnelles</description>
218 <syntax>AliasMatch <var>regex</var>
219 <var>chemin fichier</var>|<var>chemin répertoire</var></syntax>
220 <contextlist><context>server config</context><context>virtual host</context>
224 <p>Cette directive est identique à la directive <directive
225 module="mod_alias">Alias</directive>, mais fait appel aux <glossary
226 ref="regex">expressions rationnelles</glossary>, à la place d'une
227 simple mise en correspondance de préfixe. L'expression rationnelle
228 fournie est mise en correspondance avec le chemin URL, et si elle
229 correspond, le serveur va substituer toute partie de chemin
230 correspondant à l'expression entre parenthèses dans la chaîne
231 fournie et l'utiliser comme nom de fichier.
232 Par exemple, pour activer le répertoire <code>/icons</code>, on peut
235 <highlight language="config">
236 AliasMatch ^/icons(.*) /usr/local/apache/icons$1
239 <p>Toute la puissance des <glossary ref="regex">expressions
240 rationnelles</glossary> peut être mise à contribution. Par exemple,
241 il est possible de construire un alias avec un modèle de chemin URL
242 insensible à la casse :</p>
244 <highlight language="config">
245 AliasMatch (?i)^/image(.*) /ftp/pub/image$1
248 <p>Il existe une différence subtile entre <directive
249 module="mod_alias">Alias</directive> et <directive
250 module="mod_alias">AliasMatch</directive> : <directive
251 module="mod_alias">Alias</directive> copie automatiquement toute
252 portion supplémentaire de l'URI située après la partie du modèle qui
253 correspond, à la fin du chemin du fichier de la partie droite, alors
254 que <directive module="mod_alias">AliasMatch</directive> ne le fait
255 pas. Cela signifie qu'il sera préférable dans la plupart des cas de
256 comparer l'expression rationnelle du modèle à la totalité de l'URI
257 de la requête, et d'utiliser les substitutions dans la partie
260 <p>En d'autres termes, le remplacement d'<directive
261 module="mod_alias">Alias</directive> par <directive
262 module="mod_alias">AliasMatch</directive> ne produira pas le même
263 résultat. Au minimum, vous devez ajouter <code>^</code> au début de
264 l'expression rationnelle, <code>(.*)$</code> à sa fin et
265 <code>$1</code> à la fin de la chaîne de remplacement.</p>
267 <p>Par exemple, supposons que nous voulions reformuler cet alias
268 avec AliasMatch :</p>
270 <highlight language="config">
271 Alias /image/ /ftp/pub/image/
274 <p>Le simple remplacement d'Alias par AliasMatch ne produira pas le
275 même résultat. Ainsi, ce qui suit va rediriger toutes les requêtes
276 qui contiennent /image/ vers /ftp/pub/image/ :</p>
278 <highlight language="config">
279 AliasMatch /image/ /ftp/pub/image/
282 <p>Voici la directive AliasMatch qui produira le même résultat que
283 la directive Alias ci-dessus :</p>
285 <highlight language="config">
286 AliasMatch ^/image/(.*)$ /ftp/pub/image/$1
289 <p>Bien entendu, il n'y a aucune raison d'utiliser <directive
290 module="mod_alias">AliasMatch</directive> dans le cas où <directive
291 module="mod_alias">Alias</directive> suffit. <directive
292 module="mod_alias">AliasMatch</directive> vous permet d'effectuer
293 des choses beaucoup plus sophistiquées. Par exemple, vous pouvez
294 servir différentes sortes de fichiers à partir de répertoires
295 différents :</p>
297 <highlight language="config">
298 AliasMatch ^/image/(.*)\.jpg$ /fichiers/jpg.images/$1.jpg<br/>
299 AliasMatch ^/image/(.*)\.gif$ /fichiers/gif.images/$1.gif
302 <p>Les éventuels slashes de tête multiples seront supprimés par le
303 serveur avant que les directives de ce module n'effectuent des
304 comparaisons avec le chemin URL de la requête.
311 <name>Redirect</name>
312 <description>Envoie une redirection externe demandant au client
313 d'effectuer une autre requête avec une URL différente</description>
314 <syntax>Redirect [<var>état</var>] [<var>chemin URL</var>]
315 <var>URL</var></syntax>
316 <contextlist><context>server config</context><context>virtual host</context>
317 <context>directory</context><context>.htaccess</context></contextlist>
318 <override>FileInfo</override>
321 <p>La directive Redirect permet de faire correspondre une ancienne
322 URL à une nouvelle en demandant au client d'aller chercher la ressource à
323 une autre localisation.</p>
325 <p>L'ancien <em>chemin URL</em> est un chemin sensible à la casse
326 (décodé à l'aide de caractères %) commençant par un slash. Les
327 chemins relatifs ne sont pas autorisés.</p>
329 <p>La nouvelle <em>URL</em>
330 peut être une URL absolue commençant par un protocole et un nom
331 d'hôte, mais on peut aussi utiliser un chemin URL commençant par un
332 slash, auquel cas le protocole et le nom d'hôte du serveur local
333 seront ajoutés.</p>
335 <p>Ensuite, toute requête commençant par <em>chemin URL</em> va
336 renvoyer une redirection au client vers l'<em>URL</em> cible. Tout
337 élément de chemin supplémentaire situé en aval du <em>chemin
338 URL</em> sera ajouté à l'URL cible.</p>
340 <highlight language="config">
341 # Redirige vers une URL sur un serveur différent
342 Redirect /service http://foo2.example.com/service
344 # Redirige vers une URL sur le même serveur
348 <p>Si le client effectue une requête pour l'URL
349 <code>http://example.com/service/foo.txt</code>, il lui sera demandé
350 d'en effectuer une autre pour l'URL
351 <code>http://foo2.example.com/service/foo.txt</code>. Ceci concerne
352 les requêtes avec paramètres <code>GET</code>, comme
353 <code>http://example.com/service/foo.pl?q=23&a=42</code>, qui
354 seront redirigées vers
355 <code>http://foo2.example.com/service/foo.pl?q=23&a=42</code>.
356 Notez que les <code>POST</code>s seront ignorés.<br />
358 éléments de chemin complets sont testés, si bien que l'exemple
359 précédent ne s'appliquera pas à l'URL
360 <code>http://example.com/servicefoo.txt</code>. Pour des mises en
361 correspondance plus complexes utilisant la <a
362 href="../expr.html">syntaxe des expressions</a>, ne spécifiez pas
363 d'argument <var>chemin URL</var> comme décrit ci-dessous. En outre,
364 pour une mise en correspondance en utilisant les expressions
365 rationnelles, veuillez vous reporter à la directive <directive
366 module="mod_alias">RedirectMatch</directive>.</p>
369 <note><title>Note</title>
370 <p>Les directives de redirection ont priorité sur les directives
371 Alias et ScriptAlias, quel que soit leur ordre d'apparition dans le
372 fichier de configuration. Les directives Redirect définies au sein
373 d'une section Location l'emportent sur les directives Redirect et
374 Alias comportant un argument <var>chemin URL</var>.</p></note>
376 <p>Si aucun argument <var>état</var> n'est spécifié, la
377 redirection sera temporaire (code HTTP 302). Le client est alors
378 informé que la ressource a été temporairement déplacée. On peut
379 utiliser l'argument <var>état</var> pour renvoyer d'autres codes HTTP :</p>
384 <dd>Renvoie un code de redirection permanente (301), indiquant
385 que la ressource a été définitivement déplacée.</dd>
389 <dd>Renvoie un code de redirection temporaire (302). C'est le
390 comportement par défaut.</dd>
394 <dd>Renvoie un code "See Other" (303) indiquant que la ressource
395 a été remplacée par une autre.</dd>
399 <dd>Renvoie un code "Gone" (410) indiquant que la ressource a
400 été définitivement supprimée. Lorsque
401 ce code est utilisé, on ne
402 doit pas utiliser l'argument <var>URL</var>.</dd>
405 <p>On peut renvoyer d'autres codes en spécifiant le code
406 numérique comme valeur de l'argument of <var>état</var>.
407 Si le code est compris entre 300 et 399, l'argument
408 <var>URL</var> doit être présent. Si le code
409 n'est <em>pas</em> compris entre 300 et 399, l'argument
410 <var>URL</var> ne doit pas apparaître. Le code doit être un code
411 HTTP valide, connu du serveur HTTP Apache (voir la
412 fonction <code>send_error_response</code> dans
413 http_protocol.c).</p>
415 <highlight language="config">
416 Redirect permanent /one http://example.com/two
417 Redirect 303 /three http://example.com/other
420 <p>Si une directive <directive>Redirect</directive> est définie au
421 sein d'une section <directive type="section"
422 module="core">Location</directive> ou <directive type="section"
423 module="core">LocationMatch</directive> et si l'argument <var>chemin
424 URL</var> est omis, l'argument <var>URL</var> sera interprété en
425 utilisant la <a href="../expr.html">syntaxe des expressions</a>.</p>
427 <highlight language="config">
428 <Location /one>
429 Redirect permanent http://example.com/two
430 </Location><br />
431 <Location /three>
432 Redirect 303 http://example.com/other
433 </Location><br />
434 <LocationMatch /error/(?<NUMBER>[0-9]+)>
435 Redirect permanent http://example.com/errors/%{env:MATCH_NUMBER}.html
436 </LocationMatch><br />
443 <name>RedirectMatch</name>
444 <description>Envoie une redirection externe faisant appel aux
445 expressions rationnelles pour la mise en correspondance de l'URL
446 courante</description>
447 <syntax>RedirectMatch [<var>état</var>] <var>regex</var>
448 <var>URL</var></syntax>
449 <contextlist><context>server config</context><context>virtual host</context>
450 <context>directory</context><context>.htaccess</context></contextlist>
451 <override>FileInfo</override>
454 <p>Cette directive est identique à la directive <directive
455 module="mod_alias">Redirect</directive>, mais fait appel aux
456 <glossary ref="regex">expressions rationnelles</glossary>, à la
457 place d'une simple mise en correspondance de préfixe. L'expression
458 rationnelle fournie est mise en correspondance avec le chemin URL,
459 et si elle correspond, le serveur va substituer toute partie de
460 chemin correspondante entre parenthèses dans la chaîne spécifiée et
461 l'utiliser comme nom de fichier. Par exemple, pour rediriger tous
462 les fichiers GIF vers les fichiers JPEG de même nom sur un autre
463 serveur, on peut utiliser :</p>
465 <highlight language="config">
466 RedirectMatch (.*)\.gif$ http://autre.example.com$1.jpg
469 <p>Les remarques à propos de la différence entre <directive
470 module="mod_alias">Alias</directive> et <directive
471 module="mod_alias">AliasMatch</directive> s'appliquent aussi à la
472 différence entre les directives <directive
473 module="mod_alias">Redirect</directive> et <directive
474 module="mod_alias">RedirectMatch</directive>. Voir la directive
475 <directive module="mod_alias">AliasMatch</directive> pour plus de
482 <name>RedirectTemp</name>
483 <description>Envoie une redirection externe temporaire demandant au
484 client d'effectuer une nouvelle requête avec une URL
485 différente</description>
486 <syntax>RedirectTemp <var>chemin URL</var> <var>URL</var></syntax>
487 <contextlist><context>server config</context><context>virtual host</context>
488 <context>directory</context><context>.htaccess</context></contextlist>
489 <override>FileInfo</override>
492 <p>Cette directive informe le client que la redirection n'est
493 que temporaire (code 302). Son comportement est exactement le même
494 que celui de <code>Redirect temp</code>.</p>
499 <name>RedirectPermanent</name>
500 <description>Envoie une redirection externe permanente demandant au
501 client d'effectuer une nouvelle requête avec une URL
502 différente</description>
503 <syntax>RedirectPermanent <var>chemin URL</var> <var>URL</var></syntax>
504 <contextlist><context>server config</context><context>virtual host</context>
505 <context>directory</context><context>.htaccess</context></contextlist>
506 <override>FileInfo</override>
509 <p>Cette directive informe le client que la redirection est
510 permanente (code 301). Son comportement est exactement le même
511 que celui de <code>Redirect permanent</code>.</p>
516 <name>ScriptAlias</name>
517 <description>Fait correspondre une URL à une zone du système de fichiers
518 et désigne la cible comme script CGI</description>
519 <syntax>ScriptAlias [<var>chemin URL</var>]
520 <var>chemin fichier</var>|<var>chemin répertoire</var></syntax>
521 <contextlist><context>server config</context><context>virtual host</context>
522 <context>directory</context>
526 <p>La directive <directive>ScriptAlias</directive> présente le même
527 comportement que la directive <directive
528 module="mod_alias">Alias</directive>, mais désigne en plus le
529 répertoire cible comme conteneur de scripts CGI qui seront traitées
530 par le gestionnaire cgi-script du module <module>mod_cgi</module>.
531 Les URLs dont le chemin URL sensible à la casse (décodé avec
532 caractères %) commence par <var>chemin URL</var> seront mises en
533 correspondance avec les scripts dont le chemin commence par le
534 second argument, qui est un chemin complet dans le système de
537 <highlight language="config">
538 ScriptAlias /cgi-bin/ /web/cgi-bin/
541 <p>Une requête pour <code>http://example.com/cgi-bin/foo</code>
542 ferait exécuter par le serveur le script
543 <code>/web/cgi-bin/foo</code>. Cette configuration est sensiblement
544 équivalente à :</p>
545 <highlight language="config">
546 Alias /cgi-bin/ /web/cgi-bin/
547 <Location /cgi-bin >
548 SetHandler cgi-script
553 <p>Vous pouvez aussi utiliser <directive>ScriptAlias</directive>
554 avec un script ou gestionnaire de votre cru. Par exemple :</p>
556 <highlight language="config">
557 ScriptAlias /cgi-bin/ /web/cgi-handler.pl
560 <p>Dans ce scénario, tous les fichiers faisant l'objet d'une requête
561 dans <code>/cgi-bin/</code> seront traités par le fichier que vous
562 avez spécifié, ce qui vous permet d'utiliser votre propre
563 gestionnaire. Vous pouvez l'utiliser comme enveloppe (wrapper) pour
564 les scripts CGI afin d'ajouter du contenu, ou autre action "maison".</p>
566 <note type="warning">Il est préférable d'éviter de placer les
567 scripts CGI dans l'arborescence de <directive
568 module="core">DocumentRoot</directive> afin d'éviter de révéler
569 accidentellement leur code source lors d'une modification de
570 configuration. On y parvient aisément avec
571 <directive>ScriptAlias</directive> en mettant en correspondance une
572 URL et en désignant la cible comme scripts CGI par la même occasion.
573 Si vous choisissez de placer vos scripts CGI dans un répertoire
574 accessible depuis le web, n'utilisez pas
575 <directive>ScriptAlias</directive>. Utilisez plutôt <directive
576 module="core" type="section">Directory</directive>, <directive
577 module="core">SetHandler</directive>, et <directive
578 module="core">Options</directive> comme dans l'exemple suivant :
579 <highlight language="config">
580 <Directory /usr/local/apache2/htdocs/cgi-bin >
581 SetHandler cgi-script
585 Ceci est nécessaire car plusieurs <var>chemins URL</var> peuvent
586 correspondre à la même zone du système de fichiers, court-circuitant
587 ainsi la directive <directive>ScriptAlias</directive> et révélant le
588 code source des scripts CGI s'ils ne sont pas protégés par une
589 section <directive module="core">Directory</directive>.</note>
591 <p>Si la directive <directive>ScriptAlias</directive> est définie au
592 sein d'une section <directive type="section"
593 module="core">Location</directive> ou <directive type="section"
594 module="core">LocationMatch</directive> et si l'argument <var>chemin
595 URL</var> est omis, l'argument <var>URL</var> sera interprété en
596 utilisant la <a href="../expr.html">syntaxe des expressions</a>.</p>
598 <highlight language="config">
599 <Location /cgi-bin >
600 ScriptAlias /web/cgi-bin/
602 <LocationMatch /cgi-bin/errors/(?<NUMBER>[0-9]+)>
603 ScriptAlias /web/cgi-bin/errors/%{env:MATCH_NUMBER}.cgi
604 </LocationMatch><br />
608 <seealso><a href="../howto/cgi.html">Tutoriel CGI</a></seealso>
612 <name>ScriptAliasMatch</name>
613 <description>Fait correspondre une URL à une zone du système de fichiers
614 en faisant appel aux expressions rationnelles et en désignant la cible
615 comme un script CGI</description>
616 <syntax>ScriptAliasMatch <var>regex</var>
617 <var>chemin fichier</var>|<var>chemin répertoire</var></syntax>
618 <contextlist><context>server config</context><context>virtual host</context>
622 <p>Cette directive est équivalente à la directive <directive
623 module="mod_alias">ScriptAlias</directive>, mais fait appel aux
624 <glossary ref="regex">expressions rationnelles</glossary>, à la
625 place d'une simple mise en correspondance de préfixe. L'expression
626 rationnelle fournie est mise en correspondance avec le chemin URL,
627 et si elle correspond, le serveur va substituer toute partie de
628 chemin entre parenthèses dans la chaîne spécifiée et l'utiliser
629 comme nom de fichier. Par exemple, pour activer le répertoire
630 standard <code>/cgi-bin</code>, on peut utiliser :</p>
632 <highlight language="config">
633 ScriptAliasMatch ^/cgi-bin(.*) /usr/local/apache/cgi-bin$1
636 <p>Comme dans le cas d'AliasMatch, toute la puissance des <glossary
637 ref="rexex">expressions rationnelles</glossary> peut être mise à
638 contribution. Par exemple, il est possible de construire un alias
639 avec une comparaison du modèle du chemin URL insensible à la casse :</p>
641 <highlight language="config">
642 ScriptAliasMatch (?i)^/cgi-bin(.*) /usr/local/apache/cgi-bin$1
645 <p>Les remarques à propos de la différence entre <directive
646 module="mod_alias">Alias</directive> et <directive
647 module="mod_alias">AliasMatch</directive> s'appliquent aussi à la
648 différence entre les directives <directive
649 module="mod_alias">ScriptAlias</directive> et <directive
650 module="mod_alias">ScriptAliasMatch</directive>. Voir la directive
651 <directive module="mod_alias">AliasMatch</directive> pour plus de