1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head>
4 <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7 This file is generated from xml source: DO NOT EDIT
8 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
10 <title>mod_alias - Serveur Apache HTTP Version 2.5</title>
11 <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
12 <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
13 <link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
14 <script src="../style/scripts/prettify.min.js" type="text/javascript">
17 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
19 <div id="page-header">
20 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
21 <p class="apache">Serveur Apache HTTP Version 2.5</p>
22 <img alt="" src="../images/feather.png" /></div>
23 <div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
25 <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>
26 <div id="page-content">
27 <div id="preamble"><h1>Module Apache mod_alias</h1>
29 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_alias.html" hreflang="en" rel="alternate" title="English"> en </a> |
30 <a href="../fr/mod/mod_alias.html" title="Français"> fr </a> |
31 <a href="../ja/mod/mod_alias.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
32 <a href="../ko/mod/mod_alias.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
33 <a href="../tr/mod/mod_alias.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
35 <div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
36 anglaise pour les changements récents.</div>
37 <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
38 fichiers depuis l'arborescence des documents du site web, ainsi que la
39 redirection d'URL</td></tr>
40 <tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr>
41 <tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>alias_module</td></tr>
42 <tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_alias.c</td></tr></table>
45 <p>Les directives fournies par ce module permettent de manipuler et
46 de contrôler les URLs à l'arrivée des requêtes sur le serveur. Les
47 directives <code class="directive"><a href="#alias">Alias</a></code> et
48 <code class="directive"><a href="#scriptalias">ScriptAlias</a></code> permettent de
49 faire correspondre des URLs avec des chemins du système de fichiers.
50 Ceci permet de servir des contenus qui ne sont pas situés dans
51 l'arborescence de <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> comme s'ils y étaient
52 réellement. La directive <code class="directive"><a href="#scriptalias">ScriptAlias</a></code> a pour effet
53 supplémentaire de marquer le répertoire cible comme conteneur de
56 <p>Les directives <code class="directive"><a href="#redirect">Redirect</a></code>
57 indiquent aux clients qu'ils doivent effectuer une nouvelle requête
58 avec une URL différente. Elles sont souvent utilisées lorsqu'une
59 ressource a été déplacée.</p>
61 <p>Lorsque les directives <code class="directive"><a href="#alias">Alias</a></code>, <code class="directive"><a href="#scriptalias">ScriptAlias</a></code> ou <code class="directive"><a href="#redirect">Redirect</a></code> sont définies au sein d'une
62 section <code class="directive"><a href="../mod/core.html#location"><Location></a></code>
63 ou <code class="directive"><a href="../mod/core.html#locationmatch"><LocationMatch></a></code>, vous pouvez utiliser la <a href="../expr.html">syntaxe des expressions</a> pour manipuler l'URL
64 ou le chemin de destination.
67 <p><code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> est conçu pour traiter des tâches
68 simples de manipulation d'URL. Pour des tâches plus complexes comme
69 la manipulation des chaînes d'arguments des requêtes, utilisez
70 plutôt les outils fournis par le module <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code></p>
73 <div id="quickview"><h3>Sujets</h3>
75 <li><img alt="" src="../images/down.gif" /> <a href="#order">Chronologie du traitement</a></li>
76 </ul><h3 class="directives">Directives</h3>
78 <li><img alt="" src="../images/down.gif" /> <a href="#alias">Alias</a></li>
79 <li><img alt="" src="../images/down.gif" /> <a href="#aliasmatch">AliasMatch</a></li>
80 <li><img alt="" src="../images/down.gif" /> <a href="#redirect">Redirect</a></li>
81 <li><img alt="" src="../images/down.gif" /> <a href="#redirectmatch">RedirectMatch</a></li>
82 <li><img alt="" src="../images/down.gif" /> <a href="#redirectpermanent">RedirectPermanent</a></li>
83 <li><img alt="" src="../images/down.gif" /> <a href="#redirecttemp">RedirectTemp</a></li>
84 <li><img alt="" src="../images/down.gif" /> <a href="#scriptalias">ScriptAlias</a></li>
85 <li><img alt="" src="../images/down.gif" /> <a href="#scriptaliasmatch">ScriptAliasMatch</a></li>
87 <h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_alias">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_alias">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
89 <li><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code></li>
90 <li><a href="../urlmapping.html">Mise en correspondance des URLs avec le
91 système de fichiers</a></li>
92 <li><a href="#comments_section">Commentaires</a></li></ul></div>
93 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
95 <h2><a name="order" id="order">Chronologie du traitement</a></h2>
97 <p>Les alias et redirections apparaissant dans différents contextes
98 sont traités comme les autres directives en respectant les <a href="../sections.html#mergin">règles de fusion</a> standards. Par
99 contre, ils sont traités selon une chronologie particulière
100 lorsqu'ils apparaissent dans le même contexte (par exemple, dans la
101 même section <code class="directive"><a href="../mod/core.html#virtualhost"><VirtualHost></a></code>).</p>
103 <p>Premièrement, toutes les redirections sont traitées avant les
104 alias, et ainsi, une requête qui correspond à une directive
105 <code class="directive"><a href="#redirect">Redirect</a></code> ou <code class="directive"><a href="#redirectmatch">RedirectMatch</a></code> ne se verra jamais
106 appliquer d'alias. Deuxièmement, les alias et redirections sont
107 traités selon l'ordre dans lequel ils apparaissent dans le fichier
108 de configuration, seule la première correspondance étant prise en
111 <p>Ainsi, lorsqu'une ou plusieurs de ces directives s'appliquent au
112 même sous-répertoire, vous devez classer les chemins du plus précis
113 au moins précis afin que toutes les directives puissent
114 éventuellement s'appliquer, comme dans l'exemple suivant :</p>
116 <pre class="prettyprint lang-config">Alias "/foo/bar" "/baz"
117 Alias "/foo" "/gaq"</pre>
120 <p>Si l'ordre des directives était inversé, la directive <code class="directive"><a href="#alias">Alias</a></code> ayant pour argument
121 <code>/foo</code> serait toujours appliquée avant la directive
122 <code class="directive"><a href="#alias">Alias</a></code> ayant pour argument
123 <code>/foo/bar</code>, et cette dernière serait toujours
126 <p>La définition de directives <code class="directive"><a href="#alias">Alias</a></code>, <code class="directive"><a href="#scriptalias">ScriptAlias</a></code> ou <code class="directive"><a href="#redirect">Redirect</a></code> au sein de sections
127 <code class="directive"><a href="../mod/core.html#location"><Location></a></code> ou
128 <code class="directive"><a href="../mod/core.html#locationmatch"><LocationMatch></a></code>
129 l'emporte sur d'autres définitions éventuelles de ces mêmes
130 directives au niveau de la configuration générale du serveur.</p>
133 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
134 <div class="directive-section"><h2><a name="alias" id="alias">Directive</a> <a name="Alias" id="Alias">Alias</a></h2>
135 <table class="directive">
136 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Met en correspondance des URLs avec des chemins du système
137 de fichiers</td></tr>
138 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Alias [<var>chemin URL</var>]
139 <var>chemin fichier</var>|<var>chemin répertoire</var></code></td></tr>
140 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
141 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
142 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_alias</td></tr>
145 <p>La directive <code class="directive">Alias</code> permet de stocker des
146 documents (destinés à être servis) dans des zones du système de
147 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
148 (décodé avec caractères %) commence par <var>chemin URL</var> seront
149 mises en correspondance avec des fichiers locaux dont le chemin
150 commence par <var>chemin répertoire</var>. Le <var>chemin URL</var>
151 est sensible à la casse, même sur les systèmes de fichiers
152 insensibles à la casse.</p>
154 <pre class="prettyprint lang-config">Alias "/image" "/ftp/pub/image"</pre>
157 <p>Une requête pour <code>http://example.com/image/foo.gif</code> fera
158 renvoyer par le serveur le fichier
159 <code>/ftp/pub/image/foo.gif</code>. Seuls les éléments de chemin
160 complets sont testés ; ainsi l'alias précédent ne conviendra pas
161 pour une requête du style <code>http://example.com/imagefoo.gif</code>.
162 Pour des mises en correspondance plus complexes faisant intervenir
163 les expressions rationnelles, veuillez vous reporter à la directive
164 <code class="directive"><a href="#aliasmatch">AliasMatch</a></code>.</p>
166 <p>Notez que si vous ajoutez un slash de fin au <var>chemin
167 URL</var>, vous devrez aussi ajouter un slash de fin au chemin de la
168 requête. Autrement dit, si vous définissez</p>
170 <pre class="prettyprint lang-config">Alias "/icons/" "/usr/local/apache/icons/"</pre>
173 <p>l'alias précédent ne s'appliquera pas à l'URL
174 <code>/icons</code> à cause de l'absence du slash final. Ainsi, si
175 le slash final est absent du <var>chemin de l'URL</var>, il doit
176 aussi l'être du <var>chemin du fichier</var>.</p>
178 <p>Notez qu'il pourra s'avérer nécessaire de définir des sections
179 <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>
180 supplémentaires qui couvriront la <em>destination</em> des alias.
181 Le traitement des alias intervenant avant le traitement des sections
182 <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>,
183 seules les cibles des alias sont affectées (Notez cependant
184 que les sections <code class="directive"><a href="../mod/core.html#location"><Location></a></code> sont traitées avant les alias, et
185 s'appliqueront donc).</p>
187 <p>En particulier, si vous créez un alias ayant pour cible un
188 répertoire situé en dehors de l'arborescence de votre site web
189 <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>, vous devrez
190 probablement permettre explicitement l'accès à ce répertoire.</p>
192 <pre class="prettyprint lang-config">Alias "/image" "/ftp/pub/image"
193 <Directory "/ftp/pub/image">
195 </Directory></pre>
198 <p>Le nombre de slashes dans le paramètre <var>chemin URL</var> doit
199 correspondre au nombre de slashes dans le chemin URL de la requête.</p>
201 <p>Si la directive <code class="directive">Alias</code> est définie au sein
202 d'une section <code class="directive"><a href="../mod/core.html#location"><Location></a></code> ou <code class="directive"><a href="../mod/core.html#locationmatch"><LocationMatch></a></code>, <var>chemin URL</var> est
203 omis et <var>chemin fichier</var> est interprété en utilisant la <a href="../expr.html">syntaxe des expressions</a>.<br />
204 Cette syntaxe est disponible à partir de la version 2.4.19 du
205 serveur HTTP Apache.</p>
207 <pre class="prettyprint lang-config"><Location "/image">
208 Alias "/ftp/pub/image"
210 <LocationMatch "/error/(?<NUMBER>[0-9]+)">
211 Alias "/usr/local/apache/errors/%{env:MATCH_NUMBER}.html"
212 </LocationMatch></pre>
217 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
218 <div class="directive-section"><h2><a name="aliasmatch" id="aliasmatch">Directive</a> <a name="AliasMatch" id="AliasMatch">AliasMatch</a></h2>
219 <table class="directive">
220 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Met en correspondance des URLs avec le système de fichiers
221 en faisant intervenir les expressions rationnelles</td></tr>
222 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AliasMatch <var>regex</var>
223 <var>chemin fichier</var>|<var>chemin répertoire</var></code></td></tr>
224 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
225 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
226 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_alias</td></tr>
228 <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
229 simple mise en correspondance de préfixe. L'expression rationnelle
230 fournie est mise en correspondance avec le chemin URL, et si elle
231 correspond, le serveur va substituer toute partie de chemin
232 correspondant à l'expression entre parenthèses dans la chaîne
233 fournie et l'utiliser comme nom de fichier.
234 Par exemple, pour activer le répertoire <code>/icons</code>, on peut
237 <pre class="prettyprint lang-config">AliasMatch "^/icons(.*)" "/usr/local/apache/icons$1$2"</pre>
240 <p>Toute la puissance des <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expressions
241 rationnelles</a> peut être mise à contribution. Par exemple,
242 il est possible de construire un alias avec un modèle de chemin URL
243 insensible à la casse :</p>
245 <pre class="prettyprint lang-config">AliasMatch "(?i)^/image(.*)" "/ftp/pub/image$1"</pre>
248 <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
249 portion supplémentaire de l'URI située après la partie du modèle qui
250 correspond, à la fin du chemin du fichier de la partie droite, alors
251 que <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> ne le fait
252 pas. Cela signifie qu'il sera préférable dans la plupart des cas de
253 comparer l'expression rationnelle du modèle à la totalité de l'URI
254 de la requête, et d'utiliser les substitutions dans la partie
257 <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
258 résultat. Au minimum, vous devez ajouter <code>^</code> au début de
259 l'expression rationnelle, <code>(.*)$</code> à sa fin et
260 <code>$1</code> à la fin de la chaîne de remplacement.</p>
262 <p>Par exemple, supposons que nous voulions reformuler cet alias
263 avec AliasMatch :</p>
265 <pre class="prettyprint lang-config">Alias "/image/" "/ftp/pub/image/"</pre>
268 <p>Le simple remplacement d'Alias par AliasMatch ne produira pas le
269 même résultat. Ainsi, ce qui suit va rediriger toutes les requêtes
270 qui contiennent /image/ vers /ftp/pub/image/ :</p>
272 <pre class="prettyprint lang-config">AliasMatch "/image/" "/ftp/pub/image/"</pre>
275 <p>Voici la directive AliasMatch qui produira le même résultat que
276 la directive Alias ci-dessus :</p>
278 <pre class="prettyprint lang-config">AliasMatch "^/image/(.*)$" "/ftp/pub/image/$1"</pre>
281 <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
282 des choses beaucoup plus sophistiquées. Par exemple, vous pouvez
283 servir différentes sortes de fichiers à partir de répertoires
286 <pre class="prettyprint lang-config"> AliasMatch "^/image/(.*)\.jpg$" "/fichiers/jpg.images/$1.jpg"
287 AliasMatch "^/image/(.*)\.gif$" "/fichiers/gif.images/$1.gif"</pre>
290 <p>Les éventuels slashes de tête multiples seront supprimés par le
291 serveur avant que les directives de ce module n'effectuent des
292 comparaisons avec le chemin URL de la requête.
297 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
298 <div class="directive-section"><h2><a name="redirect" id="redirect">Directive</a> <a name="Redirect" id="Redirect">Redirect</a></h2>
299 <table class="directive">
300 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Envoie une redirection externe demandant au client
301 d'effectuer une autre requête avec une URL différente</td></tr>
302 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Redirect [<var>état</var>] [<var>chemin URL</var>]
303 <var>URL</var></code></td></tr>
304 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
305 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
306 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
307 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_alias</td></tr>
309 <p>La directive Redirect permet de faire correspondre une ancienne
310 URL à une nouvelle en demandant au client d'aller chercher la ressource à
311 une autre localisation.</p>
313 <p>L'ancien <em>chemin URL</em> est un chemin sensible à la casse
314 (décodé à l'aide de caractères %) commençant par un slash. Les
315 chemins relatifs ne sont pas autorisés.</p>
317 <p>La nouvelle <em>URL</em>
318 peut être une URL absolue commençant par un protocole et un nom
319 d'hôte, mais on peut aussi utiliser un chemin URL commençant par un
320 slash, auquel cas le protocole et le nom d'hôte du serveur local
323 <p>Ensuite, toute requête commençant par <em>chemin URL</em> va
324 renvoyer une redirection au client vers l'<em>URL</em> cible. Tout
325 élément de chemin supplémentaire situé en aval du <em>chemin
326 URL</em> sera ajouté à l'URL cible.</p>
328 <pre class="prettyprint lang-config"># Redirige vers une URL sur un serveur différent
329 Redirect "/service" "http://foo2.example.com/service"
331 # Redirige vers une URL sur le même serveur
332 Redirect "/one" "/two"</pre>
335 <p>Si le client effectue une requête pour l'URL
336 <code>http://example.com/service/foo.txt</code>, il lui sera demandé
337 d'en effectuer une autre pour l'URL
338 <code>http://foo2.example.com/service/foo.txt</code>. Ceci concerne
339 les requêtes avec paramètres <code>GET</code>, comme
340 <code>http://example.com/service/foo.pl?q=23&a=42</code>, qui
341 seront redirigées vers
342 <code>http://foo2.example.com/service/foo.pl?q=23&a=42</code>.
343 Notez que les <code>POST</code>s seront ignorés.<br />
345 éléments de chemin complets sont testés, si bien que l'exemple
346 précédent ne s'appliquera pas à l'URL
347 <code>http://example.com/servicefoo.txt</code>. Pour des mises en
348 correspondance plus complexes utilisant la <a href="../expr.html">syntaxe des expressions</a>, ne spécifiez pas
349 d'argument <var>chemin URL</var> comme décrit ci-dessous. En outre,
350 pour une mise en correspondance en utilisant les expressions
351 rationnelles, veuillez vous reporter à la directive <code class="directive"><a href="#redirectmatch">RedirectMatch</a></code>.</p>
354 <div class="note"><h3>Note</h3>
355 <p>Les directives de redirection ont priorité sur les directives
356 Alias et ScriptAlias, quel que soit leur ordre d'apparition dans le
357 fichier de configuration. Les directives Redirect définies au sein
358 d'une section Location l'emportent sur les directives Redirect et
359 Alias comportant un argument <var>chemin URL</var>.</p></div>
361 <p>Si aucun argument <var>état</var> n'est spécifié, la
362 redirection sera temporaire (code HTTP 302). Le client est alors
363 informé que la ressource a été temporairement déplacée. On peut
364 utiliser l'argument <var>état</var> pour renvoyer d'autres codes HTTP :</p>
369 <dd>Renvoie un code de redirection permanente (301), indiquant
370 que la ressource a été définitivement déplacée.</dd>
374 <dd>Renvoie un code de redirection temporaire (302). C'est le
375 comportement par défaut.</dd>
379 <dd>Renvoie un code "See Other" (303) indiquant que la ressource
380 a été remplacée par une autre.</dd>
384 <dd>Renvoie un code "Gone" (410) indiquant que la ressource a
385 été définitivement supprimée. Lorsque
386 ce code est utilisé, on ne
387 doit pas utiliser l'argument <var>URL</var>.</dd>
390 <p>On peut renvoyer d'autres codes en spécifiant le code
391 numérique comme valeur de l'argument of <var>état</var>.
392 Si le code est compris entre 300 et 399, l'argument
393 <var>URL</var> doit être présent. Si le code
394 n'est <em>pas</em> compris entre 300 et 399, l'argument
395 <var>URL</var> ne doit pas apparaître. Le code doit être un code
396 HTTP valide, connu du serveur HTTP Apache (voir la
397 fonction <code>send_error_response</code> dans
398 http_protocol.c).</p>
400 <pre class="prettyprint lang-config">Redirect permanent "/one" "http://example.com/two"
401 Redirect 303 "/three" "http://example.com/other"</pre>
404 <p>Si une directive <code class="directive">Redirect</code> est définie au
405 sein d'une section <code class="directive"><a href="../mod/core.html#location"><Location></a></code> ou <code class="directive"><a href="../mod/core.html#locationmatch"><LocationMatch></a></code> et si l'argument <var>chemin
406 URL</var> est omis, l'argument <var>URL</var> sera interprété en
407 utilisant la <a href="../expr.html">syntaxe des expressions</a>.<br />
408 Cette syntaxe est disponible à partir de la version 2.4.19 du
409 serveur HTTP Apache.</p>
411 <pre class="prettyprint lang-config"><Location "/one">
412 Redirect permanent "http://example.com/two"
414 <Location "/three">
415 Redirect 303 "http://example.com/other"
417 <LocationMatch "/error/(?<NUMBER>[0-9]+)">
418 Redirect permanent "http://example.com/errors/%{env:MATCH_NUMBER}.html"
419 </LocationMatch></pre>
424 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
425 <div class="directive-section"><h2><a name="redirectmatch" id="redirectmatch">Directive</a> <a name="RedirectMatch" id="RedirectMatch">RedirectMatch</a></h2>
426 <table class="directive">
427 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Envoie une redirection externe faisant appel aux
428 expressions rationnelles pour la mise en correspondance de l'URL
430 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RedirectMatch [<var>état</var>] <var>regex</var>
431 <var>URL</var></code></td></tr>
432 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
433 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
434 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
435 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_alias</td></tr>
437 <p>Cette directive est identique à la directive <code class="directive"><a href="#redirect">Redirect</a></code>, mais fait appel aux
438 <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expressions rationnelles</a>, à la
439 place d'une simple mise en correspondance de préfixe. L'expression
440 rationnelle fournie est mise en correspondance avec le chemin URL,
441 et si elle correspond, le serveur va substituer toute partie de
442 chemin correspondante entre parenthèses dans la chaîne spécifiée et
443 l'utiliser comme nom de fichier. Par exemple, pour rediriger tous
444 les fichiers GIF vers les fichiers JPEG de même nom sur un autre
445 serveur, on peut utiliser :</p>
447 <pre class="prettyprint lang-config">RedirectMatch "(.*)\.gif$" "http://autre.example.com$1.jpg"</pre>
450 <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
451 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
452 <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> pour plus de
457 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
458 <div class="directive-section"><h2><a name="redirectpermanent" id="redirectpermanent">Directive</a> <a name="RedirectPermanent" id="RedirectPermanent">RedirectPermanent</a></h2>
459 <table class="directive">
460 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Envoie une redirection externe permanente demandant au
461 client d'effectuer une nouvelle requête avec une URL
463 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RedirectPermanent <var>chemin URL</var> <var>URL</var></code></td></tr>
464 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
465 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
466 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
467 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_alias</td></tr>
469 <p>Cette directive informe le client que la redirection est
470 permanente (code 301). Son comportement est exactement le même
471 que celui de <code>Redirect permanent</code>.</p>
474 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
475 <div class="directive-section"><h2><a name="redirecttemp" id="redirecttemp">Directive</a> <a name="RedirectTemp" id="RedirectTemp">RedirectTemp</a></h2>
476 <table class="directive">
477 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Envoie une redirection externe temporaire demandant au
478 client d'effectuer une nouvelle requête avec une URL
480 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RedirectTemp <var>chemin URL</var> <var>URL</var></code></td></tr>
481 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
482 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
483 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
484 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_alias</td></tr>
486 <p>Cette directive informe le client que la redirection n'est
487 que temporaire (code 302). Son comportement est exactement le même
488 que celui de <code>Redirect temp</code>.</p>
491 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
492 <div class="directive-section"><h2><a name="scriptalias" id="scriptalias">Directive</a> <a name="ScriptAlias" id="ScriptAlias">ScriptAlias</a></h2>
493 <table class="directive">
494 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fait correspondre une URL à une zone du système de fichiers
495 et désigne la cible comme script CGI</td></tr>
496 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ScriptAlias [<var>chemin URL</var>]
497 <var>chemin fichier</var>|<var>chemin répertoire</var></code></td></tr>
498 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
499 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
500 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_alias</td></tr>
502 <p>La directive <code class="directive">ScriptAlias</code> présente le même
503 comportement que la directive <code class="directive"><a href="#alias">Alias</a></code>, mais désigne en plus le
504 répertoire cible comme conteneur de scripts CGI qui seront traitées
505 par le gestionnaire cgi-script du module <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>.
506 Les URLs dont le chemin URL sensible à la casse (décodé avec
507 caractères %) commence par <var>chemin URL</var> seront mises en
508 correspondance avec les scripts dont le chemin commence par le
509 second argument, qui est un chemin complet dans le système de
512 <pre class="prettyprint lang-config">ScriptAlias "/cgi-bin/" "/web/cgi-bin/"</pre>
515 <p>Une requête pour <code>http://example.com/cgi-bin/foo</code>
516 ferait exécuter par le serveur le script
517 <code>/web/cgi-bin/foo</code>. Cette configuration est sensiblement
519 <pre class="prettyprint lang-config">Alias "/cgi-bin/" "/web/cgi-bin/"
520 <Location "/cgi-bin">
521 SetHandler cgi-script
523 </Location></pre>
526 <p>Vous pouvez aussi utiliser <code class="directive">ScriptAlias</code>
527 avec un script ou gestionnaire de votre cru. Par exemple :</p>
529 <pre class="prettyprint lang-config">ScriptAlias "/cgi-bin/" "/web/cgi-handler.pl"</pre>
532 <p>Dans ce scénario, tous les fichiers faisant l'objet d'une requête
533 dans <code>/cgi-bin/</code> seront traités par le fichier que vous
534 avez spécifié, ce qui vous permet d'utiliser votre propre
535 gestionnaire. Vous pouvez l'utiliser comme enveloppe (wrapper) pour
536 les scripts CGI afin d'ajouter du contenu, ou autre action "maison".</p>
538 <div class="warning">Il est préférable d'éviter de placer les
539 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
540 accidentellement leur code source lors d'une modification de
541 configuration. On y parvient aisément avec
542 <code class="directive">ScriptAlias</code> en mettant en correspondance une
543 URL et en désignant la cible comme scripts CGI par la même occasion.
544 Si vous choisissez de placer vos scripts CGI dans un répertoire
545 accessible depuis le web, n'utilisez pas
546 <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 :
547 <pre class="prettyprint lang-config"><Directory "/usr/local/apache2/htdocs/cgi-bin">
548 SetHandler cgi-script
550 </Directory></pre>
552 Ceci est nécessaire car plusieurs <var>chemins URL</var> peuvent
553 correspondre à la même zone du système de fichiers, court-circuitant
554 ainsi la directive <code class="directive">ScriptAlias</code> et révélant le
555 code source des scripts CGI s'ils ne sont pas protégés par une
556 section <code class="directive"><a href="../mod/core.html#directory">Directory</a></code>.</div>
558 <p>Si la directive <code class="directive">ScriptAlias</code> est définie au
559 sein d'une section <code class="directive"><a href="../mod/core.html#location"><Location></a></code> ou <code class="directive"><a href="../mod/core.html#locationmatch"><LocationMatch></a></code> et si l'argument <var>chemin
560 URL</var> est omis, l'argument <var>URL</var> sera interprété en
561 utilisant la <a href="../expr.html">syntaxe des expressions</a>.<br />
562 Cette syntaxe est disponible à partir de la version 2.4.19 du
563 serveur HTTP Apache.</p>
565 <pre class="prettyprint lang-config"><Location "/cgi-bin">
566 ScriptAlias "/web/cgi-bin/"
568 <LocationMatch "/cgi-bin/errors/(?<NUMBER>[0-9]+)">
569 ScriptAlias "/web/cgi-bin/errors/%{env:MATCH_NUMBER}.cgi"
570 </LocationMatch></pre>
576 <li><a href="../howto/cgi.html">Tutoriel CGI</a></li>
579 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
580 <div class="directive-section"><h2><a name="scriptaliasmatch" id="scriptaliasmatch">Directive</a> <a name="ScriptAliasMatch" id="ScriptAliasMatch">ScriptAliasMatch</a></h2>
581 <table class="directive">
582 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fait correspondre une URL à une zone du système de fichiers
583 en faisant appel aux expressions rationnelles et en désignant la cible
584 comme un script CGI</td></tr>
585 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ScriptAliasMatch <var>regex</var>
586 <var>chemin fichier</var>|<var>chemin répertoire</var></code></td></tr>
587 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
588 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
589 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_alias</td></tr>
591 <p>Cette directive est équivalente à la directive <code class="directive"><a href="#scriptalias">ScriptAlias</a></code>, mais fait appel aux
592 <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expressions rationnelles</a>, à la
593 place d'une simple mise en correspondance de préfixe. L'expression
594 rationnelle fournie est mise en correspondance avec le chemin URL,
595 et si elle correspond, le serveur va substituer toute partie de
596 chemin entre parenthèses dans la chaîne spécifiée et l'utiliser
597 comme nom de fichier. Par exemple, pour activer le répertoire
598 standard <code>/cgi-bin</code>, on peut utiliser :</p>
600 <pre class="prettyprint lang-config">ScriptAliasMatch "^/cgi-bin(.*)" "/usr/local/apache/cgi-bin$1"</pre>
603 <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 à
604 contribution. Par exemple, il est possible de construire un alias
605 avec une comparaison du modèle du chemin URL insensible à la casse :</p>
607 <pre class="prettyprint lang-config">ScriptAliasMatch "(?i)^/cgi-bin(.*)" "/usr/local/apache/cgi-bin$1"</pre>
610 <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
611 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
612 <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> pour plus de
618 <div class="bottomlang">
619 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_alias.html" hreflang="en" rel="alternate" title="English"> en </a> |
620 <a href="../fr/mod/mod_alias.html" title="Français"> fr </a> |
621 <a href="../ja/mod/mod_alias.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
622 <a href="../ko/mod/mod_alias.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
623 <a href="../tr/mod/mod_alias.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
624 </div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
625 <script type="text/javascript"><!--//--><![CDATA[//><!--
626 var comments_shortname = 'httpd';
627 var comments_identifier = 'http://httpd.apache.org/docs/trunk/mod/mod_alias.html';
629 if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
630 d.write('<div id="comments_thread"><\/div>');
631 var s = d.createElement('script');
632 s.type = 'text/javascript';
634 s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
635 (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
638 d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
640 })(window, document);
641 //--><!]]></script></div><div id="footer">
642 <p class="apache">Copyright 2016 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
643 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
644 if (typeof(prettyPrint) !== 'undefined') {