mirror of
https://github.com/apache/httpd.git
synced 2025-10-31 19:10:37 +03:00
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1226563 13f79535-47bb-0310-9956-ffa450edef68
572 lines
33 KiB
Plaintext
572 lines
33 KiB
Plaintext
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
|
||
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||
This file is generated from xml source: DO NOT EDIT
|
||
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
||
-->
|
||
<title>mod_alias - Serveur Apache HTTP</title>
|
||
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
|
||
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
|
||
<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
|
||
<link href="../images/favicon.ico" rel="shortcut icon" /></head>
|
||
<body>
|
||
<div id="page-header">
|
||
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
|
||
<p class="apache">Serveur Apache HTTP Version 2.5</p>
|
||
<img alt="" src="../images/feather.gif" /></div>
|
||
<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
|
||
<div id="path">
|
||
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div>
|
||
<div id="page-content">
|
||
<div id="preamble"><h1>Module Apache mod_alias</h1>
|
||
<div class="toplang">
|
||
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_alias.html" hreflang="en" rel="alternate" title="English"> en </a> |
|
||
<a href="../fr/mod/mod_alias.html" title="Français"> fr </a> |
|
||
<a href="../ja/mod/mod_alias.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
|
||
<a href="../ko/mod/mod_alias.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
|
||
<a href="../tr/mod/mod_alias.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
|
||
</div>
|
||
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>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</td></tr>
|
||
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr>
|
||
<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>alias_module</td></tr>
|
||
<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_alias.c</td></tr></table>
|
||
<h3>Sommaire</h3>
|
||
|
||
<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
|
||
directives <code class="directive"><a href="#alias">Alias</a></code> et
|
||
<code class="directive"><a href="#scriptalias">ScriptAlias</a></code> 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
|
||
l'arborescence de <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> comme s'ils y étaient
|
||
réellement. La directive <code class="directive"><a href="#scriptalias">ScriptAlias</a></code> a pour effet
|
||
supplémentaire de marquer le répertoire cible comme conteneur de
|
||
scripts CGI.</p>
|
||
|
||
<p>Les directives <code class="directive"><a href="#redirect">Redirect</a></code>
|
||
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><code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> 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 <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code></p>
|
||
|
||
</div>
|
||
<div id="quickview"><h3 class="directives">Directives</h3>
|
||
<ul id="toc">
|
||
<li><img alt="" src="../images/down.gif" /> <a href="#alias">Alias</a></li>
|
||
<li><img alt="" src="../images/down.gif" /> <a href="#aliasmatch">AliasMatch</a></li>
|
||
<li><img alt="" src="../images/down.gif" /> <a href="#redirect">Redirect</a></li>
|
||
<li><img alt="" src="../images/down.gif" /> <a href="#redirectmatch">RedirectMatch</a></li>
|
||
<li><img alt="" src="../images/down.gif" /> <a href="#redirectpermanent">RedirectPermanent</a></li>
|
||
<li><img alt="" src="../images/down.gif" /> <a href="#redirecttemp">RedirectTemp</a></li>
|
||
<li><img alt="" src="../images/down.gif" /> <a href="#scriptalias">ScriptAlias</a></li>
|
||
<li><img alt="" src="../images/down.gif" /> <a href="#scriptaliasmatch">ScriptAliasMatch</a></li>
|
||
</ul>
|
||
<h3>Sujets</h3>
|
||
<ul id="topics">
|
||
<li><img alt="" src="../images/down.gif" /> <a href="#order">Chronologie du traitement</a></li>
|
||
</ul><h3>Voir aussi</h3>
|
||
<ul class="seealso">
|
||
<li><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code></li>
|
||
<li><a href="../urlmapping.html">Mise en correspondance des URLs avec le
|
||
système de fichiers</a></li>
|
||
</ul></div>
|
||
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
|
||
<div class="section">
|
||
<h2><a name="order" id="order">Chronologie du traitement</a></h2>
|
||
|
||
<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 <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>).</p>
|
||
|
||
<p>Premièrement, toutes les redirections sont traitées avant les
|
||
alias, et ainsi, une requête qui correspond à une directive
|
||
<code class="directive"><a href="#redirect">Redirect</a></code> ou <code class="directive"><a href="#redirectmatch">RedirectMatch</a></code> 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
|
||
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>
|
||
|
||
<div class="example"><p><code>
|
||
Alias /foo/bar /baz<br />
|
||
Alias /foo /gaq
|
||
</code></p></div>
|
||
|
||
<p>Si l'ordre des directives était inversé, la directive <code class="directive"><a href="#alias">Alias</a></code> ayant pour argument
|
||
<code>/foo</code> serait toujours appliquée avant la directive
|
||
<code class="directive"><a href="#alias">Alias</a></code> ayant pour argument
|
||
<code>/foo/bar</code>, et cette dernière serait toujours
|
||
ignorée.</p>
|
||
|
||
</div>
|
||
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
|
||
<div class="directive-section"><h2><a name="Alias" id="Alias">Alias</a> <a name="alias" id="alias">Directive</a></h2>
|
||
<table class="directive">
|
||
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Met en correspondance des URLs avec des chemins du système
|
||
de fichiers</td></tr>
|
||
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Alias <var>chemin URL</var>
|
||
<var>chemin fichier</var>|<var>chemin répertoire</var></code></td></tr>
|
||
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
|
||
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
|
||
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_alias</td></tr>
|
||
</table>
|
||
|
||
<p>La directive <code class="directive">Alias</code> 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 <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>. Les URLs dont le chemin
|
||
(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>
|
||
|
||
<div class="example"><h3>Exemple :</h3><p><code>
|
||
Alias /image /ftp/pub/image
|
||
</code></p></div>
|
||
|
||
<p>Une requête pour <code>http://example.com/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://example.com/imagefoo.gif</code>.
|
||
Pour des mises en correspondance plus complexes faisant intervenir
|
||
les expressions rationnelles, veuillez vous reporter à la directive
|
||
<code class="directive"><a href="#aliasmatch">AliasMatch</a></code>.</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>
|
||
|
||
<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>Notez qu'il pourra s'avérer nécessaire de définir des sections
|
||
<code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>
|
||
supplémentaires qui couvriront la <em>destination</em> des alias.
|
||
Le traitement des alias intervenant avant le traitement des sections
|
||
<code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>,
|
||
seules les cibles des alias sont affectées (Notez cependant
|
||
que les sections <code class="directive"><a href="../mod/core.html#location"><Location></a></code> 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
|
||
<code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>, vous devrez
|
||
probablement permettre explicitement l'accès à ce répertoire.</p>
|
||
|
||
<div class="example"><h3>Exemple :</h3><p><code>
|
||
Alias /image /ftp/pub/image<br />
|
||
<Directory /ftp/pub/image><br />
|
||
<span class="indent">
|
||
Require all granted<br />
|
||
</span>
|
||
</Directory>
|
||
</code></p></div>
|
||
|
||
|
||
</div>
|
||
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
|
||
<div class="directive-section"><h2><a name="AliasMatch" id="AliasMatch">AliasMatch</a> <a name="aliasmatch" id="aliasmatch">Directive</a></h2>
|
||
<table class="directive">
|
||
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Met en correspondance des URLs avec le système de fichiers
|
||
en faisant intervenir les expressions rationnelles</td></tr>
|
||
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AliasMatch <var>regex</var>
|
||
<var>chemin fichier</var>|<var>chemin répertoire</var></code></td></tr>
|
||
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
|
||
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
|
||
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_alias</td></tr>
|
||
</table>
|
||
<p>Cette directive est identique à la directive <code class="directive"><a href="#alias">Alias</a></code>, mais fait appel aux <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expressions rationnelles</a>, à 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
|
||
fournie et l'utiliser comme nom de fichier.
|
||
Par exemple, pour activer le répertoire <code>/icons</code>, on peut
|
||
utiliser :</p>
|
||
|
||
<div class="example"><p><code>
|
||
AliasMatch ^/icons(.*) /usr/local/apache/icons$1
|
||
</code></p></div>
|
||
|
||
<p>Toute la puissance des <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expressions
|
||
rationnelles</a> peut être mise à contribution. Par exemple,
|
||
il est possible de construire un alias avec un modèle de chemin URL
|
||
insensible à la casse :</p>
|
||
|
||
<div class="example"><p><code>
|
||
AliasMatch (?i)^/image(.*) /ftp/pub/image$1
|
||
</code></p></div>
|
||
|
||
<p>Il existe une différence subtile entre <code class="directive"><a href="#alias">Alias</a></code> et <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> : <code class="directive"><a href="#alias">Alias</a></code> 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 <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> 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'<code class="directive"><a href="#alias">Alias</a></code> par <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> 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>
|
||
|
||
<div class="example"><p><code>
|
||
Alias /image/ /ftp/pub/image/
|
||
</code></p></div>
|
||
|
||
<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>
|
||
|
||
<div class="example"><p><code>
|
||
AliasMatch /image/ /ftp/pub/image/
|
||
</code></p></div>
|
||
|
||
<p>Voici la directive AliasMatch qui produira le même résultat que
|
||
la directive Alias ci-dessus :</p>
|
||
|
||
<div class="example"><p><code>
|
||
AliasMatch ^/image/(.*)$ /ftp/pub/image/$1
|
||
</code></p></div>
|
||
|
||
<p>Bien entendu, il n'y a aucune raison d'utiliser <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> dans le cas où <code class="directive"><a href="#alias">Alias</a></code> suffit. <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> 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>
|
||
|
||
<div class="example"><p><code>
|
||
AliasMatch ^/image/(.*)\.jpg$ /fichiers/jpg.images/$1.jpg<br />
|
||
AliasMatch ^/image/(.*)\.gif$ /fichiers/gif.images/$1.gif
|
||
</code></p></div>
|
||
|
||
|
||
</div>
|
||
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
|
||
<div class="directive-section"><h2><a name="Redirect" id="Redirect">Redirect</a> <a name="redirect" id="redirect">Directive</a></h2>
|
||
<table class="directive">
|
||
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Envoie une redirection externe demandant au client
|
||
d'effectuer une autre requête avec une URL différente</td></tr>
|
||
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Redirect [<var>état</var>] <var>chemin URL</var>
|
||
<var>URL</var></code></td></tr>
|
||
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
|
||
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
|
||
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
|
||
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_alias</td></tr>
|
||
</table>
|
||
<p>La directive Redirect permet de faire correspondre une ancienne
|
||
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>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>
|
||
|
||
<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>
|
||
|
||
<div class="example"><h3>Exemple :</h3><p><code>
|
||
# 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 />
|
||
Redirect /one /two
|
||
</code></p></div>
|
||
|
||
<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
|
||
<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 <code class="directive"><a href="#redirectmatch">RedirectMatch</a></code>.</p>
|
||
|
||
|
||
<div class="note"><h3>Note</h3>
|
||
<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></div>
|
||
|
||
<p>Si aucun argument <var>état</var> n'est spécifié, la
|
||
redirection sera temporaire (code HTTP 302). Le client est alors
|
||
informé que la ressource a été temporairement déplacée. On peut
|
||
utiliser l'argument <var>état</var> pour renvoyer d'autres codes HTTP :</p>
|
||
|
||
<dl>
|
||
<dt>permanent</dt>
|
||
|
||
<dd>Renvoie un code de redirection permanente (301), indiquant
|
||
que la ressource a été définitivement déplacée.</dd>
|
||
|
||
<dt>temp</dt>
|
||
|
||
<dd>Renvoie un code de redirection temporaire (302). C'est le
|
||
comportement par défaut.</dd>
|
||
|
||
<dt>seeother</dt>
|
||
|
||
<dd>Renvoie un code "See Other" (303) indiquant que la ressource
|
||
a été remplacée par une autre.</dd>
|
||
|
||
<dt>gone</dt>
|
||
|
||
<dd>Renvoie un code "Gone" (410) indiquant que la ressource a
|
||
été définitivement supprimée. Lorsque
|
||
ce code est utilisé, on ne
|
||
doit pas utiliser l'argument <var>URL</var>.</dd>
|
||
</dl>
|
||
|
||
<p>On peut renvoyer d'autres codes en spécifiant le code
|
||
numérique comme valeur de l'argument of <var>état</var>.
|
||
Si le code est compris entre 300 et 399, l'argument
|
||
<var>URL</var> doit être présent. Si le code
|
||
n'est <em>pas</em> compris entre 300 et 399, l'argument
|
||
<var>URL</var> ne doit pas apparaître. Le code doit être un code
|
||
HTTP valide, connu du serveur HTTP Apache (voir la
|
||
fonction <code>send_error_response</code> dans
|
||
http_protocol.c).</p>
|
||
|
||
<div class="example"><h3>Exemple :</h3><p><code>
|
||
Redirect permanent /un http://example.com/deux<br />
|
||
Redirect 303 /trois http://example.com/autre
|
||
</code></p></div>
|
||
|
||
|
||
</div>
|
||
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
|
||
<div class="directive-section"><h2><a name="RedirectMatch" id="RedirectMatch">RedirectMatch</a> <a name="redirectmatch" id="redirectmatch">Directive</a></h2>
|
||
<table class="directive">
|
||
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Envoie une redirection externe faisant appel aux
|
||
expressions rationnelles pour la mise en correspondance de l'URL
|
||
courante</td></tr>
|
||
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RedirectMatch [<var>état</var>] <var>regex</var>
|
||
<var>URL</var></code></td></tr>
|
||
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
|
||
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
|
||
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
|
||
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_alias</td></tr>
|
||
</table>
|
||
<p>Cette directive est identique à la directive <code class="directive"><a href="#redirect">Redirect</a></code>, mais fait appel aux
|
||
<a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expressions rationnelles</a>, à 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
|
||
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
|
||
serveur, on peut utiliser :</p>
|
||
|
||
<div class="example"><p><code>
|
||
RedirectMatch (.*)\.gif$ http://autre.example.com$1.jpg
|
||
</code></p></div>
|
||
|
||
<p>Les remarques à propos de la différence entre <code class="directive"><a href="#alias">Alias</a></code> et <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> s'appliquent aussi à la
|
||
différence entre les directives <code class="directive"><a href="#redirect">Redirect</a></code> et <code class="directive"><a href="#redirectmatch">RedirectMatch</a></code>. Voir la directive
|
||
<code class="directive"><a href="#aliasmatch">AliasMatch</a></code> pour plus de
|
||
détails.</p>
|
||
|
||
|
||
</div>
|
||
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
|
||
<div class="directive-section"><h2><a name="RedirectPermanent" id="RedirectPermanent">RedirectPermanent</a> <a name="redirectpermanent" id="redirectpermanent">Directive</a></h2>
|
||
<table class="directive">
|
||
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Envoie une redirection externe permanente demandant au
|
||
client d'effectuer une nouvelle requête avec une URL
|
||
différente</td></tr>
|
||
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RedirectPermanent <var>chemin URL</var> <var>URL</var></code></td></tr>
|
||
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
|
||
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
|
||
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
|
||
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_alias</td></tr>
|
||
</table>
|
||
<p>Cette directive informe le client que la redirection est
|
||
permanente (code 301). Son comportement est exactement le même
|
||
que celui de <code>Redirect permanent</code>.</p>
|
||
|
||
</div>
|
||
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
|
||
<div class="directive-section"><h2><a name="RedirectTemp" id="RedirectTemp">RedirectTemp</a> <a name="redirecttemp" id="redirecttemp">Directive</a></h2>
|
||
<table class="directive">
|
||
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Envoie une redirection externe temporaire demandant au
|
||
client d'effectuer une nouvelle requête avec une URL
|
||
différente</td></tr>
|
||
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RedirectTemp <var>chemin URL</var> <var>URL</var></code></td></tr>
|
||
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
|
||
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
|
||
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
|
||
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_alias</td></tr>
|
||
</table>
|
||
<p>Cette directive informe le client que la redirection n'est
|
||
que temporaire (code 302). Son comportement est exactement le même
|
||
que celui de <code>Redirect temp</code>.</p>
|
||
|
||
</div>
|
||
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
|
||
<div class="directive-section"><h2><a name="ScriptAlias" id="ScriptAlias">ScriptAlias</a> <a name="scriptalias" id="scriptalias">Directive</a></h2>
|
||
<table class="directive">
|
||
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fait correspondre une URL à une zone du système de fichiers
|
||
et désigne la cible comme script CGI</td></tr>
|
||
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ScriptAlias <var>chemin URL</var>
|
||
<var>chemin fichier</var>|<var>chemin répertoire</var></code></td></tr>
|
||
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
|
||
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
|
||
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_alias</td></tr>
|
||
</table>
|
||
<p>La directive <code class="directive">ScriptAlias</code> présente le même
|
||
comportement que la directive <code class="directive"><a href="#alias">Alias</a></code>, 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 <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>.
|
||
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
|
||
fichiers local.</p>
|
||
|
||
<div class="example"><h3>Exemple :</h3><p><code>
|
||
ScriptAlias /cgi-bin/ /web/cgi-bin/
|
||
</code></p></div>
|
||
|
||
<p>Une requête pour <code>http://example.com/cgi-bin/foo</code>
|
||
ferait exécuter par le serveur le script
|
||
<code>/web/cgi-bin/foo</code>. Cette configuration est sensiblement
|
||
équivalente à :</p>
|
||
<div class="example"><p><code>
|
||
Alias /cgi-bin/ /web/cgi-bin/<br />
|
||
<Location /cgi-bin ><br />
|
||
<span class="indent">
|
||
SetHandler cgi-script<br />
|
||
Options +ExecCGI<br />
|
||
</span>
|
||
</Location>
|
||
</code></p></div>
|
||
|
||
<p>Vous pouvez aussi utiliser <code class="directive">ScriptAlias</code>
|
||
avec un script ou gestionnaire de votre cru. Par exemple :</p>
|
||
|
||
<div class="example"><p><code>
|
||
ScriptAlias /cgi-bin/ /web/cgi-handler.pl
|
||
</code></p></div>
|
||
|
||
<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>
|
||
|
||
<div class="warning">Il est préférable d'éviter de placer les
|
||
scripts CGI dans l'arborescence de <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> afin d'éviter de révéler
|
||
accidentellement leur code source lors d'une modification de
|
||
configuration. On y parvient aisément avec
|
||
<code class="directive">ScriptAlias</code> 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
|
||
accessible depuis le web, n'utilisez pas
|
||
<code class="directive">ScriptAlias</code>. Utilisez plutôt <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>, <code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code>, et <code class="directive"><a href="../mod/core.html#options">Options</a></code> comme dans l'exemple suivant :
|
||
<div class="example"><p><code>
|
||
<Directory /usr/local/apache2/htdocs/cgi-bin ><br />
|
||
<span class="indent">
|
||
SetHandler cgi-script<br />
|
||
Options ExecCGI<br />
|
||
</span>
|
||
</Directory>
|
||
</code></p></div>
|
||
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 <code class="directive">ScriptAlias</code> et révélant le
|
||
code source des scripts CGI s'ils ne sont pas protégés par une
|
||
section <code class="directive"><a href="../mod/core.html#directory">Directory</a></code>.</div>
|
||
|
||
|
||
<h3>Voir aussi</h3>
|
||
<ul>
|
||
<li><a href="../howto/cgi.html">Tutoriel CGI</a></li>
|
||
</ul>
|
||
</div>
|
||
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
|
||
<div class="directive-section"><h2><a name="ScriptAliasMatch" id="ScriptAliasMatch">ScriptAliasMatch</a> <a name="scriptaliasmatch" id="scriptaliasmatch">Directive</a></h2>
|
||
<table class="directive">
|
||
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>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</td></tr>
|
||
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ScriptAliasMatch <var>regex</var>
|
||
<var>chemin fichier</var>|<var>chemin répertoire</var></code></td></tr>
|
||
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
|
||
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
|
||
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_alias</td></tr>
|
||
</table>
|
||
<p>Cette directive est équivalente à la directive <code class="directive"><a href="#scriptalias">ScriptAlias</a></code>, mais fait appel aux
|
||
<a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expressions rationnelles</a>, à 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
|
||
standard <code>/cgi-bin</code>, on peut utiliser :</p>
|
||
|
||
<div class="example"><p><code>
|
||
ScriptAliasMatch ^/cgi-bin(.*) /usr/local/apache/cgi-bin$1
|
||
</code></p></div>
|
||
|
||
<p>Comme dans le cas d'AliasMatch, toute la puissance des <a class="glossarylink" href="../glossary.html#rexex" title="voir glossaire">expressions rationnelles</a> 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>
|
||
|
||
<div class="example"><p><code>
|
||
ScriptAliasMatch (?i)^/cgi-bin(.*) /usr/local/apache/cgi-bin$1
|
||
</code></p></div>
|
||
|
||
<p>Les remarques à propos de la différence entre <code class="directive"><a href="#alias">Alias</a></code> et <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> s'appliquent aussi à la
|
||
différence entre les directives <code class="directive"><a href="#scriptalias">ScriptAlias</a></code> et <code class="directive"><a href="#scriptaliasmatch">ScriptAliasMatch</a></code>. Voir la directive
|
||
<code class="directive"><a href="#aliasmatch">AliasMatch</a></code> pour plus de
|
||
détails.</p>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div class="bottomlang">
|
||
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_alias.html" hreflang="en" rel="alternate" title="English"> en </a> |
|
||
<a href="../fr/mod/mod_alias.html" title="Français"> fr </a> |
|
||
<a href="../ja/mod/mod_alias.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
|
||
<a href="../ko/mod/mod_alias.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
|
||
<a href="../tr/mod/mod_alias.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
|
||
</div><div id="footer">
|
||
<p class="apache">Copyright 2012 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
|
||
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div>
|
||
</body></html> |