<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision : 770506 -->
+<!-- English Revision : 1031084 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
<modulesynopsis metafile="mod_alias.xml.meta">
<name>mod_alias</name>
-<description>Permet d'atteindre différentes parties du système de
+<description>Permet d'atteindre différentes parties du système de
fichiers depuis l'arborescence des documents du site web, ainsi que la
redirection d'URL</description>
<status>Base</status>
<summary>
<p>Les directives fournies par ce module permettent de manipuler et
- de contrôler les URLs à l'arrivée des requêtes sur le serveur. Les
+ de contrôler les URLs à l'arrivée des requêtes sur le serveur. Les
directives <directive module="mod_alias">Alias</directive> et
<directive module="mod_alias">ScriptAlias</directive> permettent de
- faire correspondre des URLs avec des chemins du système de fichiers.
- Ceci permet de servir des contenus qui ne sont pas situés dans
+ faire correspondre des URLs avec des chemins du système de fichiers.
+ Ceci permet de servir des contenus qui ne sont pas situés dans
l'arborescence de <directive
- module="core">DocumentRoot</directive> comme s'ils y étaient
- réellement. La directive <directive
+ module="core">DocumentRoot</directive> comme s'ils y étaient
+ réellement. La directive <directive
module="mod_alias">ScriptAlias</directive> a pour effet
- supplémentaire de marquer le répertoire cible comme conteneur de
+ supplémentaire de marquer le répertoire cible comme conteneur de
scripts CGI.</p>
<p>Les directives <directive module="mod_alias">Redirect</directive>
- indiquent aux clients qu'ils doivent effectuer une nouvelle requête
- avec une URL différente. Elles sont souvent utilisées lorsqu'une
- ressource a été déplacée.</p>
+ indiquent aux clients qu'ils doivent effectuer une nouvelle requête
+ avec une URL différente. Elles sont souvent utilisées lorsqu'une
+ ressource a été déplacée.</p>
- <p><module>mod_alias</module> est conçu pour traiter des tâches
- simples de manipulation d'URL. Pour des tâches plus complexes comme
- la manipulation des chaînes d'arguments des requêtes, utilisez
- plutôt les outils fournis par le module <module>mod_rewrite</module></p>
+ <p><module>mod_alias</module> est conçu pour traiter des tâches
+ simples de manipulation d'URL. Pour des tâches plus complexes comme
+ la manipulation des chaînes d'arguments des requêtes, utilisez
+ plutôt les outils fournis par le module <module>mod_rewrite</module></p>
</summary>
<seealso><module>mod_rewrite</module></seealso> <seealso><a
href="../urlmapping.html">Mise en correspondance des URLs avec le
-système de fichiers</a></seealso>
+système de fichiers</a></seealso>
<section id="order"><title>Chronologie du traitement</title>
- <p>Les alias et redirections apparaissant dans différents contextes
- sont traités comme les autres directives en respectant les <a
- href="../sections.html#mergin">règles de fusion</a> standards. Par
- contre, ils sont traités selon une chronologie particulière
- lorsqu'ils apparaissent dans le même contexte (par exemple, dans la
- même section <directive type="section"
+ <p>Les alias et redirections apparaissant dans différents contextes
+ sont traités comme les autres directives en respectant les <a
+ href="../sections.html#mergin">règles de fusion</a> standards. Par
+ contre, ils sont traités selon une chronologie particulière
+ lorsqu'ils apparaissent dans le même contexte (par exemple, dans la
+ même section <directive type="section"
module="core">VirtualHost</directive>).</p>
- <p>Premièrement, toutes les redirections sont traitées avant les
- alias, et ainsi, une requête qui correspond à une directive
+ <p>Premièrement, toutes les redirections sont traitées avant les
+ alias, et ainsi, une requête qui correspond à une directive
<directive module="mod_alias">Redirect</directive> ou <directive
module="mod_alias">RedirectMatch</directive> ne se verra jamais
- appliquer d'alias. Deuxièmement, les alias et redirections sont
- traités selon l'ordre dans lequel ils apparaissent dans le fichier
- de configuration, seule la première correspondance étant prise en
+ appliquer d'alias. Deuxièmement, les alias et redirections sont
+ traités selon l'ordre dans lequel ils apparaissent dans le fichier
+ de configuration, seule la première correspondance étant prise en
compte.</p>
<p>Ainsi, lorsqu'une ou plusieurs de ces directives s'appliquent au
- même sous-répertoire, vous devez classer les chemins du plus précis
- au moins précis afin que toutes les directives puissent
- éventuellement s'appliquer, comme dans l'exemple suivant :</p>
+ même sous-répertoire, vous devez classer les chemins du plus précis
+ au moins précis afin que toutes les directives puissent
+ éventuellement s'appliquer, comme dans l'exemple suivant :</p>
<example>
Alias /foo/bar /baz<br />
Alias /foo /gaq
</example>
- <p>Si l'ordre des directives était inversé, la directive <directive
+ <p>Si l'ordre des directives était inversé, la directive <directive
module="mod_alias">Alias</directive> ayant pour argument
- <code>/foo</code> serait toujours appliquée avant la directive
+ <code>/foo</code> serait toujours appliquée avant la directive
<directive module="mod_alias">Alias</directive> ayant pour argument
- <code>/foo/bar</code>, et cette dernière serait toujours
- ignorée.</p>
+ <code>/foo/bar</code>, et cette dernière serait toujours
+ ignorée.</p>
</section>
<directivesynopsis>
<name>Alias</name>
-<description>Met en correspondance des URLs avec des chemins du système
+<description>Met en correspondance des URLs avec des chemins du système
de fichiers</description>
<syntax>Alias <var>chemin URL</var>
-<var>chemin fichier</var>|<var>chemin répertoire</var></syntax>
+<var>chemin fichier</var>|<var>chemin répertoire</var></syntax>
<contextlist><context>server config</context><context>virtual host</context>
</contextlist>
<usage>
<p>La directive <directive>Alias</directive> permet de stocker des
- documents (destinés à être servis) dans des zones du système de
- fichiers situées en dehors de l'arborescence du site web <directive
+ documents (destinés à être servis) dans des zones du système de
+ fichiers situées en dehors de l'arborescence du site web <directive
module="core">DocumentRoot</directive>. Les URLs dont le chemin
- (décodé avec caractères %) commence par <var>chemin URL</var> seront
+ (décodé avec caractères %) commence par <var>chemin URL</var> seront
mises en correspondance avec des fichiers locaux dont le chemin
- commence par <var>chemin répertoire</var>. Le <var>chemin URL</var>
- est sensible à la casse, même sur les systèmes de fichiers
- insensibles à la casse.</p>
+ commence par <var>chemin répertoire</var>. Le <var>chemin URL</var>
+ est sensible à la casse, même sur les systèmes de fichiers
+ insensibles à la casse.</p>
<example><title>Exemple :</title>
Alias /image /ftp/pub/image
</example>
- <p>Une requête pour <code>http://myserver/image/foo.gif</code> fera
+ <p>Une requête pour <code>http://myserver/image/foo.gif</code> fera
renvoyer par le serveur le fichier
- <code>/ftp/pub/image/foo.gif</code>. Seuls les éléments de chemin
- complets sont testés ; ainsi l'alias précédent ne conviendra pas
- pour une requête du style <code>http://myserver/imagefoo.gif</code>.
+ <code>/ftp/pub/image/foo.gif</code>. Seuls les éléments de chemin
+ complets sont testés ; ainsi l'alias précédent ne conviendra pas
+ pour une requête du style <code>http://myserver/imagefoo.gif</code>.
Pour des mises en correspondance plus complexes faisant intervenir
- les expressions rationnelles, veuillez vous reporter à la directive
+ les expressions rationnelles, veuillez vous reporter à la directive
<directive module="mod_alias">AliasMatch</directive>.</p>
<p>Notez que si vous ajoutez un slash de fin au <var>chemin
URL</var>, vous devrez aussi ajouter un slash de fin au chemin de la
- requête. Autrement dit, si vous définissez</p>
+ requête. Autrement dit, si vous définissez</p>
<dl><dd><code>Alias /icons/ /usr/local/apache/icons/</code></dd></dl>
- <p>l'alias précédent ne s'appliquera pas à l'url
+ <p>l'alias précédent ne s'appliquera pas à l'url
<code>/icons</code>.</p>
- <p>Notez qu'il pourra s'avérer nécessaire de définir des sections
+ <p>Notez qu'il pourra s'avérer nécessaire de définir des sections
<directive type="section" module="core">Directory</directive>
- supplémentaires qui couvriront la <em>destination</em> des alias.
+ supplémentaires qui couvriront la <em>destination</em> des alias.
Le traitement des alias intervenant avant le traitement des sections
<directive type="section" module="core">Directory</directive>,
- seules les cibles des alias sont affectées (Notez cependant
+ seules les cibles des alias sont affectées (Notez cependant
que les sections <directive type="section"
- module="core">Location</directive> sont traitées avant les alias, et
+ module="core">Location</directive> sont traitées avant les alias, et
s'appliqueront donc).</p>
- <p>En particulier, si vous créez un alias ayant pour cible un
- répertoire situé en dehors de l'arborescence de votre site web
+ <p>En particulier, si vous créez un alias ayant pour cible un
+ répertoire situé en dehors de l'arborescence de votre site web
<directive module="core">DocumentRoot</directive>, vous devrez
- probablement permettre explicitement l'accès à ce répertoire.</p>
+ probablement permettre explicitement l'accès à ce répertoire.</p>
<example><title>Exemple :</title>
Alias /image /ftp/pub/image<br />
<Directory /ftp/pub/image><br />
<indent>
- Order allow,deny<br />
- Allow from all<br />
+ Require all granted<br />
</indent>
</Directory>
</example>
<directivesynopsis>
<name>AliasMatch</name>
-<description>Met en correspondance des URLs avec le système de fichiers
+<description>Met en correspondance des URLs avec le système de fichiers
en faisant intervenir les expressions rationnelles</description>
<syntax>AliasMatch <var>regex</var>
-<var>chemin fichier</var>|<var>chemin répertoire</var></syntax>
+<var>chemin fichier</var>|<var>chemin répertoire</var></syntax>
<contextlist><context>server config</context><context>virtual host</context>
</contextlist>
<usage>
- <p>Cette directive est identique à la directive <directive
+ <p>Cette directive est identique à la directive <directive
module="mod_alias">Alias</directive>, mais fait appel aux <glossary
- ref="regex">expressions rationnelles</glossary>, à la place d'une
- simple mise en correspondance de préfixe. L'expression rationnelle
+ ref="regex">expressions rationnelles</glossary>, à la place d'une
+ simple mise en correspondance de préfixe. L'expression rationnelle
fournie est mise en correspondance avec le chemin URL, et si elle
correspond, le serveur va substituer toute partie de chemin
- correspondant à l'expression entre parenthèses dans la chaîne
+ correspondant à l'expression entre parenthèses dans la chaîne
fournie et l'utiliser comme nom de fichier.
- Par exemple, pour activer le répertoire <code>/icons</code>, on peut
+ Par exemple, pour activer le répertoire <code>/icons</code>, on peut
utiliser :</p>
<example>
AliasMatch ^/icons(.*) /usr/local/apache/icons$1
</example>
- <p>On peut aussi construire un alias qui met en correspondance le
- chemin URL sans tenir compte de la casse :</p>
+ <p>Toute la puissance des <glossary ref="regex">expressions
+ rationnelles</glossary> peut être mise à contribution. Par exemple,
+ il est possible de construire un alias avec un modèle de chemin URL
+ insensible à la casse :</p>
<example>
AliasMatch (?i)^/image(.*) /ftp/pub/image$1
</example>
+ <p>Il existe une différence subtile entre <directive
+ module="mod_alias">Alias</directive> et <directive
+ module="mod_alias">AliasMatch</directive> : <directive
+ module="mod_alias">Alias</directive> copie automatiquement toute
+ portion supplémentaire de l'URI située après la partie du modèle qui
+ correspond, à la fin du chemin du fichier de la partie droite, alors
+ que <directive module="mod_alias">AliasMatch</directive> ne le fait
+ pas. Cela signifie qu'il sera préférable dans la plupart des cas de
+ comparer l'expression rationnelle du modèle à la totalité de l'URI
+ de la requête, et d'utiliser les substitutions dans la partie
+ droite.</p>
+
+ <p>En d'autres termes, le remplacement d'<directive
+ module="mod_alias">Alias</directive> par <directive
+ module="mod_alias">AliasMatch</directive> ne produira pas le même
+ résultat. Au minimum, vous devez ajouter <code>^</code> au début de
+ l'expression rationnelle, <code>(.*)$</code> à sa fin et
+ <code>$1</code> à la fin de la chaîne de remplacement.</p>
+
+ <p>Par exemple, supposons que nous voulions reformuler cet alias
+ avec AliasMatch :</p>
+
+ <example>
+ Alias /image/ /ftp/pub/image/
+ </example>
+
+ <p>Le simple remplacement d'Alias par AliasMatch ne produira pas le
+ même résultat. Ainsi, ce qui suit va rediriger toutes les requêtes
+ qui contiennent /image/ vers /ftp/pub/image/ :</p>
+
+ <example>
+ AliasMatch /image/ /ftp/pub/image/
+ </example>
+
+ <p>Voici la directive AliasMatch qui produira le même résultat que
+ la directive Alias ci-dessus :</p>
+
+ <example>
+ AliasMatch ^/image/(.*)$ /ftp/pub/image/$1
+ </example>
+
+ <p>Bien entendu, il n'y a aucune raison d'utiliser <directive
+ module="mod_alias">AliasMatch</directive> dans le cas où <directive
+ module="mod_alias">Alias</directive> suffit. <directive
+ module="mod_alias">AliasMatch</directive> vous permet d'effectuer
+ des choses beaucoup plus sophistiquées. Par exemple, vous pouvez
+ servir différentes sortes de fichiers à partir de répertoires
+ différents :</p>
+
+ <example>
+ AliasMatch ^/image/(.*)\.jpg$ /fichiers/jpg.images/$1.jpg<br/>
+ AliasMatch ^/image/(.*)\.gif$ /fichiers/gif.images/$1.gif
+ </example>
+
</usage>
</directivesynopsis>
<directivesynopsis>
<name>Redirect</name>
<description>Envoie une redirection externe demandant au client
-d'effectuer une autre requête avec une URL différente</description>
+d'effectuer une autre requête avec une URL différente</description>
<syntax>Redirect [<var>statut</var>] <var>chemin URL</var>
<var>URL</var></syntax>
<contextlist><context>server config</context><context>virtual host</context>
<usage>
<p>La directive Redirect permet de faire correspondre une ancienne
- URL à une nouvelle en demandant au client d'aller chercher la ressource à
+ URL à une nouvelle en demandant au client d'aller chercher la ressource à
une autre localisation.</p>
- <p>L'ancien <em>chemin URL</em> est un chemin sensible à la casse
- (décodé à l'aide de caractères %) commençant par un slash. Les
- chemins relatifs ne sont pas autorisés.</p>
+ <p>L'ancien <em>chemin URL</em> est un chemin sensible à la casse
+ (décodé à l'aide de caractères %) commençant par un slash. Les
+ chemins relatifs ne sont pas autorisés.</p>
<p>La nouvelle <em>URL</em>
- peut être une URL absolue commençant par un protocole et un nom
- d'hôte, mais on peut aussi utiliser un chemin URL commençant par un
- slash, auquel cas le protocole et le nom d'hôte du serveur local
- seront ajoutés.</p>
+ peut être une URL absolue commençant par un protocole et un nom
+ d'hôte, mais on peut aussi utiliser un chemin URL commençant par un
+ slash, auquel cas le protocole et le nom d'hôte du serveur local
+ seront ajoutés.</p>
- <p>Ensuite, toute requête commençant par <em>chemin URL</em> va
+ <p>Ensuite, toute requête commençant par <em>chemin URL</em> va
renvoyer une redirection au client vers l'<em>URL</em> cible. Tout
- élément de chemin supplémentaire situé en aval du <em>chemin
- URL</em> sera ajouté à l'URL cible.</p>
+ élément de chemin supplémentaire situé en aval du <em>chemin
+ URL</em> sera ajouté à l'URL cible.</p>
<example><title>Exemple :</title>
- # Redirige vers une URL sur un serveur différent<br />
+ # Redirige vers une URL sur un serveur différent<br />
Redirect /service http://foo2.example.com/service<br />
<br />
- # Redirige vers une URL sur le même serveur<br />
+ # Redirige vers une URL sur le même serveur<br />
Redirect /one /two
</example>
- <p>Si le client effectue une requête pour l'URL
- <code>http://example.com/service/foo.txt</code>, il lui sera demandé
+ <p>Si le client effectue une requête pour l'URL
+ <code>http://example.com/service/foo.txt</code>, il lui sera demandé
d'en effectuer une autre pour l'URL
- <code>http://foo2.example.com/service/foo.txt</code>. Seuls les
- éléments de chemin complets sont testés, si bien que l'exemple
- précédent ne s'appliquera pas à l'URL
+ <code>http://foo2.example.com/service/foo.txt</code>. Ceci concerne
+ les requêtes avec paramètres <code>GET</code>, comme
+ <code>http://example.com/service/foo.pl?q=23&a=42</code>, qui
+ seront redirigées vers
+ <code>http://foo2.example.com/service/foo.pl?q=23&a=42</code>.
+ Notez que les <code>POST</code>s seront ignorés.<br />
+ Seuls les
+ éléments de chemin complets sont testés, si bien que l'exemple
+ précédent ne s'appliquera pas à l'URL
<code>http://example.com/servicefoo.txt</code>. Pour des mises en
correspondance plus complexes faisant intervenir les expressions
- rationnelles, veuillez vous reporter à la directive <directive
+ rationnelles, veuillez vous reporter à la directive <directive
module="mod_alias">RedirectMatch</directive>.</p>
<note><title>Note</title>
- <p>Les directives de redirection ont priorité sur les directives
+ <p>Les directives de redirection ont priorité sur les directives
Alias et ScriptAlias, quel que soit leur ordre d'apparition dans le
fichier de configuration.</p></note>
- <p>Si aucun argument <var>statut</var> n'est spécifié, la
+ <p>Si aucun argument <var>statut</var> n'est spécifié, la
redirection sera temporaire (statut HTTP 302). Le client est alors
- informé que la ressource a été temporairement déplacée. On peut
+ informé que la ressource a été temporairement déplacée. On peut
utiliser l'argument <var>statut</var> pour renvoyer d'autres codes
de statut HTTP :</p>
<dt>permanent</dt>
<dd>Renvoie un statut de redirection permanente (301), indiquant
- que la ressource a été définitivement déplacée.</dd>
+ que la ressource a été définitivement déplacée.</dd>
<dt>temp</dt>
<dd>Renvoie un statut de redirection temporaire (302). C'est le
- comportement par défaut.</dd>
+ comportement par défaut.</dd>
<dt>seeother</dt>
<dd>Renvoie un statut "See Other" (303) indiquant que la ressource
- a été remplacée par une autre.</dd>
+ a été remplacée par une autre.</dd>
<dt>gone</dt>
<dd>Renvoie un statut "Gone" (410) indiquant que la ressource a
- été définitivement supprimée. Lorsque ce statut est défini, on ne
+ été définitivement supprimée. Lorsque ce statut est défini, on ne
doit pas utiliser l'argument <var>URL</var>.</dd>
</dl>
- <p>On peut renvoyer d'autres codes de statut en spécifiant le code
- de statut numérique comme valeur de l'argument of <var>statut</var>.
+ <p>On peut renvoyer d'autres codes de statut en spécifiant le code
+ de statut numérique comme valeur de l'argument of <var>statut</var>.
Si le code de statut est compris entre 300 et 399, l'argument
- <var>URL</var> doit être présent, sinon il ne doit pas être utilisé.
- Notez que le statut doit être connu du code d'Apache (voir la
+ <var>URL</var> doit être présent, sinon il ne doit pas être utilisé.
+ Notez que le statut doit être connu du code d'Apache (voir la
fonction <code>send_error_response</code> dans
http_protocol.c).</p>
<override>FileInfo</override>
<usage>
- <p>Cette directive est identique à la directive <directive
+ <p>Cette directive est identique à la directive <directive
module="mod_alias">Redirect</directive>, mais fait appel aux
- <glossary ref="regex">expressions rationnelles</glossary>, à la
- place d'une simple mise en correspondance de préfixe. L'expression
+ <glossary ref="regex">expressions rationnelles</glossary>, à la
+ place d'une simple mise en correspondance de préfixe. L'expression
rationnelle fournie est mise en correspondance avec le chemin URL,
et si elle correspond, le serveur va substituer toute partie de
- chemin correspondante entre parenthèses dans la chaîne spécifiée et
+ chemin correspondante entre parenthèses dans la chaîne spécifiée et
l'utiliser comme nom de fichier. Par exemple, pour rediriger tous
- les fichiers GIF vers les fichiers JPEG de même nom sur un autre
+ les fichiers GIF vers les fichiers JPEG de même nom sur un autre
serveur, on peut utiliser :</p>
<example>
RedirectMatch (.*)\.gif$ http://www.autre-serveur.com$1.jpg
</example>
+
+ <p>Les remarques à propos de la différence entre <directive
+ module="mod_alias">Alias</directive> et <directive
+ module="mod_alias">AliasMatch</directive> s'appliquent aussi à la
+ différence entre les directives <directive
+ module="mod_alias">Redirect</directive> et <directive
+ module="mod_alias">RedirectMatch</directive>. Voir la directive
+ <directive module="mod_alias">AliasMatch</directive> pour plus de
+ détails.</p>
+
</usage>
</directivesynopsis>
<directivesynopsis>
<name>RedirectTemp</name>
<description>Envoie une redirection externe temporaire demandant au
-client d'effectuer une nouvelle requête avec une URL
-différente</description>
+client d'effectuer une nouvelle requête avec une URL
+différente</description>
<syntax>RedirectTemp <var>chemin URL</var> <var>URL</var></syntax>
<contextlist><context>server config</context><context>virtual host</context>
<context>directory</context><context>.htaccess</context></contextlist>
<usage>
<p>Cette directive informe le client que la redirection n'est
- que temporaire (statut 302). Son comportement est exactement le même
+ que temporaire (statut 302). Son comportement est exactement le même
que celui de <code>Redirect temp</code>.</p>
</usage>
</directivesynopsis>
<directivesynopsis>
<name>RedirectPermanent</name>
<description>Envoie une redirection externe permanente demandant au
-client d'effectuer une nouvelle requête avec une URL
-différente</description>
+client d'effectuer une nouvelle requête avec une URL
+différente</description>
<syntax>RedirectPermanent <var>chemin URL</var> <var>URL</var></syntax>
<contextlist><context>server config</context><context>virtual host</context>
<context>directory</context><context>.htaccess</context></contextlist>
<usage>
<p>Cette directive informe le client que la redirection est
- permanente (statut 301). Son comportement est exactement le même
+ permanente (statut 301). Son comportement est exactement le même
que celui de <code>Redirect permanent</code>.</p>
</usage>
</directivesynopsis>
<directivesynopsis>
<name>ScriptAlias</name>
-<description>Fait correspondre une URL à une zone du système de fichiers
-et désigne la cible comme script CGI</description>
+<description>Fait correspondre une URL à une zone du système de fichiers
+et désigne la cible comme script CGI</description>
<syntax>ScriptAlias <var>chemin URL</var>
-<var>chemin fichier</var>|<var>chemin répertoire</var></syntax>
+<var>chemin fichier</var>|<var>chemin répertoire</var></syntax>
<contextlist><context>server config</context><context>virtual host</context>
</contextlist>
<usage>
- <p>La directive <directive>ScriptAlias</directive> présente le même
+ <p>La directive <directive>ScriptAlias</directive> présente le même
comportement que la directive <directive
- module="mod_alias">Alias</directive>, mais désigne en plus le
- répertoire cible comme conteneur de scripts CGI qui seront traitées
+ module="mod_alias">Alias</directive>, mais désigne en plus le
+ répertoire cible comme conteneur de scripts CGI qui seront traitées
par le gestionnaire cgi-script du module <module>mod_cgi</module>.
- Les URLs dont le chemin URL sensible à la casse (décodé avec
- caractères %) commence par <var>chemin URL</var> seront mises en
+ Les URLs dont le chemin URL sensible à la casse (décodé avec
+ caractères %) commence par <var>chemin URL</var> seront mises en
correspondance avec les scripts dont le chemin commence par le
- second argument, qui est un chemin complet dans le système de
+ second argument, qui est un chemin complet dans le système de
fichiers local.</p>
<example><title>Exemple :</title>
ScriptAlias /cgi-bin/ /web/cgi-bin/
</example>
- <p>Une requête pour <code>http://mon-serveur/cgi-bin/foo</code>
- ferait exécuter par le serveur le script
+ <p>Une requête pour <code>http://mon-serveur/cgi-bin/foo</code>
+ ferait exécuter par le serveur le script
<code>/web/cgi-bin/foo</code>. Cette configuration est sensiblement
- équivalente à :</p>
+ équivalente à :</p>
<example>
Alias /cgi-bin/ /web/cgi-bin/<br />
<Location /cgi-bin ><br />
ScriptAlias /cgi-bin/ /web/cgi-handler.pl
</example>
- <p>Dans ce scénario, tous les fichiers faisant l'objet d'une requête
- dans <code>/cgi-bin/</code> seront traités par le fichier que vous
- avez spécifié, ce qui vous permet d'utiliser votre propre
+ <p>Dans ce scénario, tous les fichiers faisant l'objet d'une requête
+ dans <code>/cgi-bin/</code> seront traités par le fichier que vous
+ avez spécifié, ce qui vous permet d'utiliser votre propre
gestionnaire. Vous pouvez l'utiliser comme enveloppe (wrapper) pour
les scripts CGI afin d'ajouter du contenu, ou autre action "maison".</p>
- <note type="warning">Il est préférable d'éviter de placer les
+ <note type="warning">Il est préférable d'éviter de placer les
scripts CGI dans l'arborescence de <directive
- module="core">DocumentRoot</directive> afin d'éviter de révéler
+ module="core">DocumentRoot</directive> afin d'éviter de révéler
accidentellement leur code source lors d'une modification de
- configuration. On y parvient aisément avec
+ configuration. On y parvient aisément avec
<directive>ScriptAlias</directive> en mettant en correspondance une
- URL et en désignant la cible comme scripts CGI par la même occasion.
- Si vous choisissez de placer vos scripts CGI dans un répertoire
+ URL et en désignant la cible comme scripts CGI par la même occasion.
+ Si vous choisissez de placer vos scripts CGI dans un répertoire
accessible depuis le web, n'utilisez pas
- <directive>ScriptAlias</directive>. Utilisez plutôt <directive
+ <directive>ScriptAlias</directive>. Utilisez plutôt <directive
module="core" type="section">Directory</directive>, <directive
module="core">SetHandler</directive>, et <directive
module="core">Options</directive> comme dans l'exemple suivant :
</indent>
</Directory>
</example>
- Ceci est nécessaire car plusieurs <var>chemins URL</var> peuvent
- correspondre à la même zone du système de fichiers, court-circuitant
- ainsi la directive <directive>ScriptAlias</directive> et révélant le
- code source des scripts CGI s'ils ne sont pas protégés par une
+ Ceci est nécessaire car plusieurs <var>chemins URL</var> peuvent
+ correspondre à la même zone du système de fichiers, court-circuitant
+ ainsi la directive <directive>ScriptAlias</directive> et révélant le
+ code source des scripts CGI s'ils ne sont pas protégés par une
section <directive module="core">Directory</directive>.</note>
</usage>
<directivesynopsis>
<name>ScriptAliasMatch</name>
-<description>Fait correspondre une URL à une zone du système de fichiers
-en faisant appel aux expressions rationnelles et en désignant la cible
+<description>Fait correspondre une URL à une zone du système de fichiers
+en faisant appel aux expressions rationnelles et en désignant la cible
comme un script CGI</description>
<syntax>ScriptAliasMatch <var>regex</var>
-<var>chemin fichier</var>|<var>chemin répertoire</var></syntax>
+<var>chemin fichier</var>|<var>chemin répertoire</var></syntax>
<contextlist><context>server config</context><context>virtual host</context>
</contextlist>
<usage>
- <p>Cette directive est équivalente à la directive <directive
+ <p>Cette directive est équivalente à la directive <directive
module="mod_alias">ScriptAlias</directive>, mais fait appel aux
- <glossary ref="regex">expressions rationnelles</glossary>, à la
- place d'une simple mise en correspondance de préfixe. L'expression
+ <glossary ref="regex">expressions rationnelles</glossary>, à la
+ place d'une simple mise en correspondance de préfixe. L'expression
rationnelle fournie est mise en correspondance avec le chemin URL,
et si elle correspond, le serveur va substituer toute partie de
- chemin entre parenthèses dans la chaîne spécifiée et l'utiliser
- comme nom de fichier. Par exemple, pour activer le répertoire
+ chemin entre parenthèses dans la chaîne spécifiée et l'utiliser
+ comme nom de fichier. Par exemple, pour activer le répertoire
standard <code>/cgi-bin</code>, on peut utiliser :</p>
<example>
ScriptAliasMatch ^/cgi-bin(.*) /usr/local/apache/cgi-bin$1
</example>
+
+ <p>Comme dans le cas d'AliasMatch, toute la puissance des <glossary
+ ref="rexex">expressions rationnelles</glossary> peut être mise à
+ contribution. Par exemple, il est possible de construire un alias
+ avec une comparaison du modèle du chemin URL insensible à la casse :</p>
+
+ <example>
+ ScriptAliasMatch (?i)^/cgi-bin(.*) /usr/local/apache/cgi-bin$1
+ </example>
+
+ <p>Les remarques à propos de la différence entre <directive
+ module="mod_alias">Alias</directive> et <directive
+ module="mod_alias">AliasMatch</directive> s'appliquent aussi à la
+ différence entre les directives <directive
+ module="mod_alias">ScriptAlias</directive> et <directive
+ module="mod_alias">ScriptAliasMatch</directive>. Voir la directive
+ <directive module="mod_alias">AliasMatch</directive> pour plus de
+ détails.</p>
+
</usage>
</directivesynopsis>