1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
3 <?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
4 <!-- English Revision: 1731335 -->
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">
101 Alias "/foo/bar" "/baz"
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>.<br />
201 Cette syntaxe est disponible à partir de la version 2.4.19 du
202 serveur HTTP Apache.</p>
204 <highlight language="config">
205 <Location "/image">
206 Alias "/ftp/pub/image"
208 <LocationMatch "/error/(?<NUMBER>[0-9]+)">
209 Alias "/usr/local/apache/errors/%{env:MATCH_NUMBER}.html"
210 </LocationMatch>
217 <name>AliasMatch</name>
218 <description>Met en correspondance des URLs avec le système de fichiers
219 en faisant intervenir les expressions rationnelles</description>
220 <syntax>AliasMatch <var>regex</var>
221 <var>chemin fichier</var>|<var>chemin répertoire</var></syntax>
222 <contextlist><context>server config</context><context>virtual host</context>
226 <p>Cette directive est identique à la directive <directive
227 module="mod_alias">Alias</directive>, mais fait appel aux <glossary
228 ref="regex">expressions rationnelles</glossary>, à la place d'une
229 simple mise en correspondance de préfixe. L'expression rationnelle
230 fournie est mise en correspondance avec le chemin URL, et si elle
231 correspond, le serveur va substituer toute partie de chemin
232 correspondant à l'expression entre parenthèses dans la chaîne
233 fournie et l'utiliser comme nom de fichier.
234 Par exemple, pour activer le répertoire <code>/icons</code>, on peut
237 <highlight language="config">
238 AliasMatch "^/icons(.*)" "/usr/local/apache/icons$1$2"
241 <p>Toute la puissance des <glossary ref="regex">expressions
242 rationnelles</glossary> peut être mise à contribution. Par exemple,
243 il est possible de construire un alias avec un modèle de chemin URL
244 insensible à la casse :</p>
246 <highlight language="config">
247 AliasMatch "(?i)^/image(.*)" "/ftp/pub/image$1"
250 <p>Il existe une différence subtile entre <directive
251 module="mod_alias">Alias</directive> et <directive
252 module="mod_alias">AliasMatch</directive> : <directive
253 module="mod_alias">Alias</directive> copie automatiquement toute
254 portion supplémentaire de l'URI située après la partie du modèle qui
255 correspond, à la fin du chemin du fichier de la partie droite, alors
256 que <directive module="mod_alias">AliasMatch</directive> ne le fait
257 pas. Cela signifie qu'il sera préférable dans la plupart des cas de
258 comparer l'expression rationnelle du modèle à la totalité de l'URI
259 de la requête, et d'utiliser les substitutions dans la partie
262 <p>En d'autres termes, le remplacement d'<directive
263 module="mod_alias">Alias</directive> par <directive
264 module="mod_alias">AliasMatch</directive> ne produira pas le même
265 résultat. Au minimum, vous devez ajouter <code>^</code> au début de
266 l'expression rationnelle, <code>(.*)$</code> à sa fin et
267 <code>$1</code> à la fin de la chaîne de remplacement.</p>
269 <p>Par exemple, supposons que nous voulions reformuler cet alias
270 avec AliasMatch :</p>
272 <highlight language="config">
273 Alias "/image/" "/ftp/pub/image/"
276 <p>Le simple remplacement d'Alias par AliasMatch ne produira pas le
277 même résultat. Ainsi, ce qui suit va rediriger toutes les requêtes
278 qui contiennent /image/ vers /ftp/pub/image/ :</p>
280 <highlight language="config">
281 AliasMatch "/image/" "/ftp/pub/image/"
284 <p>Voici la directive AliasMatch qui produira le même résultat que
285 la directive Alias ci-dessus :</p>
287 <highlight language="config">
288 AliasMatch "^/image/(.*)$" "/ftp/pub/image/$1"
291 <p>Bien entendu, il n'y a aucune raison d'utiliser <directive
292 module="mod_alias">AliasMatch</directive> dans le cas où <directive
293 module="mod_alias">Alias</directive> suffit. <directive
294 module="mod_alias">AliasMatch</directive> vous permet d'effectuer
295 des choses beaucoup plus sophistiquées. Par exemple, vous pouvez
296 servir différentes sortes de fichiers à partir de répertoires
299 <highlight language="config">
300 AliasMatch "^/image/(.*)\.jpg$" "/fichiers/jpg.images/$1.jpg"
301 AliasMatch "^/image/(.*)\.gif$" "/fichiers/gif.images/$1.gif"
304 <p>Les éventuels slashes de tête multiples seront supprimés par le
305 serveur avant que les directives de ce module n'effectuent des
306 comparaisons avec le chemin URL de la requête.
313 <name>Redirect</name>
314 <description>Envoie une redirection externe demandant au client
315 d'effectuer une autre requête avec une URL différente</description>
316 <syntax>Redirect [<var>état</var>] [<var>chemin URL</var>]
317 <var>URL</var></syntax>
318 <contextlist><context>server config</context><context>virtual host</context>
319 <context>directory</context><context>.htaccess</context></contextlist>
320 <override>FileInfo</override>
323 <p>La directive Redirect permet de faire correspondre une ancienne
324 URL à une nouvelle en demandant au client d'aller chercher la ressource à
325 une autre localisation.</p>
327 <p>L'ancien <em>chemin URL</em> est un chemin sensible à la casse
328 (décodé à l'aide de caractères %) commençant par un slash. Les
329 chemins relatifs ne sont pas autorisés.</p>
331 <p>La nouvelle <em>URL</em>
332 peut être une URL absolue commençant par un protocole et un nom
333 d'hôte, mais on peut aussi utiliser un chemin URL commençant par un
334 slash, auquel cas le protocole et le nom d'hôte du serveur local
337 <p>Ensuite, toute requête commençant par <em>chemin URL</em> va
338 renvoyer une redirection au client vers l'<em>URL</em> cible. Tout
339 élément de chemin supplémentaire situé en aval du <em>chemin
340 URL</em> sera ajouté à l'URL cible.</p>
342 <highlight language="config">
343 # Redirige vers une URL sur un serveur différent
344 Redirect "/service" "http://foo2.example.com/service"
346 # Redirige vers une URL sur le même serveur
347 Redirect "/one" "/two"
350 <p>Si le client effectue une requête pour l'URL
351 <code>http://example.com/service/foo.txt</code>, il lui sera demandé
352 d'en effectuer une autre pour l'URL
353 <code>http://foo2.example.com/service/foo.txt</code>. Ceci concerne
354 les requêtes avec paramètres <code>GET</code>, comme
355 <code>http://example.com/service/foo.pl?q=23&a=42</code>, qui
356 seront redirigées vers
357 <code>http://foo2.example.com/service/foo.pl?q=23&a=42</code>.
358 Notez que les <code>POST</code>s seront ignorés.<br />
360 éléments de chemin complets sont testés, si bien que l'exemple
361 précédent ne s'appliquera pas à l'URL
362 <code>http://example.com/servicefoo.txt</code>. Pour des mises en
363 correspondance plus complexes utilisant la <a
364 href="../expr.html">syntaxe des expressions</a>, ne spécifiez pas
365 d'argument <var>chemin URL</var> comme décrit ci-dessous. En outre,
366 pour une mise en correspondance en utilisant les expressions
367 rationnelles, veuillez vous reporter à la directive <directive
368 module="mod_alias">RedirectMatch</directive>.</p>
371 <note><title>Note</title>
372 <p>Les directives de redirection ont priorité sur les directives
373 Alias et ScriptAlias, quel que soit leur ordre d'apparition dans le
374 fichier de configuration. Les directives Redirect définies au sein
375 d'une section Location l'emportent sur les directives Redirect et
376 Alias comportant un argument <var>chemin URL</var>.</p></note>
378 <p>Si aucun argument <var>état</var> n'est spécifié, la
379 redirection sera temporaire (code HTTP 302). Le client est alors
380 informé que la ressource a été temporairement déplacée. On peut
381 utiliser l'argument <var>état</var> pour renvoyer d'autres codes HTTP :</p>
386 <dd>Renvoie un code de redirection permanente (301), indiquant
387 que la ressource a été définitivement déplacée.</dd>
391 <dd>Renvoie un code de redirection temporaire (302). C'est le
392 comportement par défaut.</dd>
396 <dd>Renvoie un code "See Other" (303) indiquant que la ressource
397 a été remplacée par une autre.</dd>
401 <dd>Renvoie un code "Gone" (410) indiquant que la ressource a
402 été définitivement supprimée. Lorsque
403 ce code est utilisé, on ne
404 doit pas utiliser l'argument <var>URL</var>.</dd>
407 <p>On peut renvoyer d'autres codes en spécifiant le code
408 numérique comme valeur de l'argument of <var>état</var>.
409 Si le code est compris entre 300 et 399, l'argument
410 <var>URL</var> doit être présent. Si le code
411 n'est <em>pas</em> compris entre 300 et 399, l'argument
412 <var>URL</var> ne doit pas apparaître. Le code doit être un code
413 HTTP valide, connu du serveur HTTP Apache (voir la
414 fonction <code>send_error_response</code> dans
415 http_protocol.c).</p>
417 <highlight language="config">
418 Redirect permanent "/one" "http://example.com/two"
419 Redirect 303 "/three" "http://example.com/other"
422 <p>Si une directive <directive>Redirect</directive> est définie au
423 sein d'une section <directive type="section"
424 module="core">Location</directive> ou <directive type="section"
425 module="core">LocationMatch</directive> et si l'argument <var>chemin
426 URL</var> est omis, l'argument <var>URL</var> sera interprété en
427 utilisant la <a href="../expr.html">syntaxe des expressions</a>.<br />
428 Cette syntaxe est disponible à partir de la version 2.4.19 du
429 serveur HTTP Apache.</p>
431 <highlight language="config">
432 <Location "/one">
433 Redirect permanent "http://example.com/two"
435 <Location "/three">
436 Redirect 303 "http://example.com/other"
438 <LocationMatch "/error/(?<NUMBER>[0-9]+)">
439 Redirect permanent "http://example.com/errors/%{env:MATCH_NUMBER}.html"
440 </LocationMatch>
447 <name>RedirectMatch</name>
448 <description>Envoie une redirection externe faisant appel aux
449 expressions rationnelles pour la mise en correspondance de l'URL
450 courante</description>
451 <syntax>RedirectMatch [<var>état</var>] <var>regex</var>
452 <var>URL</var></syntax>
453 <contextlist><context>server config</context><context>virtual host</context>
454 <context>directory</context><context>.htaccess</context></contextlist>
455 <override>FileInfo</override>
458 <p>Cette directive est identique à la directive <directive
459 module="mod_alias">Redirect</directive>, mais fait appel aux
460 <glossary ref="regex">expressions rationnelles</glossary>, à la
461 place d'une simple mise en correspondance de préfixe. L'expression
462 rationnelle fournie est mise en correspondance avec le chemin URL,
463 et si elle correspond, le serveur va substituer toute partie de
464 chemin correspondante entre parenthèses dans la chaîne spécifiée et
465 l'utiliser comme nom de fichier. Par exemple, pour rediriger tous
466 les fichiers GIF vers les fichiers JPEG de même nom sur un autre
467 serveur, on peut utiliser :</p>
469 <highlight language="config">
470 RedirectMatch "(.*)\.gif$" "http://autre.example.com$1.jpg"
473 <p>Les remarques à propos de la différence entre <directive
474 module="mod_alias">Alias</directive> et <directive
475 module="mod_alias">AliasMatch</directive> s'appliquent aussi à la
476 différence entre les directives <directive
477 module="mod_alias">Redirect</directive> et <directive
478 module="mod_alias">RedirectMatch</directive>. Voir la directive
479 <directive module="mod_alias">AliasMatch</directive> pour plus de
486 <name>RedirectTemp</name>
487 <description>Envoie une redirection externe temporaire demandant au
488 client d'effectuer une nouvelle requête avec une URL
489 différente</description>
490 <syntax>RedirectTemp <var>chemin URL</var> <var>URL</var></syntax>
491 <contextlist><context>server config</context><context>virtual host</context>
492 <context>directory</context><context>.htaccess</context></contextlist>
493 <override>FileInfo</override>
496 <p>Cette directive informe le client que la redirection n'est
497 que temporaire (code 302). Son comportement est exactement le même
498 que celui de <code>Redirect temp</code>.</p>
503 <name>RedirectPermanent</name>
504 <description>Envoie une redirection externe permanente demandant au
505 client d'effectuer une nouvelle requête avec une URL
506 différente</description>
507 <syntax>RedirectPermanent <var>chemin URL</var> <var>URL</var></syntax>
508 <contextlist><context>server config</context><context>virtual host</context>
509 <context>directory</context><context>.htaccess</context></contextlist>
510 <override>FileInfo</override>
513 <p>Cette directive informe le client que la redirection est
514 permanente (code 301). Son comportement est exactement le même
515 que celui de <code>Redirect permanent</code>.</p>
520 <name>ScriptAlias</name>
521 <description>Fait correspondre une URL à une zone du système de fichiers
522 et désigne la cible comme script CGI</description>
523 <syntax>ScriptAlias [<var>chemin URL</var>]
524 <var>chemin fichier</var>|<var>chemin répertoire</var></syntax>
525 <contextlist><context>server config</context><context>virtual host</context>
526 <context>directory</context>
530 <p>La directive <directive>ScriptAlias</directive> présente le même
531 comportement que la directive <directive
532 module="mod_alias">Alias</directive>, mais désigne en plus le
533 répertoire cible comme conteneur de scripts CGI qui seront traitées
534 par le gestionnaire cgi-script du module <module>mod_cgi</module>.
535 Les URLs dont le chemin URL sensible à la casse (décodé avec
536 caractères %) commence par <var>chemin URL</var> seront mises en
537 correspondance avec les scripts dont le chemin commence par le
538 second argument, qui est un chemin complet dans le système de
541 <highlight language="config">
542 ScriptAlias "/cgi-bin/" "/web/cgi-bin/"
545 <p>Une requête pour <code>http://example.com/cgi-bin/foo</code>
546 ferait exécuter par le serveur le script
547 <code>/web/cgi-bin/foo</code>. Cette configuration est sensiblement
549 <highlight language="config">
550 Alias "/cgi-bin/" "/web/cgi-bin/"
551 <Location "/cgi-bin">
552 SetHandler cgi-script
557 <p>Vous pouvez aussi utiliser <directive>ScriptAlias</directive>
558 avec un script ou gestionnaire de votre cru. Par exemple :</p>
560 <highlight language="config">
561 ScriptAlias "/cgi-bin/" "/web/cgi-handler.pl"
564 <p>Dans ce scénario, tous les fichiers faisant l'objet d'une requête
565 dans <code>/cgi-bin/</code> seront traités par le fichier que vous
566 avez spécifié, ce qui vous permet d'utiliser votre propre
567 gestionnaire. Vous pouvez l'utiliser comme enveloppe (wrapper) pour
568 les scripts CGI afin d'ajouter du contenu, ou autre action "maison".</p>
570 <note type="warning">Il est préférable d'éviter de placer les
571 scripts CGI dans l'arborescence de <directive
572 module="core">DocumentRoot</directive> afin d'éviter de révéler
573 accidentellement leur code source lors d'une modification de
574 configuration. On y parvient aisément avec
575 <directive>ScriptAlias</directive> en mettant en correspondance une
576 URL et en désignant la cible comme scripts CGI par la même occasion.
577 Si vous choisissez de placer vos scripts CGI dans un répertoire
578 accessible depuis le web, n'utilisez pas
579 <directive>ScriptAlias</directive>. Utilisez plutôt <directive
580 module="core" type="section">Directory</directive>, <directive
581 module="core">SetHandler</directive>, et <directive
582 module="core">Options</directive> comme dans l'exemple suivant :
583 <highlight language="config">
584 <Directory "/usr/local/apache2/htdocs/cgi-bin">
585 SetHandler cgi-script
589 Ceci est nécessaire car plusieurs <var>chemins URL</var> peuvent
590 correspondre à la même zone du système de fichiers, court-circuitant
591 ainsi la directive <directive>ScriptAlias</directive> et révélant le
592 code source des scripts CGI s'ils ne sont pas protégés par une
593 section <directive module="core">Directory</directive>.</note>
595 <p>Si la directive <directive>ScriptAlias</directive> est définie au
596 sein d'une section <directive type="section"
597 module="core">Location</directive> ou <directive type="section"
598 module="core">LocationMatch</directive> et si l'argument <var>chemin
599 URL</var> est omis, l'argument <var>URL</var> sera interprété en
600 utilisant la <a href="../expr.html">syntaxe des expressions</a>.<br />
601 Cette syntaxe est disponible à partir de la version 2.4.19 du
602 serveur HTTP Apache.</p>
604 <highlight language="config">
605 <Location "/cgi-bin">
606 ScriptAlias "/web/cgi-bin/"
608 <LocationMatch "/cgi-bin/errors/(?<NUMBER>[0-9]+)">
609 ScriptAlias "/web/cgi-bin/errors/%{env:MATCH_NUMBER}.cgi"
610 </LocationMatch>
614 <seealso><a href="../howto/cgi.html">Tutoriel CGI</a></seealso>
618 <name>ScriptAliasMatch</name>
619 <description>Fait correspondre une URL à une zone du système de fichiers
620 en faisant appel aux expressions rationnelles et en désignant la cible
621 comme un script CGI</description>
622 <syntax>ScriptAliasMatch <var>regex</var>
623 <var>chemin fichier</var>|<var>chemin répertoire</var></syntax>
624 <contextlist><context>server config</context><context>virtual host</context>
628 <p>Cette directive est équivalente à la directive <directive
629 module="mod_alias">ScriptAlias</directive>, mais fait appel aux
630 <glossary ref="regex">expressions rationnelles</glossary>, à la
631 place d'une simple mise en correspondance de préfixe. L'expression
632 rationnelle fournie est mise en correspondance avec le chemin URL,
633 et si elle correspond, le serveur va substituer toute partie de
634 chemin entre parenthèses dans la chaîne spécifiée et l'utiliser
635 comme nom de fichier. Par exemple, pour activer le répertoire
636 standard <code>/cgi-bin</code>, on peut utiliser :</p>
638 <highlight language="config">
639 ScriptAliasMatch "^/cgi-bin(.*)" "/usr/local/apache/cgi-bin$1"
642 <p>Comme dans le cas d'AliasMatch, toute la puissance des <glossary
643 ref="rexex">expressions rationnelles</glossary> peut être mise à
644 contribution. Par exemple, il est possible de construire un alias
645 avec une comparaison du modèle du chemin URL insensible à la casse :</p>
647 <highlight language="config">
648 ScriptAliasMatch "(?i)^/cgi-bin(.*)" "/usr/local/apache/cgi-bin$1"
651 <p>Les remarques à propos de la différence entre <directive
652 module="mod_alias">Alias</directive> et <directive
653 module="mod_alias">AliasMatch</directive> s'appliquent aussi à la
654 différence entre les directives <directive
655 module="mod_alias">ScriptAlias</directive> et <directive
656 module="mod_alias">ScriptAliasMatch</directive>. Voir la directive
657 <directive module="mod_alias">AliasMatch</directive> pour plus de