]> granicus.if.org Git - apache/blob - docs/manual/mod/mod_alias.html.fr
Resync docs
[apache] / docs / manual / mod / mod_alias.html.fr
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" />
5 <!--
6         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7               This file is generated from xml source: DO NOT EDIT
8         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
9       -->
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">
15 </script>
16
17 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
18 <body>
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="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
24 <div id="path">
25 <a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.5</a> &gt; <a href="./">Modules</a></div>
26 <div id="page-content">
27 <div id="preamble"><h1>Module Apache mod_alias</h1>
28 <div class="toplang">
29 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_alias.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
30 <a href="../fr/mod/mod_alias.html" title="Français">&nbsp;fr&nbsp;</a> |
31 <a href="../ja/mod/mod_alias.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
32 <a href="../ko/mod/mod_alias.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
33 <a href="../tr/mod/mod_alias.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
34 </div>
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>
43 <h3>Sommaire</h3>
44
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
54     scripts CGI.</p>
55
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>
60
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">&lt;Location&gt;</a></code>
63     ou <code class="directive"><a href="../mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code>, vous pouvez utiliser la <a href="../expr.html">syntaxe des expressions</a> pour manipuler l'URL
64     ou le chemin de destination.
65         </p>
66
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>
71
72 </div>
73 <div id="quickview"><h3>Sujets</h3>
74 <ul id="topics">
75 <li><img alt="" src="../images/down.gif" /> <a href="#order">Chronologie du traitement</a></li>
76 </ul><h3 class="directives">Directives</h3>
77 <ul id="toc">
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>
86 </ul>
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__&amp;list_id=144532&amp;product=Apache%20httpd-2&amp;query_format=specific&amp;order=changeddate%20DESC%2Cpriority%2Cbug_severity&amp;component=mod_alias">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&amp;component=mod_alias">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
88 <ul class="seealso">
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>
94 <div class="section">
95 <h2><a name="order" id="order">Chronologie du traitement</a></h2>
96
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">&lt;VirtualHost&gt;</a></code>).</p>
102
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
109     compte.</p>
110
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>
115
116     <pre class="prettyprint lang-config">Alias "/foo/bar" "/baz"
117 Alias "/foo" "/gaq"</pre>
118
119
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
124     ignorée.</p>
125
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">&lt;Location&gt;</a></code> ou
128     <code class="directive"><a href="../mod/core.html#locationmatch">&lt;LocationMatch&gt;</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>
131
132 </div>
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>
143 </table>
144
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>
153
154     <pre class="prettyprint lang-config">Alias "/image" "/ftp/pub/image"</pre>
155
156
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>
165
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>
169
170     <pre class="prettyprint lang-config">Alias "/icons/" "/usr/local/apache/icons/"</pre>
171
172
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>
177
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">&lt;Directory&gt;</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">&lt;Directory&gt;</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">&lt;Location&gt;</a></code> sont traitées avant les alias, et
185     s'appliqueront donc).</p>
186
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>
191
192     <pre class="prettyprint lang-config">Alias "/image" "/ftp/pub/image"
193 &lt;Directory "/ftp/pub/image"&gt;
194     Require all granted
195 &lt;/Directory&gt;</pre>
196
197
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>
200
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">&lt;Location&gt;</a></code> ou <code class="directive"><a href="../mod/core.html#locationmatch">&lt;LocationMatch&gt;</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>
206
207     <pre class="prettyprint lang-config">&lt;Location "/image"&gt;
208     Alias "/ftp/pub/image"
209 &lt;/Location&gt;
210 &lt;LocationMatch "/error/(?&lt;NUMBER&gt;[0-9]+)"&gt;
211     Alias "/usr/local/apache/errors/%{env:MATCH_NUMBER}.html"
212 &lt;/LocationMatch&gt;</pre>
213
214
215
216 </div>
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>
227 </table>
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
235     utiliser :</p>
236
237     <pre class="prettyprint lang-config">AliasMatch "^/icons(.*)" "/usr/local/apache/icons$1$2"</pre>
238
239
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>
244
245     <pre class="prettyprint lang-config">AliasMatch "(?i)^/image(.*)" "/ftp/pub/image$1"</pre>
246
247
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
255     droite.</p>
256
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>
261
262     <p>Par exemple, supposons que nous voulions reformuler cet alias
263     avec AliasMatch :</p>
264
265     <pre class="prettyprint lang-config">Alias "/image/" "/ftp/pub/image/"</pre>
266
267
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>
271
272     <pre class="prettyprint lang-config">AliasMatch "/image/" "/ftp/pub/image/"</pre>
273
274
275     <p>Voici la directive AliasMatch qui produira le même résultat que
276     la directive Alias ci-dessus :</p>
277
278     <pre class="prettyprint lang-config">AliasMatch "^/image/(.*)$" "/ftp/pub/image/$1"</pre>
279
280
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
284     différents :</p>
285
286     <pre class="prettyprint lang-config">      AliasMatch "^/image/(.*)\.jpg$" "/fichiers/jpg.images/$1.jpg"
287       AliasMatch "^/image/(.*)\.gif$" "/fichiers/gif.images/$1.gif"</pre>
288
289
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.
293     </p>
294
295
296 </div>
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>
308 </table>
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>
312
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>
316
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
321     seront ajoutés.</p>
322
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>
327
328     <pre class="prettyprint lang-config"># Redirige vers une URL sur un serveur différent
329 Redirect "/service" "http://foo2.example.com/service"
330
331 # Redirige vers une URL sur le même serveur
332 Redirect "/one" "/two"</pre>
333
334
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&amp;a=42</code>, qui
341     seront redirigées vers
342     <code>http://foo2.example.com/service/foo.pl?q=23&amp;a=42</code>.
343     Notez que les <code>POST</code>s seront ignorés.<br />
344     Seuls les
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>
352
353
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>
360
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>
365
366     <dl>
367       <dt>permanent</dt>
368
369       <dd>Renvoie un code de redirection permanente (301), indiquant
370       que la ressource a été définitivement déplacée.</dd>
371
372       <dt>temp</dt>
373
374       <dd>Renvoie un code de redirection temporaire (302). C'est le
375       comportement par défaut.</dd>
376
377       <dt>seeother</dt>
378
379       <dd>Renvoie un code "See Other" (303) indiquant que la ressource
380       a été remplacée par une autre.</dd>
381
382       <dt>gone</dt>
383
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>
388     </dl>
389
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>
399
400     <pre class="prettyprint lang-config">Redirect permanent "/one" "http://example.com/two"
401 Redirect 303 "/three" "http://example.com/other"</pre>
402
403
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">&lt;Location&gt;</a></code> ou <code class="directive"><a href="../mod/core.html#locationmatch">&lt;LocationMatch&gt;</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>
410
411     <pre class="prettyprint lang-config">&lt;Location "/one"&gt;
412     Redirect permanent "http://example.com/two"
413 &lt;/Location&gt;
414 &lt;Location "/three"&gt;
415     Redirect 303 "http://example.com/other"
416 &lt;/Location&gt;
417 &lt;LocationMatch "/error/(?&lt;NUMBER&gt;[0-9]+)"&gt;
418     Redirect permanent "http://example.com/errors/%{env:MATCH_NUMBER}.html"
419 &lt;/LocationMatch&gt;</pre>
420
421
422
423 </div>
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
429 courante</td></tr>
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>
436 </table>
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>
446
447     <pre class="prettyprint lang-config">RedirectMatch "(.*)\.gif$" "http://autre.example.com$1.jpg"</pre>
448
449
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
453     détails.</p>
454
455
456 </div>
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
462 différente</td></tr>
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>
468 </table>
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>
472
473 </div>
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
479 différente</td></tr>
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>
485 </table>
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>
489
490 </div>
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>
501 </table>
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
510     fichiers local.</p>
511
512     <pre class="prettyprint lang-config">ScriptAlias "/cgi-bin/" "/web/cgi-bin/"</pre>
513
514
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
518     équivalente à :</p>
519     <pre class="prettyprint lang-config">Alias "/cgi-bin/" "/web/cgi-bin/"
520 &lt;Location "/cgi-bin"&gt;
521     SetHandler cgi-script
522     Options +ExecCGI
523 &lt;/Location&gt;</pre>
524
525
526         <p>Vous pouvez aussi utiliser <code class="directive">ScriptAlias</code>
527         avec un script ou gestionnaire de votre cru. Par exemple :</p>
528
529         <pre class="prettyprint lang-config">ScriptAlias "/cgi-bin/" "/web/cgi-handler.pl"</pre>
530
531
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>
537
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">&lt;Directory&gt;</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">&lt;Directory "/usr/local/apache2/htdocs/cgi-bin"&gt;
548     SetHandler cgi-script
549     Options ExecCGI
550 &lt;/Directory&gt;</pre>
551
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>
557
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">&lt;Location&gt;</a></code> ou <code class="directive"><a href="../mod/core.html#locationmatch">&lt;LocationMatch&gt;</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>
564
565     <pre class="prettyprint lang-config">&lt;Location "/cgi-bin"&gt;
566     ScriptAlias "/web/cgi-bin/"
567 &lt;/Location&gt;
568 &lt;LocationMatch "/cgi-bin/errors/(?&lt;NUMBER&gt;[0-9]+)"&gt;
569     ScriptAlias "/web/cgi-bin/errors/%{env:MATCH_NUMBER}.cgi"
570 &lt;/LocationMatch&gt;</pre>
571
572
573
574 <h3>Voir aussi</h3>
575 <ul>
576 <li><a href="../howto/cgi.html">Tutoriel CGI</a></li>
577 </ul>
578 </div>
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>
590 </table>
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>
599
600     <pre class="prettyprint lang-config">ScriptAliasMatch "^/cgi-bin(.*)" "/usr/local/apache/cgi-bin$1"</pre>
601
602
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>
606
607     <pre class="prettyprint lang-config">ScriptAliasMatch "(?i)^/cgi-bin(.*)" "/usr/local/apache/cgi-bin$1"</pre>
608
609
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
613     détails.</p>
614
615
616 </div>
617 </div>
618 <div class="bottomlang">
619 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_alias.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
620 <a href="../fr/mod/mod_alias.html" title="Français">&nbsp;fr&nbsp;</a> |
621 <a href="../ja/mod/mod_alias.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
622 <a href="../ko/mod/mod_alias.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
623 <a href="../tr/mod/mod_alias.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</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&amp;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';
628 (function(w, d) {
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';
633         s.async = true;
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);
636     }
637     else {
638         d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
639     }
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') {
645     prettyPrint();
646 }
647 //--><!]]></script>
648 </body></html>