<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision : 1055611 -->
+<!-- English Revision : 1042758 -->
<!-- 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
- <code>/icons</code> à cause de l'absence du slash final. Ainsi, si
- le slash final est absent du <var>chemin de l'URL</var>, il doit
- aussi l'être du <var>chemin du fichier</var>.</p>
+ <p>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 />
<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>
</example>
<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>
+ 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
+ <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
+ 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
+ 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>
+ 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>
<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
+ 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
+ <p>Voici la directive AliasMatch qui produira le même résultat que
la directive Alias ci-dessus :</p>
<example>
</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">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>
+ 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/>
<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>. Ceci concerne
- les requêtes avec paramètres <code>GET</code>, comme
+ 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
+ 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 />
+ 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
+ é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://autre.example.com$1.jpg
</example>
- <p>Les remarques à propos de la différence entre <directive
+ <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">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>
+ 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>
</example>
<p>Comme dans le cas d'AliasMatch, toute la puissance des <glossary
- ref="rexex">expressions rationnelles</glossary> peut être mise à
+ 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>
+ 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
+ <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">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>
+ détails.</p>
</usage>
</directivesynopsis>
<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision : 1059356 -->
+<!-- English Revision : 1044738 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
<p>La directive <directive>RewriteBase</directive> définit
explicitement le chemin URL de base (et non le chemin du
répertoire dans le système de fichiers !) pour les réécritures dans un contexte
- de répertoire dont le résultat est la substitution d'un
- chemin relatif. Lorsque vous utilisez une directive <directive
+ de répertoire. Lorsque vous utilisez une directive <directive
module="mod_rewrite">RewriteRule</directive> dans un fichier
<code>.htaccess</code>, <module>mod_rewrite</module> enlève le
préfixe de répertoire local avant d'effectuer le traitement, puis
réécrit ce qui reste de l'URL. Lorsque la réécriture est terminée,
- <module>mod_rewrite</module> ajoute automatiquement le préfixe de
- répertoire local (ou la valeur de la directive
- <directive>RewriteBase</directive> si cette dernière est définie)
- à la chaîne de substitution avant de la remettre à disposition du
- serveur, comme s'il s'agissait de l'URL d'origine.</p>
+ <module>mod_rewrite</module> rajoute automatiquement le préfixe de
+ répertoire local au chemin.</p>
<p>Cette directive est <em>requise</em> pour les réécritures
dans un contexte de répertoire défini via la directive
- <directive module="mod_alias">Alias</directive> lorsque la
- substitution utilise un chemin relatif.</p>
+ <directive module="mod_alias">Alias</directive>.</p>
<p>Si votre chemin URL n'existe pas réellement dans le système de
fichiers, ou ne trouve pas directement sous le répertoire défini
REQUEST_FILENAME<br />
IS_SUBREQ<br />
HTTPS<br />
- REQUEST_SCHEME<br />
</td>
</tr>
</table>
(Cette variable peut être utilisée sans problème, que
<module>mod_ssl</module> soit chargé ou non.</dd>
- <dt><code>REQUEST_SCHEME</code></dt>
-
- <dd>Contient le protocole de la requête (en général
- "http" ou "https"). La valeur peut être modifiée par
- la directive <directive
- module="core">ServerName</directive>.</dd>
-
</dl>
</note>
</li>
</ul>
- <p>Si la <em>chaîne de test</em> contient la valeur spéciale
- <code>expr</code>, <em>expression de comparaison</em> sera traité
- en tant qu'expression rationnelle de type <a
- href="../expr.html">ap_expr</a>.</p>
-
<p>Autres points à connaître ::</p>
<ol>
<li>
</note>
</li>
- <li>
- <p>Si la <em>chaîne de test</em> contient la valeur spéciale
- <code>expr</code>, la <em>chaîne de comparaison</em> sera
- traitée en tant qu'expression rationnelle de type <a
- href="../expr.html">ap_expr</a>.</p>
-
- <p>
- Dans l'exemple ci-dessous, on utilise <code>-strmatch</code>
- pour comparer le <code>REFERER</code> avec le nom d'hôte du
- site afin de bloquer le hotlinking (référencement direct)
- non désiré.
- </p>
-
- <example>
- RewriteCond expr "! %{HTTP_REFERER} -strmatch '*://%{HTTP_HOST}/*'"<br />
- RewriteRule ^/images - [F]
- </example>
- </li>
-
<li>Vous pouvez aussi définir certains drapeaux pour
l'<em>expression de comparaison</em> en ajoutant ces
<strong><code>[</code><em>drapeaux</em><code>]</code></strong>
la dernière règle de réécriture qui a été appliquée.</p>
<note><title>Qu'est-ce qui est comparé ?</title>
+ <p>Le <em>Modèle</em> est d'abord comparé à la partie
+ de l'URL après le nom d'hôte et le port, et avant la chaîne de
+ requête.</p>
+
+ <p>Dans un contexte de répertoire, <em>Modèle</em> est comparé à
+ ce qui reste de l'URL après suppression du préfixe qui a conduit
+ Apache httpd à la règle courante (voir la directive <directive
+ module="mod_rewrite">RewriteBase</directive>). Le préfixe supprimé
+ se termine toujours par un slash, ce qui signifie que la
+ correspondance se fera toujours avec une chaîne qui ne commence
+ pas par un slash. Un <em>Modèle</em> contenant <code>^/</code> ne
+ correspondra jamais dans un contexte de répertoire.</p>
- <p>Dans un contexte de serveur virtuel <directive
- module="core">VirtualHost</directive>, le <em>modèle</em> est tout
- d'abord comparé à la portion de l'URL située entre le nom d'hôte
- éventuellement accompagné du port, et la chaîne de paramètres (par
- exemple "/app1/index.html").</p>
-
- <p>Dans les contextes de répertoire <directive
- module="core">Directory</directive> et htaccess, le
- <em>modèle</em> est tout d'abord comparé au chemin du <em>système
- de fichiers</em>, après suppression du préfixe ou chemin de base
- ayant conduit à la règle <directive>RewriteRule</directive> (par
- exemple "app1/index.html" ou
- "index.html" selon l'endroit où les directives sont définies).</p>
<p>Si vous souhaitez faire une comparaison sur le nom
d'hôte, le port, ou la chaîne de requête, utilisez une
directive <directive module="mod_rewrite">RewriteCond</directive>
comportant respectivement les variables
<code>%{HTTP_HOST}</code>, <code>%{SERVER_PORT}</code>, ou
- <code>%{QUERY_STRING}</code>.</p>
-</note>
-
-<note><title>Réécritures dans un contexte de répertoire</title>
-<ul>
-<li>L'utilisation du moteur de réécriture dans les
-fichiers <a href="../howto/htaccess.html">.htaccess</a> et les sections
-<directive
-type="section" module="core">Directory</directive> est un peu plus
-complexe.</li>
-
-<li>Pour activer le moteur de réécriture dans ces contextes, vous devez
-définir "<code>RewriteEngine On</code>" <strong>et</strong>
-"<code>Options FollowSymLinks</code>". Si l'administrateur a désactivé
-la possibilité de modifier l'option <code>FollowSymLinks</code> au
-niveau du répertoire d'un utilisateur, vous ne pouvez pas utiliser le
-moteur de réécriture. Cette restriction a été instaurée à des fins de
-sécurité.</li>
-
-<li>Lorsqu'on utilise le moteur de réécriture dans un fichier
-<code>.htaccess</code>, le chemin de base du répertoire courant (qui est
-toujours le même pour ce même répertoire) est automatiquement
-<em>supprimé</em> au cours de la comparaison avec le modèle de la règle
-de réécriture, et automatiquement <em>ajouté</em> lorsqu'une
-substitution relative (ne débutant pas par un slash ou un nom de
-protocole) arrive à la fin d'un jeu de règles. Voir la directive
-<directive module="mod_rewrite">RewriteBase</directive> pour plus de
-détails à propos de l'ajout du préfixe après les substitutions
-relatives.</li>
-
-<li>Si vous souhaitez effectuer une comparaison en prenant en compte
-l'intégralité du
-chemin de l'URL dans un contexte de répertoire (htaccess), vous devez
-utiliser la variable <code>%{REQUEST_URI}</code> dans la directive
-<directive>RewriteCond</directive>.</li>
-
-<li>Le prefixe supprimé se termine toujours par un slash, ce qui
-signifie que la comparaison s'effectue avec une chaîne qui ne comporte
-<em>jamais</em> de slash de début. Ainsi, un <em>modèle</em> contenant
-<code>^/</code> ne correspondra jamais dans un contexte de répertoire.</li>
-
-<li>Bien que les règles de réécriture soient permises du point de vue de
-la syntaxe dans les sections <directive type="section"
-module="core">Location</directive> et <directive type="section"
-module="core">Files</directive>, elles n'y sont pas prises en compte, et
-n'y sont à priori d'aucune utilité.</li>
-</ul>
+ <code>%{QUERY_STRING}</code>. Si vous désirez effectuer une
+ correspondance avec l'ensemble du chemin de l'URL dans un contexte
+ de répertoire (htaccess), utilisez la variable
+ <code>%{REQUEST_URI}</code>.</p>
</note>
<p>Pour quelques conseils à propos des <glossary
</td>
</tr>
<tr>
- <td>discardpath|DPI</td>
+ <td>discardpathinfo|DPI</td>
<td>Supprime la partie PATH_INFO de l'URI réécrit. <em><a
href="../rewrite/flags.html#flag_dpi">détails
...</a></em></td>
</tr>
<tr>
- <td>env|E=[!]<em>VAR</em>[:<em>VAL</em>]</td>
+ <td>env|E=<em>VAR</em>[:<em>VAL</em>]</td>
<td>Définit la variable d'environnement <em>VAR</em> (à la valeur
- <em>VAL</em> si elle est fournie). La variante !<em>VAR</em>
- annule la définition de la variable <em>VAR</em>.<em><a
+ <em>VAL</em> si elle est fournie). <em><a
href="../rewrite/flags.html#flag_e">détails ...</a></em></td>
</tr>
<tr>
<p> Ce développement n'est pas effectué si le drapeau <em>PT</em> est
utilisé dans la directive <directive module="mod_rewrite">RewriteRule</directive></p>
+</note>
+
+<note><title>Réécritures dans le contexte de répertoire</title>
+
+<p>Le moteur de réécriture peut être utilisé dans les fichiers <a
+href="../howto/htaccess.html">.htaccess</a>. Pour activer le moteur de
+réécriture pour ces fichiers, vous devez préciser "<code>RewriteEngine
+On</code>" <strong>et</strong> "<code>Options FollowSymLinks</code>"
+doit être activé. Si votre administrateur a interdit la surcharge de
+<code>FollowSymLinks</code> pour un répertoire utilisateur, vous ne
+pouvez pas utiliser le moteur de réécriture. Cette restriction est
+nécessaire pour des raisons de sécurité.</p>
+
+<p>Lorsqu'on utilise le moteur de réécriture dans les fichiers
+<code>.htaccess</code>, le préfixe du répertoire (qui est
+toujours le même pour un répertoire donné) est automatiquement
+<em>supprimé</em> pour la comparaison du modèle et automatiquement
+<em>ajouté</em> une fois la substitution effectuée. Cette fonctionnalité
+est nécessaire pour de nombreux cas de réécriture ; sans elle, vous
+seriez obligé de tenir compte du répertoire parent pour la comparaison,
+ce qui n'est pas toujours
+possible. Il y a une exception : si une chaîne de substitution commence
+par <code>http://</code>, le préfixe du répertoire ne sera
+<strong>pas</strong> ajouté, et une redirection externe (ou le passage
+par un mandataire, si le drapeau <strong>P</strong> est utilisé) sera
+initiée. Voir la directive <directive
+module="mod_rewrite">RewriteBase</directive> pour plus de détails.</p>
+
+<p>Le moteur de réécriture peut aussi être utilisé dans les sections
+<directive type="section" module="core">Directory</directive> avec les
+mêmes règles de comparaison des préfixes que celles qui s'appliquent
+pour les fichiers <code>.htaccess</code>. Cependant, il est en général
+plus simple, pour éviter la complication des substitutions de préfixes,
+de définir les règles de réécriture dans le contexte du serveur
+principal ou des hôtes virtuels, plutôt que dans une section
+<directive type="section" module="core">Directory</directive>.</p>
+
+<p>Bien que du point de vue syntaxique, il soit permis de définir des
+règles de réécriture dans les sections <directive type="section"
+module="core">Location</directive> et <directive
+type="section" module="core">Files</directive>, ce n'est à priori
+d'aucune utilité et n'est pas supporté.</p>
+
</note>
<p>Voici toutes les combinaisons de substitution et leurs