0066eddda7203f6345b56f77d146a759298dc635gryzor<!DOCTYPE modulesynopsis SYSTEM "/style/modulesynopsis.dtd">
0066eddda7203f6345b56f77d146a759298dc635gryzor<?xml-stylesheet type="text/xsl" href="/style/manual.fr.xsl"?>
dbf005d9197b5918404a963cb0e9caf410c7059flgentis<!-- English Revision : 1673945 -->
0066eddda7203f6345b56f77d146a759298dc635gryzor<!-- French translation : Lucien GENTIS -->
0066eddda7203f6345b56f77d146a759298dc635gryzor<!-- Reviewed by : Vincent Deffontaines -->
0066eddda7203f6345b56f77d146a759298dc635gryzor Licensed to the Apache Software Foundation (ASF) under one or more
0066eddda7203f6345b56f77d146a759298dc635gryzor contributor license agreements. See the NOTICE file distributed with
0066eddda7203f6345b56f77d146a759298dc635gryzor this work for additional information regarding copyright ownership.
0066eddda7203f6345b56f77d146a759298dc635gryzor The ASF licenses this file to You under the Apache License, Version 2.0
0066eddda7203f6345b56f77d146a759298dc635gryzor (the "License"); you may not use this file except in compliance with
0066eddda7203f6345b56f77d146a759298dc635gryzor the License. You may obtain a copy of the License at
0066eddda7203f6345b56f77d146a759298dc635gryzor Unless required by applicable law or agreed to in writing, software
0066eddda7203f6345b56f77d146a759298dc635gryzor distributed under the License is distributed on an "AS IS" BASIS,
0066eddda7203f6345b56f77d146a759298dc635gryzor WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
0066eddda7203f6345b56f77d146a759298dc635gryzor See the License for the specific language governing permissions and
0066eddda7203f6345b56f77d146a759298dc635gryzor limitations under the License.
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis<description>Permet d'atteindre différentes parties du système de
0066eddda7203f6345b56f77d146a759298dc635gryzorfichiers depuis l'arborescence des documents du site web, ainsi que la
0066eddda7203f6345b56f77d146a759298dc635gryzorredirection d'URL</description>
0066eddda7203f6345b56f77d146a759298dc635gryzor <p>Les directives fournies par ce module permettent de manipuler et
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis de contrôler les URLs à l'arrivée des requêtes sur le serveur. Les
0066eddda7203f6345b56f77d146a759298dc635gryzor directives <directive module="mod_alias">Alias</directive> et
0066eddda7203f6345b56f77d146a759298dc635gryzor <directive module="mod_alias">ScriptAlias</directive> permettent de
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis faire correspondre des URLs avec des chemins du système de fichiers.
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis Ceci permet de servir des contenus qui ne sont pas situés dans
0066eddda7203f6345b56f77d146a759298dc635gryzor l'arborescence de <directive
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis module="core">DocumentRoot</directive> comme s'ils y étaient
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis réellement. La directive <directive
0066eddda7203f6345b56f77d146a759298dc635gryzor module="mod_alias">ScriptAlias</directive> a pour effet
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis supplémentaire de marquer le répertoire cible comme conteneur de
0066eddda7203f6345b56f77d146a759298dc635gryzor scripts CGI.</p>
0066eddda7203f6345b56f77d146a759298dc635gryzor <p>Les directives <directive module="mod_alias">Redirect</directive>
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis indiquent aux clients qu'ils doivent effectuer une nouvelle requête
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis avec une URL différente. Elles sont souvent utilisées lorsqu'une
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis ressource a été déplacée.</p>
e1f52108da39e2914eb8941eca6257f6588e07b0lgentis module="mod_alias">ScriptAlias</directive> ou <directive
e1f52108da39e2914eb8941eca6257f6588e07b0lgentis module="mod_alias">Redirect</directive> sont définies au sein d'une
e1f52108da39e2914eb8941eca6257f6588e07b0lgentis section <directive type="section" module="core">Location</directive>
e1f52108da39e2914eb8941eca6257f6588e07b0lgentis module="core">LocationMatch</directive>, vous pouvez utiliser la <a
e1f52108da39e2914eb8941eca6257f6588e07b0lgentis href="/expr.html">syntaxe des expressions</a> pour manipuler l'URL
e1f52108da39e2914eb8941eca6257f6588e07b0lgentis ou le chemin de destination.
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis <p><module>mod_alias</module> est conçu pour traiter des tâches
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis simples de manipulation d'URL. Pour des tâches plus complexes comme
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis la manipulation des chaînes d'arguments des requêtes, utilisez
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis plutôt les outils fournis par le module <module>mod_rewrite</module></p>
0066eddda7203f6345b56f77d146a759298dc635gryzor<seealso><module>mod_rewrite</module></seealso> <seealso><a
0066eddda7203f6345b56f77d146a759298dc635gryzorhref="/urlmapping.html">Mise en correspondance des URLs avec le
0066eddda7203f6345b56f77d146a759298dc635gryzor<section id="order"><title>Chronologie du traitement</title>
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis <p>Les alias et redirections apparaissant dans différents contextes
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis sont traités comme les autres directives en respectant les <a
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis href="/sections.html#mergin">règles de fusion</a> standards. Par
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis contre, ils sont traités selon une chronologie particulière
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis lorsqu'ils apparaissent dans le même contexte (par exemple, dans la
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis <p>Premièrement, toutes les redirections sont traitées avant les
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis alias, et ainsi, une requête qui correspond à une directive
0066eddda7203f6345b56f77d146a759298dc635gryzor <directive module="mod_alias">Redirect</directive> ou <directive
0066eddda7203f6345b56f77d146a759298dc635gryzor module="mod_alias">RedirectMatch</directive> ne se verra jamais
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis appliquer d'alias. Deuxièmement, les alias et redirections sont
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis traités selon l'ordre dans lequel ils apparaissent dans le fichier
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis de configuration, seule la première correspondance étant prise en
0066eddda7203f6345b56f77d146a759298dc635gryzor compte.</p>
0066eddda7203f6345b56f77d146a759298dc635gryzor <p>Ainsi, lorsqu'une ou plusieurs de ces directives s'appliquent au
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis même sous-répertoire, vous devez classer les chemins du plus précis
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis au moins précis afin que toutes les directives puissent
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis éventuellement s'appliquer, comme dans l'exemple suivant :</p>
dbf005d9197b5918404a963cb0e9caf410c7059flgentisAlias "/foo" "/gaq"
5afb587bf5f22668d06e92e49b4ff0522f1cb79algentis </highlight>
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis <p>Si l'ordre des directives était inversé, la directive <directive
0066eddda7203f6345b56f77d146a759298dc635gryzor module="mod_alias">Alias</directive> ayant pour argument
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis <code>/foo</code> serait toujours appliquée avant la directive
0066eddda7203f6345b56f77d146a759298dc635gryzor <directive module="mod_alias">Alias</directive> ayant pour argument
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis <code>/foo/bar</code>, et cette dernière serait toujours
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis ignorée.</p>
e1f52108da39e2914eb8941eca6257f6588e07b0lgentis module="mod_alias">ScriptAlias</directive> ou <directive
e1f52108da39e2914eb8941eca6257f6588e07b0lgentis module="mod_alias">Redirect</directive> au sein de sections
e1f52108da39e2914eb8941eca6257f6588e07b0lgentis <directive type="section" module="core">Location</directive> ou
e1f52108da39e2914eb8941eca6257f6588e07b0lgentis <directive type="section" module="core">LocationMatch</directive>
e1f52108da39e2914eb8941eca6257f6588e07b0lgentis l'emporte sur d'autres définitions éventuelles de ces mêmes
e1f52108da39e2914eb8941eca6257f6588e07b0lgentis directives au niveau de la configuration générale du serveur.</p>
0066eddda7203f6345b56f77d146a759298dc635gryzor<directivesynopsis>
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis<description>Met en correspondance des URLs avec des chemins du système
0066eddda7203f6345b56f77d146a759298dc635gryzorde fichiers</description>
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis<var>chemin fichier</var>|<var>chemin répertoire</var></syntax>
0066eddda7203f6345b56f77d146a759298dc635gryzor<contextlist><context>server config</context><context>virtual host</context>
0066eddda7203f6345b56f77d146a759298dc635gryzor</contextlist>
0066eddda7203f6345b56f77d146a759298dc635gryzor <p>La directive <directive>Alias</directive> permet de stocker des
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis documents (destinés à être servis) dans des zones du système de
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis fichiers situées en dehors de l'arborescence du site web <directive
0066eddda7203f6345b56f77d146a759298dc635gryzor module="core">DocumentRoot</directive>. Les URLs dont le chemin
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis (décodé avec caractères %) commence par <var>chemin URL</var> seront
0066eddda7203f6345b56f77d146a759298dc635gryzor mises en correspondance avec des fichiers locaux dont le chemin
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis commence par <var>chemin répertoire</var>. Le <var>chemin URL</var>
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis est sensible à la casse, même sur les systèmes de fichiers
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis insensibles à la casse.</p>
5afb587bf5f22668d06e92e49b4ff0522f1cb79algentis </highlight>
ee93e5f676dff5e42f52a2de815f52745f6868b3lgentis <p>Une requête pour <code>http://example.com/image/foo.gif</code> fera
0066eddda7203f6345b56f77d146a759298dc635gryzor renvoyer par le serveur le fichier
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis <code>/ftp/pub/image/foo.gif</code>. Seuls les éléments de chemin
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis complets sont testés ; ainsi l'alias précédent ne conviendra pas
ee93e5f676dff5e42f52a2de815f52745f6868b3lgentis pour une requête du style <code>http://example.com/imagefoo.gif</code>.
0066eddda7203f6345b56f77d146a759298dc635gryzor Pour des mises en correspondance plus complexes faisant intervenir
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis les expressions rationnelles, veuillez vous reporter à la directive
0066eddda7203f6345b56f77d146a759298dc635gryzor <directive module="mod_alias">AliasMatch</directive>.</p>
0066eddda7203f6345b56f77d146a759298dc635gryzor <p>Notez que si vous ajoutez un slash de fin au <var>chemin
0066eddda7203f6345b56f77d146a759298dc635gryzor URL</var>, vous devrez aussi ajouter un slash de fin au chemin de la
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis requête. Autrement dit, si vous définissez</p>
d28e54f867ab1292ce75324d90680396c1d5f47dlgentis </highlight>
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis <p>l'alias précédent ne s'appliquera pas à l'url
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis <code>/icons</code> à cause de l'absence du slash final. Ainsi, si
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis le slash final est absent du <var>chemin de l'URL</var>, il doit
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis aussi l'être du <var>chemin du fichier</var>.</p>
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis <p>Notez qu'il pourra s'avérer nécessaire de définir des sections
0066eddda7203f6345b56f77d146a759298dc635gryzor <directive type="section" module="core">Directory</directive>
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis supplémentaires qui couvriront la <em>destination</em> des alias.
0066eddda7203f6345b56f77d146a759298dc635gryzor Le traitement des alias intervenant avant le traitement des sections
0066eddda7203f6345b56f77d146a759298dc635gryzor <directive type="section" module="core">Directory</directive>,
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis seules les cibles des alias sont affectées (Notez cependant
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis module="core">Location</directive> sont traitées avant les alias, et
0066eddda7203f6345b56f77d146a759298dc635gryzor s'appliqueront donc).</p>
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis <p>En particulier, si vous créez un alias ayant pour cible un
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis répertoire situé en dehors de l'arborescence de votre site web
0066eddda7203f6345b56f77d146a759298dc635gryzor <directive module="core">DocumentRoot</directive>, vous devrez
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis probablement permettre explicitement l'accès à ce répertoire.</p>
5afb587bf5f22668d06e92e49b4ff0522f1cb79algentis Require all granted
5afb587bf5f22668d06e92e49b4ff0522f1cb79algentis</Directory>
5afb587bf5f22668d06e92e49b4ff0522f1cb79algentis </highlight>
e1f52108da39e2914eb8941eca6257f6588e07b0lgentis <p>Le nombre de slashes dans le paramètre <var>chemin URL</var> doit
e1f52108da39e2914eb8941eca6257f6588e07b0lgentis correspondre au nombre de slashes dans le chemin URL de la requête.</p>
e1f52108da39e2914eb8941eca6257f6588e07b0lgentis <p>Si la directive <directive>Alias</directive> est définie au sein
e1f52108da39e2914eb8941eca6257f6588e07b0lgentis module="core">Location</directive> ou <directive type="section"
e1f52108da39e2914eb8941eca6257f6588e07b0lgentis module="core">LocationMatch</directive>, <var>chemin URL</var> est
e1f52108da39e2914eb8941eca6257f6588e07b0lgentis omis et <var>chemin fichier</var> est interprété en utilisant la <a
dbf005d9197b5918404a963cb0e9caf410c7059flgentis<Location "/image">
e1f52108da39e2914eb8941eca6257f6588e07b0lgentis</Location>
dbf005d9197b5918404a963cb0e9caf410c7059flgentis<LocationMatch "/error/(?<NUMBER>[0-9]+)">
dbf005d9197b5918404a963cb0e9caf410c7059flgentis Alias "/usr/local/apache/errors/%{env:MATCH_NUMBER}.html"
e1f52108da39e2914eb8941eca6257f6588e07b0lgentis</LocationMatch>
e1f52108da39e2914eb8941eca6257f6588e07b0lgentis </highlight>
0066eddda7203f6345b56f77d146a759298dc635gryzor</directivesynopsis>
0066eddda7203f6345b56f77d146a759298dc635gryzor<directivesynopsis>
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis<description>Met en correspondance des URLs avec le système de fichiers
0066eddda7203f6345b56f77d146a759298dc635gryzoren faisant intervenir les expressions rationnelles</description>
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis<var>chemin fichier</var>|<var>chemin répertoire</var></syntax>
0066eddda7203f6345b56f77d146a759298dc635gryzor<contextlist><context>server config</context><context>virtual host</context>
0066eddda7203f6345b56f77d146a759298dc635gryzor</contextlist>
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis <p>Cette directive est identique à la directive <directive
0066eddda7203f6345b56f77d146a759298dc635gryzor module="mod_alias">Alias</directive>, mais fait appel aux <glossary
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis ref="regex">expressions rationnelles</glossary>, à la place d'une
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis simple mise en correspondance de préfixe. L'expression rationnelle
0066eddda7203f6345b56f77d146a759298dc635gryzor fournie est mise en correspondance avec le chemin URL, et si elle
0066eddda7203f6345b56f77d146a759298dc635gryzor correspond, le serveur va substituer toute partie de chemin
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis correspondant à l'expression entre parenthèses dans la chaîne
0066eddda7203f6345b56f77d146a759298dc635gryzor fournie et l'utiliser comme nom de fichier.
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis Par exemple, pour activer le répertoire <code>/icons</code>, on peut
0066eddda7203f6345b56f77d146a759298dc635gryzor utiliser :</p>
dbf005d9197b5918404a963cb0e9caf410c7059flgentis AliasMatch "^/icons(.*)" "/usr/local/apache/icons$1$2"
5afb587bf5f22668d06e92e49b4ff0522f1cb79algentis </highlight>
b228078ccfac4cc568b6723f4d1b9a2317d67d5elgentis <p>Toute la puissance des <glossary ref="regex">expressions
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis rationnelles</glossary> peut être mise à contribution. Par exemple,
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis il est possible de construire un alias avec un modèle de chemin URL
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis insensible à la casse :</p>
5afb587bf5f22668d06e92e49b4ff0522f1cb79algentis </highlight>
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis <p>Il existe une différence subtile entre <directive
b228078ccfac4cc568b6723f4d1b9a2317d67d5elgentis module="mod_alias">AliasMatch</directive> : <directive
b228078ccfac4cc568b6723f4d1b9a2317d67d5elgentis module="mod_alias">Alias</directive> copie automatiquement toute
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis portion supplémentaire de l'URI située après la partie du modèle qui
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis correspond, à la fin du chemin du fichier de la partie droite, alors
b228078ccfac4cc568b6723f4d1b9a2317d67d5elgentis que <directive module="mod_alias">AliasMatch</directive> ne le fait
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis pas. Cela signifie qu'il sera préférable dans la plupart des cas de
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis comparer l'expression rationnelle du modèle à la totalité de l'URI
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis de la requête, et d'utiliser les substitutions dans la partie
b228078ccfac4cc568b6723f4d1b9a2317d67d5elgentis droite.</p>
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis module="mod_alias">AliasMatch</directive> ne produira pas le même
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis résultat. Au minimum, vous devez ajouter <code>^</code> au début de
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis l'expression rationnelle, <code>(.*)$</code> à sa fin et
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis <code>$1</code> à la fin de la chaîne de remplacement.</p>
b228078ccfac4cc568b6723f4d1b9a2317d67d5elgentis <p>Par exemple, supposons que nous voulions reformuler cet alias
b228078ccfac4cc568b6723f4d1b9a2317d67d5elgentis avec AliasMatch :</p>
5afb587bf5f22668d06e92e49b4ff0522f1cb79algentis </highlight>
b228078ccfac4cc568b6723f4d1b9a2317d67d5elgentis <p>Le simple remplacement d'Alias par AliasMatch ne produira pas le
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis même résultat. Ainsi, ce qui suit va rediriger toutes les requêtes
5afb587bf5f22668d06e92e49b4ff0522f1cb79algentis </highlight>
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis <p>Voici la directive AliasMatch qui produira le même résultat que
b228078ccfac4cc568b6723f4d1b9a2317d67d5elgentis la directive Alias ci-dessus :</p>
5afb587bf5f22668d06e92e49b4ff0522f1cb79algentis </highlight>
b228078ccfac4cc568b6723f4d1b9a2317d67d5elgentis <p>Bien entendu, il n'y a aucune raison d'utiliser <directive
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis module="mod_alias">AliasMatch</directive> dans le cas où <directive
b228078ccfac4cc568b6723f4d1b9a2317d67d5elgentis module="mod_alias">Alias</directive> suffit. <directive
b228078ccfac4cc568b6723f4d1b9a2317d67d5elgentis module="mod_alias">AliasMatch</directive> vous permet d'effectuer
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis des choses beaucoup plus sophistiquées. Par exemple, vous pouvez
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis servir différentes sortes de fichiers à partir de répertoires
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis différents :</p>
dbf005d9197b5918404a963cb0e9caf410c7059flgentis AliasMatch "^/image/(.*)\.jpg$" "/fichiers/jpg.images/$1.jpg"<br/>
dbf005d9197b5918404a963cb0e9caf410c7059flgentis AliasMatch "^/image/(.*)\.gif$" "/fichiers/gif.images/$1.gif"
5afb587bf5f22668d06e92e49b4ff0522f1cb79algentis </highlight>
e1f52108da39e2914eb8941eca6257f6588e07b0lgentis <p>Les éventuels slashes de tête multiples seront supprimés par le
03978e9e7dcc69fa7d517e8f9ea19b8ee188be93lgentis serveur avant que les directives de ce module n'effectuent des
e1f52108da39e2914eb8941eca6257f6588e07b0lgentis comparaisons avec le chemin URL de la requête.
0066eddda7203f6345b56f77d146a759298dc635gryzor</directivesynopsis>
0066eddda7203f6345b56f77d146a759298dc635gryzor<directivesynopsis>
0066eddda7203f6345b56f77d146a759298dc635gryzor<description>Envoie une redirection externe demandant au client
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentisd'effectuer une autre requête avec une URL différente</description>
e1f52108da39e2914eb8941eca6257f6588e07b0lgentis<syntax>Redirect [<var>état</var>] [<var>chemin URL</var>]
0066eddda7203f6345b56f77d146a759298dc635gryzor<contextlist><context>server config</context><context>virtual host</context>
0066eddda7203f6345b56f77d146a759298dc635gryzor<context>directory</context><context>.htaccess</context></contextlist>
0066eddda7203f6345b56f77d146a759298dc635gryzor <p>La directive Redirect permet de faire correspondre une ancienne
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis URL à une nouvelle en demandant au client d'aller chercher la ressource à
0066eddda7203f6345b56f77d146a759298dc635gryzor une autre localisation.</p>
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis <p>L'ancien <em>chemin URL</em> est un chemin sensible à la casse
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis (décodé à l'aide de caractères %) commençant par un slash. Les
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis chemins relatifs ne sont pas autorisés.</p>
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis peut être une URL absolue commençant par un protocole et un nom
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis d'hôte, mais on peut aussi utiliser un chemin URL commençant par un
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis slash, auquel cas le protocole et le nom d'hôte du serveur local
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis seront ajoutés.</p>
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis <p>Ensuite, toute requête commençant par <em>chemin URL</em> va
0066eddda7203f6345b56f77d146a759298dc635gryzor renvoyer une redirection au client vers l'<em>URL</em> cible. Tout
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis élément de chemin supplémentaire situé en aval du <em>chemin
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis URL</em> sera ajouté à l'URL cible.</p>
5afb587bf5f22668d06e92e49b4ff0522f1cb79algentis# Redirige vers une URL sur un serveur différent
dbf005d9197b5918404a963cb0e9caf410c7059flgentisRedirect "/service" "http://foo2.example.com/service"
5afb587bf5f22668d06e92e49b4ff0522f1cb79algentis# Redirige vers une URL sur le même serveur
dbf005d9197b5918404a963cb0e9caf410c7059flgentisRedirect "/one" "/two"
5afb587bf5f22668d06e92e49b4ff0522f1cb79algentis </highlight>
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis <p>Si le client effectue une requête pour l'URL
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis <code>http://example.com/service/foo.txt</code>, il lui sera demandé
0066eddda7203f6345b56f77d146a759298dc635gryzor d'en effectuer une autre pour l'URL
b228078ccfac4cc568b6723f4d1b9a2317d67d5elgentis <code>http://foo2.example.com/service/foo.txt</code>. Ceci concerne
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis les requêtes avec paramètres <code>GET</code>, comme
b228078ccfac4cc568b6723f4d1b9a2317d67d5elgentis <code>http://example.com/service/foo.pl?q=23&a=42</code>, qui
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis seront redirigées vers
b228078ccfac4cc568b6723f4d1b9a2317d67d5elgentis <code>http://foo2.example.com/service/foo.pl?q=23&a=42</code>.
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis Notez que les <code>POST</code>s seront ignorés.<br />
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis éléments de chemin complets sont testés, si bien que l'exemple
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis précédent ne s'appliquera pas à l'URL
0066eddda7203f6345b56f77d146a759298dc635gryzor <code>http://example.com/servicefoo.txt</code>. Pour des mises en
e1f52108da39e2914eb8941eca6257f6588e07b0lgentis correspondance plus complexes utilisant la <a
e1f52108da39e2914eb8941eca6257f6588e07b0lgentis href="/expr.html">syntaxe des expressions</a>, ne spécifiez pas
e1f52108da39e2914eb8941eca6257f6588e07b0lgentis d'argument <var>chemin URL</var> comme décrit ci-dessous. En outre,
e1f52108da39e2914eb8941eca6257f6588e07b0lgentis pour une mise en correspondance en utilisant les expressions
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis rationnelles, veuillez vous reporter à la directive <directive
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis <p>Les directives de redirection ont priorité sur les directives
0066eddda7203f6345b56f77d146a759298dc635gryzor Alias et ScriptAlias, quel que soit leur ordre d'apparition dans le
e1f52108da39e2914eb8941eca6257f6588e07b0lgentis fichier de configuration. Les directives Redirect définies au sein
e1f52108da39e2914eb8941eca6257f6588e07b0lgentis d'une section Location l'emportent sur les directives Redirect et
e1f52108da39e2914eb8941eca6257f6588e07b0lgentis Alias comportant un argument <var>chemin URL</var>.</p></note>
8194a1b0db760af7e588c1bad92a1d933d39886elgentis <p>Si aucun argument <var>état</var> n'est spécifié, la
8194a1b0db760af7e588c1bad92a1d933d39886elgentis redirection sera temporaire (code HTTP 302). Le client est alors
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis informé que la ressource a été temporairement déplacée. On peut
8194a1b0db760af7e588c1bad92a1d933d39886elgentis utiliser l'argument <var>état</var> pour renvoyer d'autres codes HTTP :</p>
8194a1b0db760af7e588c1bad92a1d933d39886elgentis <dd>Renvoie un code de redirection permanente (301), indiquant
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis que la ressource a été définitivement déplacée.</dd>
8194a1b0db760af7e588c1bad92a1d933d39886elgentis <dd>Renvoie un code de redirection temporaire (302). C'est le
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis comportement par défaut.</dd>
8194a1b0db760af7e588c1bad92a1d933d39886elgentis <dd>Renvoie un code "See Other" (303) indiquant que la ressource
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis a été remplacée par une autre.</dd>
8194a1b0db760af7e588c1bad92a1d933d39886elgentis <dd>Renvoie un code "Gone" (410) indiquant que la ressource a
8194a1b0db760af7e588c1bad92a1d933d39886elgentis été définitivement supprimée. Lorsque
8194a1b0db760af7e588c1bad92a1d933d39886elgentis ce code est utilisé, on ne
8194a1b0db760af7e588c1bad92a1d933d39886elgentis <p>On peut renvoyer d'autres codes en spécifiant le code
8194a1b0db760af7e588c1bad92a1d933d39886elgentis numérique comme valeur de l'argument of <var>état</var>.
8194a1b0db760af7e588c1bad92a1d933d39886elgentis Si le code est compris entre 300 et 399, l'argument
8194a1b0db760af7e588c1bad92a1d933d39886elgentis <var>URL</var> doit être présent. Si le code
8194a1b0db760af7e588c1bad92a1d933d39886elgentis n'est <em>pas</em> compris entre 300 et 399, l'argument
8194a1b0db760af7e588c1bad92a1d933d39886elgentis <var>URL</var> ne doit pas apparaître. Le code doit être un code
8194a1b0db760af7e588c1bad92a1d933d39886elgentis HTTP valide, connu du serveur HTTP Apache (voir la
dbf005d9197b5918404a963cb0e9caf410c7059flgentisRedirect permanent "/one" "http://example.com/two"
dbf005d9197b5918404a963cb0e9caf410c7059flgentisRedirect 303 "/three" "http://example.com/other"
5afb587bf5f22668d06e92e49b4ff0522f1cb79algentis </highlight>
e1f52108da39e2914eb8941eca6257f6588e07b0lgentis <p>Si une directive <directive>Redirect</directive> est définie au
e1f52108da39e2914eb8941eca6257f6588e07b0lgentis module="core">Location</directive> ou <directive type="section"
e1f52108da39e2914eb8941eca6257f6588e07b0lgentis module="core">LocationMatch</directive> et si l'argument <var>chemin
e1f52108da39e2914eb8941eca6257f6588e07b0lgentis URL</var> est omis, l'argument <var>URL</var> sera interprété en
e1f52108da39e2914eb8941eca6257f6588e07b0lgentis utilisant la <a href="/expr.html">syntaxe des expressions</a>.</p>
dbf005d9197b5918404a963cb0e9caf410c7059flgentis<Location "/one">
dbf005d9197b5918404a963cb0e9caf410c7059flgentis Redirect permanent "http://example.com/two"
e1f52108da39e2914eb8941eca6257f6588e07b0lgentis</Location><br />
dbf005d9197b5918404a963cb0e9caf410c7059flgentis<Location "/three">
e1f52108da39e2914eb8941eca6257f6588e07b0lgentis</Location><br />
dbf005d9197b5918404a963cb0e9caf410c7059flgentis<LocationMatch "/error/(?<NUMBER>[0-9]+)">
dbf005d9197b5918404a963cb0e9caf410c7059flgentis Redirect permanent "http://example.com/errors/%{env:MATCH_NUMBER}.html"
e1f52108da39e2914eb8941eca6257f6588e07b0lgentis</LocationMatch><br />
e1f52108da39e2914eb8941eca6257f6588e07b0lgentis </highlight>
0066eddda7203f6345b56f77d146a759298dc635gryzor</directivesynopsis>
0066eddda7203f6345b56f77d146a759298dc635gryzor<directivesynopsis>
0066eddda7203f6345b56f77d146a759298dc635gryzor<description>Envoie une redirection externe faisant appel aux
0066eddda7203f6345b56f77d146a759298dc635gryzorexpressions rationnelles pour la mise en correspondance de l'URL
0066eddda7203f6345b56f77d146a759298dc635gryzorcourante</description>
8194a1b0db760af7e588c1bad92a1d933d39886elgentis<syntax>RedirectMatch [<var>état</var>] <var>regex</var>
0066eddda7203f6345b56f77d146a759298dc635gryzor<contextlist><context>server config</context><context>virtual host</context>
0066eddda7203f6345b56f77d146a759298dc635gryzor<context>directory</context><context>.htaccess</context></contextlist>
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis <p>Cette directive est identique à la directive <directive
0066eddda7203f6345b56f77d146a759298dc635gryzor module="mod_alias">Redirect</directive>, mais fait appel aux
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis <glossary ref="regex">expressions rationnelles</glossary>, à la
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis place d'une simple mise en correspondance de préfixe. L'expression
0066eddda7203f6345b56f77d146a759298dc635gryzor rationnelle fournie est mise en correspondance avec le chemin URL,
0066eddda7203f6345b56f77d146a759298dc635gryzor et si elle correspond, le serveur va substituer toute partie de
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis chemin correspondante entre parenthèses dans la chaîne spécifiée et
0066eddda7203f6345b56f77d146a759298dc635gryzor l'utiliser comme nom de fichier. Par exemple, pour rediriger tous
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis les fichiers GIF vers les fichiers JPEG de même nom sur un autre
0066eddda7203f6345b56f77d146a759298dc635gryzor serveur, on peut utiliser :</p>
dbf005d9197b5918404a963cb0e9caf410c7059flgentis RedirectMatch "(.*)\.gif$" "http://autre.example.com$1.jpg"
5afb587bf5f22668d06e92e49b4ff0522f1cb79algentis </highlight>
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis <p>Les remarques à propos de la différence entre <directive
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis module="mod_alias">AliasMatch</directive> s'appliquent aussi à la
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis différence entre les directives <directive
b228078ccfac4cc568b6723f4d1b9a2317d67d5elgentis module="mod_alias">Redirect</directive> et <directive
b228078ccfac4cc568b6723f4d1b9a2317d67d5elgentis module="mod_alias">RedirectMatch</directive>. Voir la directive
b228078ccfac4cc568b6723f4d1b9a2317d67d5elgentis <directive module="mod_alias">AliasMatch</directive> pour plus de
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis détails.</p>
0066eddda7203f6345b56f77d146a759298dc635gryzor</directivesynopsis>
0066eddda7203f6345b56f77d146a759298dc635gryzor<directivesynopsis>
0066eddda7203f6345b56f77d146a759298dc635gryzor<description>Envoie une redirection externe temporaire demandant au
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentisclient d'effectuer une nouvelle requête avec une URL
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentisdifférente</description>
0066eddda7203f6345b56f77d146a759298dc635gryzor<syntax>RedirectTemp <var>chemin URL</var> <var>URL</var></syntax>
0066eddda7203f6345b56f77d146a759298dc635gryzor<contextlist><context>server config</context><context>virtual host</context>
0066eddda7203f6345b56f77d146a759298dc635gryzor<context>directory</context><context>.htaccess</context></contextlist>
0066eddda7203f6345b56f77d146a759298dc635gryzor <p>Cette directive informe le client que la redirection n'est
8194a1b0db760af7e588c1bad92a1d933d39886elgentis que temporaire (code 302). Son comportement est exactement le même
0066eddda7203f6345b56f77d146a759298dc635gryzor</directivesynopsis>
0066eddda7203f6345b56f77d146a759298dc635gryzor<directivesynopsis>
0066eddda7203f6345b56f77d146a759298dc635gryzor<description>Envoie une redirection externe permanente demandant au
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentisclient d'effectuer une nouvelle requête avec une URL
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentisdifférente</description>
0066eddda7203f6345b56f77d146a759298dc635gryzor<syntax>RedirectPermanent <var>chemin URL</var> <var>URL</var></syntax>
0066eddda7203f6345b56f77d146a759298dc635gryzor<contextlist><context>server config</context><context>virtual host</context>
0066eddda7203f6345b56f77d146a759298dc635gryzor<context>directory</context><context>.htaccess</context></contextlist>
0066eddda7203f6345b56f77d146a759298dc635gryzor <p>Cette directive informe le client que la redirection est
8194a1b0db760af7e588c1bad92a1d933d39886elgentis permanente (code 301). Son comportement est exactement le même
0066eddda7203f6345b56f77d146a759298dc635gryzor</directivesynopsis>
0066eddda7203f6345b56f77d146a759298dc635gryzor<directivesynopsis>
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis<description>Fait correspondre une URL à une zone du système de fichiers
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentiset désigne la cible comme script CGI</description>
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis<var>chemin fichier</var>|<var>chemin répertoire</var></syntax>
0066eddda7203f6345b56f77d146a759298dc635gryzor<contextlist><context>server config</context><context>virtual host</context>
0066eddda7203f6345b56f77d146a759298dc635gryzor</contextlist>
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis <p>La directive <directive>ScriptAlias</directive> présente le même
0066eddda7203f6345b56f77d146a759298dc635gryzor comportement que la directive <directive
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis module="mod_alias">Alias</directive>, mais désigne en plus le
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis répertoire cible comme conteneur de scripts CGI qui seront traitées
0066eddda7203f6345b56f77d146a759298dc635gryzor par le gestionnaire cgi-script du module <module>mod_cgi</module>.
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis Les URLs dont le chemin URL sensible à la casse (décodé avec
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis caractères %) commence par <var>chemin URL</var> seront mises en
0066eddda7203f6345b56f77d146a759298dc635gryzor correspondance avec les scripts dont le chemin commence par le
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis second argument, qui est un chemin complet dans le système de
0066eddda7203f6345b56f77d146a759298dc635gryzor fichiers local.</p>
5afb587bf5f22668d06e92e49b4ff0522f1cb79algentis </highlight>
ee93e5f676dff5e42f52a2de815f52745f6868b3lgentis <p>Une requête pour <code>http://example.com/cgi-bin/foo</code>
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis ferait exécuter par le serveur le script
0066eddda7203f6345b56f77d146a759298dc635gryzor <code>/web/cgi-bin/foo</code>. Cette configuration est sensiblement
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis équivalente à :</p>
dbf005d9197b5918404a963cb0e9caf410c7059flgentis<Location "/cgi-bin">
5afb587bf5f22668d06e92e49b4ff0522f1cb79algentis SetHandler cgi-script
5afb587bf5f22668d06e92e49b4ff0522f1cb79algentis Options +ExecCGI
5afb587bf5f22668d06e92e49b4ff0522f1cb79algentis</Location>
5afb587bf5f22668d06e92e49b4ff0522f1cb79algentis </highlight>
0066eddda7203f6345b56f77d146a759298dc635gryzor <p>Vous pouvez aussi utiliser <directive>ScriptAlias</directive>
0066eddda7203f6345b56f77d146a759298dc635gryzor avec un script ou gestionnaire de votre cru. Par exemple :</p>
5afb587bf5f22668d06e92e49b4ff0522f1cb79algentis </highlight>
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis <p>Dans ce scénario, tous les fichiers faisant l'objet d'une requête
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis dans <code>/cgi-bin/</code> seront traités par le fichier que vous
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis avez spécifié, ce qui vous permet d'utiliser votre propre
0066eddda7203f6345b56f77d146a759298dc635gryzor gestionnaire. Vous pouvez l'utiliser comme enveloppe (wrapper) pour
0066eddda7203f6345b56f77d146a759298dc635gryzor les scripts CGI afin d'ajouter du contenu, ou autre action "maison".</p>
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis <note type="warning">Il est préférable d'éviter de placer les
0066eddda7203f6345b56f77d146a759298dc635gryzor scripts CGI dans l'arborescence de <directive
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis module="core">DocumentRoot</directive> afin d'éviter de révéler
0066eddda7203f6345b56f77d146a759298dc635gryzor accidentellement leur code source lors d'une modification de
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis configuration. On y parvient aisément avec
0066eddda7203f6345b56f77d146a759298dc635gryzor <directive>ScriptAlias</directive> en mettant en correspondance une
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis URL et en désignant la cible comme scripts CGI par la même occasion.
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis Si vous choisissez de placer vos scripts CGI dans un répertoire
0066eddda7203f6345b56f77d146a759298dc635gryzor accessible depuis le web, n'utilisez pas
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis <directive>ScriptAlias</directive>. Utilisez plutôt <directive
0066eddda7203f6345b56f77d146a759298dc635gryzor module="core" type="section">Directory</directive>, <directive
0066eddda7203f6345b56f77d146a759298dc635gryzor module="core">Options</directive> comme dans l'exemple suivant :
dbf005d9197b5918404a963cb0e9caf410c7059flgentis<Directory "/usr/local/apache2/htdocs/cgi-bin">
5afb587bf5f22668d06e92e49b4ff0522f1cb79algentis SetHandler cgi-script
5afb587bf5f22668d06e92e49b4ff0522f1cb79algentis Options ExecCGI
5afb587bf5f22668d06e92e49b4ff0522f1cb79algentis</Directory>
5afb587bf5f22668d06e92e49b4ff0522f1cb79algentis </highlight>
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis Ceci est nécessaire car plusieurs <var>chemins URL</var> peuvent
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis correspondre à la même zone du système de fichiers, court-circuitant
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis ainsi la directive <directive>ScriptAlias</directive> et révélant le
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis code source des scripts CGI s'ils ne sont pas protégés par une
0066eddda7203f6345b56f77d146a759298dc635gryzor section <directive module="core">Directory</directive>.</note>
e1f52108da39e2914eb8941eca6257f6588e07b0lgentis <p>Si la directive <directive>ScriptAlias</directive> est définie au
e1f52108da39e2914eb8941eca6257f6588e07b0lgentis module="core">Location</directive> ou <directive type="section"
e1f52108da39e2914eb8941eca6257f6588e07b0lgentis module="core">LocationMatch</directive> et si l'argument <var>chemin
e1f52108da39e2914eb8941eca6257f6588e07b0lgentis URL</var> est omis, l'argument <var>URL</var> sera interprété en
e1f52108da39e2914eb8941eca6257f6588e07b0lgentis utilisant la <a href="/expr.html">syntaxe des expressions</a>.</p>
dbf005d9197b5918404a963cb0e9caf410c7059flgentis<Location "/cgi-bin">
e1f52108da39e2914eb8941eca6257f6588e07b0lgentis</Location>
dbf005d9197b5918404a963cb0e9caf410c7059flgentis<LocationMatch "/cgi-bin/errors/(?<NUMBER>[0-9]+)">
dbf005d9197b5918404a963cb0e9caf410c7059flgentis ScriptAlias "/web/cgi-bin/errors/%{env:MATCH_NUMBER}.cgi"
e1f52108da39e2914eb8941eca6257f6588e07b0lgentis</LocationMatch><br />
e1f52108da39e2914eb8941eca6257f6588e07b0lgentis </highlight>
0066eddda7203f6345b56f77d146a759298dc635gryzor<seealso><a href="/howto/cgi.html">Tutoriel CGI</a></seealso>
0066eddda7203f6345b56f77d146a759298dc635gryzor</directivesynopsis>
0066eddda7203f6345b56f77d146a759298dc635gryzor<directivesynopsis>
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis<description>Fait correspondre une URL à une zone du système de fichiers
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentisen faisant appel aux expressions rationnelles et en désignant la cible
0066eddda7203f6345b56f77d146a759298dc635gryzorcomme un script CGI</description>
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis<var>chemin fichier</var>|<var>chemin répertoire</var></syntax>
0066eddda7203f6345b56f77d146a759298dc635gryzor<contextlist><context>server config</context><context>virtual host</context>
0066eddda7203f6345b56f77d146a759298dc635gryzor</contextlist>
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis <p>Cette directive est équivalente à la directive <directive
0066eddda7203f6345b56f77d146a759298dc635gryzor module="mod_alias">ScriptAlias</directive>, mais fait appel aux
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis <glossary ref="regex">expressions rationnelles</glossary>, à la
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis place d'une simple mise en correspondance de préfixe. L'expression
0066eddda7203f6345b56f77d146a759298dc635gryzor rationnelle fournie est mise en correspondance avec le chemin URL,
0066eddda7203f6345b56f77d146a759298dc635gryzor et si elle correspond, le serveur va substituer toute partie de
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis chemin entre parenthèses dans la chaîne spécifiée et l'utiliser
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis comme nom de fichier. Par exemple, pour activer le répertoire
0066eddda7203f6345b56f77d146a759298dc635gryzor standard <code>/cgi-bin</code>, on peut utiliser :</p>
dbf005d9197b5918404a963cb0e9caf410c7059flgentis ScriptAliasMatch "^/cgi-bin(.*)" "/usr/local/apache/cgi-bin$1"
5afb587bf5f22668d06e92e49b4ff0522f1cb79algentis </highlight>
b228078ccfac4cc568b6723f4d1b9a2317d67d5elgentis <p>Comme dans le cas d'AliasMatch, toute la puissance des <glossary
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis ref="rexex">expressions rationnelles</glossary> peut être mise à
b228078ccfac4cc568b6723f4d1b9a2317d67d5elgentis contribution. Par exemple, il est possible de construire un alias
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis avec une comparaison du modèle du chemin URL insensible à la casse :</p>
dbf005d9197b5918404a963cb0e9caf410c7059flgentis ScriptAliasMatch "(?i)^/cgi-bin(.*)" "/usr/local/apache/cgi-bin$1"
5afb587bf5f22668d06e92e49b4ff0522f1cb79algentis </highlight>
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis <p>Les remarques à propos de la différence entre <directive
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis module="mod_alias">AliasMatch</directive> s'appliquent aussi à la
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis différence entre les directives <directive
b228078ccfac4cc568b6723f4d1b9a2317d67d5elgentis module="mod_alias">ScriptAlias</directive> et <directive
b228078ccfac4cc568b6723f4d1b9a2317d67d5elgentis module="mod_alias">ScriptAliasMatch</directive>. Voir la directive
b228078ccfac4cc568b6723f4d1b9a2317d67d5elgentis <directive module="mod_alias">AliasMatch</directive> pour plus de
8cf362f300047e397e95acfab0b69ef7a6f3d93clgentis détails.</p>
0066eddda7203f6345b56f77d146a759298dc635gryzor</directivesynopsis>
0066eddda7203f6345b56f77d146a759298dc635gryzor</modulesynopsis>