]> granicus.if.org Git - apache/blob - docs/manual/mod/mod_alias.html.fr
Rebuild.
[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.4</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/directives.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.4</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.4</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 <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
36 fichiers depuis l'arborescence des documents du site web, ainsi que la
37 redirection d'URL</td></tr>
38 <tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr>
39 <tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>alias_module</td></tr>
40 <tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_alias.c</td></tr></table>
41 <h3>Sommaire</h3>
42
43     <p>Les directives fournies par ce module permettent de manipuler et
44     de contrôler les URLs à l'arrivée des requêtes sur le serveur. Les
45     directives <code class="directive"><a href="#alias">Alias</a></code> et
46     <code class="directive"><a href="#scriptalias">ScriptAlias</a></code> permettent de
47     faire correspondre des URLs avec des chemins du système de fichiers.
48     Ceci permet de servir des contenus qui ne sont pas situés dans
49     l'arborescence de <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> comme s'ils y étaient
50     réellement. La directive <code class="directive"><a href="#scriptalias">ScriptAlias</a></code> a pour effet
51     supplémentaire de marquer le répertoire cible comme conteneur de
52     scripts CGI.</p>
53
54     <p>Les directives <code class="directive"><a href="#redirect">Redirect</a></code>
55     indiquent aux clients qu'ils doivent effectuer une nouvelle requête
56     avec une URL différente. Elles sont souvent utilisées lorsqu'une
57     ressource a été déplacée.</p>
58
59     <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
60     section <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code>
61     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
62     ou le chemin de destination.
63         </p>
64
65     <p><code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code> est conçu pour traiter des tâches
66     simples de manipulation d'URL. Pour des tâches plus complexes comme
67     la manipulation des chaînes d'arguments des requêtes, utilisez
68     plutôt les outils fournis par le module <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code></p>
69
70 </div>
71 <div id="quickview"><h3>Sujets</h3>
72 <ul id="topics">
73 <li><img alt="" src="../images/down.gif" /> <a href="#order">Chronologie du traitement</a></li>
74 </ul><h3 class="directives">Directives</h3>
75 <ul id="toc">
76 <li><img alt="" src="../images/down.gif" /> <a href="#alias">Alias</a></li>
77 <li><img alt="" src="../images/down.gif" /> <a href="#aliasmatch">AliasMatch</a></li>
78 <li><img alt="" src="../images/down.gif" /> <a href="#redirect">Redirect</a></li>
79 <li><img alt="" src="../images/down.gif" /> <a href="#redirectmatch">RedirectMatch</a></li>
80 <li><img alt="" src="../images/down.gif" /> <a href="#redirectpermanent">RedirectPermanent</a></li>
81 <li><img alt="" src="../images/down.gif" /> <a href="#redirecttemp">RedirectTemp</a></li>
82 <li><img alt="" src="../images/down.gif" /> <a href="#scriptalias">ScriptAlias</a></li>
83 <li><img alt="" src="../images/down.gif" /> <a href="#scriptaliasmatch">ScriptAliasMatch</a></li>
84 </ul>
85 <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>
86 <ul class="seealso">
87 <li><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code></li>
88 <li><a href="../urlmapping.html">Mise en correspondance des URLs avec le
89 système de fichiers</a></li>
90 <li><a href="#comments_section">Commentaires</a></li></ul></div>
91 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
92 <div class="section">
93 <h2><a name="order" id="order">Chronologie du traitement</a></h2>
94
95     <p>Les alias et redirections apparaissant dans différents contextes
96     sont traités comme les autres directives en respectant les <a href="../sections.html#mergin">règles de fusion</a> standards. Par
97     contre, ils sont traités selon une chronologie particulière
98     lorsqu'ils apparaissent dans le même contexte (par exemple, dans la
99     même section <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>).</p>
100
101     <p>Premièrement, toutes les redirections sont traitées avant les
102     alias, et ainsi, une requête qui correspond à une directive
103     <code class="directive"><a href="#redirect">Redirect</a></code> ou <code class="directive"><a href="#redirectmatch">RedirectMatch</a></code> ne se verra jamais
104     appliquer d'alias. Deuxièmement, les alias et redirections sont
105     traités selon l'ordre dans lequel ils apparaissent dans le fichier
106     de configuration, seule la première correspondance étant prise en
107     compte.</p>
108
109     <p>Ainsi, lorsqu'une ou plusieurs de ces directives s'appliquent au
110     même sous-répertoire, vous devez classer les chemins du plus précis
111     au moins précis afin que toutes les directives puissent
112     éventuellement s'appliquer, comme dans l'exemple suivant :</p>
113
114     <pre class="prettyprint lang-config">Alias "/foo/bar" "/baz"
115 Alias "/foo" "/gaq"</pre>
116
117
118     <p>Si l'ordre des directives était inversé, la directive <code class="directive"><a href="#alias">Alias</a></code> ayant pour argument
119     <code>/foo</code> serait toujours appliquée avant la directive
120     <code class="directive"><a href="#alias">Alias</a></code> ayant pour argument
121     <code>/foo/bar</code>, et cette dernière serait toujours
122     ignorée.</p>
123
124     <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
125     <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code> ou
126     <code class="directive"><a href="../mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code>
127     l'emporte sur d'autres définitions éventuelles de ces mêmes
128     directives au niveau de la configuration générale du serveur.</p>
129
130 </div>
131 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
132 <div class="directive-section"><h2><a name="alias" id="alias">Directive</a> <a name="Alias" id="Alias">Alias</a></h2>
133 <table class="directive">
134 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Met en correspondance des URLs avec des chemins du système
135 de fichiers</td></tr>
136 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Alias [<var>chemin URL</var>]
137 <var>chemin fichier</var>|<var>chemin répertoire</var></code></td></tr>
138 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
139 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
140 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_alias</td></tr>
141 </table>
142
143     <p>La directive <code class="directive">Alias</code> permet de stocker des
144     documents (destinés à être servis) dans des zones du système de
145     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
146     (décodé avec caractères %) commence par <var>chemin URL</var> seront
147     mises en correspondance avec des fichiers locaux dont le chemin
148     commence par <var>chemin répertoire</var>. Le <var>chemin URL</var>
149     est sensible à la casse, même sur les systèmes de fichiers
150     insensibles à la casse.</p>
151
152     <pre class="prettyprint lang-config">Alias "/image" "/ftp/pub/image"</pre>
153
154
155     <p>Une requête pour <code>http://example.com/image/foo.gif</code> fera
156     renvoyer par le serveur le fichier
157     <code>/ftp/pub/image/foo.gif</code>. Seuls les éléments de chemin
158     complets sont testés ; ainsi l'alias précédent ne conviendra pas
159     pour une requête du style <code>http://example.com/imagefoo.gif</code>.
160     Pour des mises en correspondance plus complexes faisant intervenir
161     les expressions rationnelles, veuillez vous reporter à la directive
162     <code class="directive"><a href="#aliasmatch">AliasMatch</a></code>.</p>
163
164     <p>Notez que si vous ajoutez un slash de fin au <var>chemin
165     URL</var>, vous devrez aussi ajouter un slash de fin au chemin de la
166     requête. Autrement dit, si vous définissez</p>
167
168     <pre class="prettyprint lang-config">Alias "/icons/" "/usr/local/apache/icons/"</pre>
169
170
171     <p>l'alias précédent ne s'appliquera pas à l'URL
172     <code>/icons</code> à cause de l'absence du slash final. Ainsi, si
173     le slash final est absent du <var>chemin de l'URL</var>, il doit
174     aussi l'être du <var>chemin du fichier</var>.</p>
175
176     <p>Notez qu'il pourra s'avérer nécessaire de définir des sections
177     <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code>
178     supplémentaires qui couvriront la  <em>destination</em> des alias.
179     Le traitement des alias intervenant avant le traitement des sections
180     <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code>,
181     seules les cibles des alias sont affectées (Notez cependant
182     que les sections <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</a></code> sont traitées avant les alias, et
183     s'appliqueront donc).</p>
184
185     <p>En particulier, si vous créez un alias ayant pour cible un
186     répertoire situé en dehors de l'arborescence de votre site web
187     <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>, vous devrez
188     probablement permettre explicitement l'accès à ce répertoire.</p>
189
190     <pre class="prettyprint lang-config">Alias "/image" "/ftp/pub/image"
191 &lt;Directory "/ftp/pub/image"&gt;
192     Require all granted
193 &lt;/Directory&gt;</pre>
194
195
196     <p>Le nombre de slashes dans le paramètre <var>chemin URL</var> doit
197     correspondre au nombre de slashes dans le chemin URL de la requête.</p>
198
199     <p>Si la directive <code class="directive">Alias</code> est définie au sein
200     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
201     omis et <var>chemin fichier</var> est interprété en utilisant la <a href="../expr.html">syntaxe des expressions</a>.<br />
202     Cette syntaxe est disponible à partir de la version 2.4.19 du
203     serveur HTTP Apache.</p>
204
205     <pre class="prettyprint lang-config">&lt;Location "/image"&gt;
206     Alias "/ftp/pub/image"
207 &lt;/Location&gt;
208 &lt;LocationMatch "/error/(?&lt;NUMBER&gt;[0-9]+)"&gt;
209     Alias "/usr/local/apache/errors/%{env:MATCH_NUMBER}.html"
210 &lt;/LocationMatch&gt;</pre>
211
212
213
214 </div>
215 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
216 <div class="directive-section"><h2><a name="aliasmatch" id="aliasmatch">Directive</a> <a name="AliasMatch" id="AliasMatch">AliasMatch</a></h2>
217 <table class="directive">
218 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Met en correspondance des URLs avec le système de fichiers
219 en faisant intervenir les expressions rationnelles</td></tr>
220 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AliasMatch <var>regex</var>
221 <var>chemin fichier</var>|<var>chemin répertoire</var></code></td></tr>
222 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
223 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
224 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_alias</td></tr>
225 </table>
226     <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
227     simple mise en correspondance de préfixe. L'expression rationnelle
228     fournie est mise en correspondance avec le chemin URL, et si elle
229     correspond, le serveur va substituer toute partie de chemin
230     correspondant à l'expression entre parenthèses dans la chaîne
231     fournie et l'utiliser comme nom de fichier.
232     Par exemple, pour activer le répertoire <code>/icons</code>, on peut
233     utiliser :</p>
234
235     <pre class="prettyprint lang-config">AliasMatch "^/icons(.*)" "/usr/local/apache/icons$1$2"</pre>
236
237
238     <p>Toute la puissance des <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expressions
239     rationnelles</a> peut être mise à contribution. Par exemple,
240     il est possible de construire un alias avec un modèle de chemin URL
241     insensible à la casse :</p>
242
243     <pre class="prettyprint lang-config">AliasMatch "(?i)^/image(.*)" "/ftp/pub/image$1"</pre>
244
245
246     <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
247     portion supplémentaire de l'URI située après la partie du modèle qui
248     correspond, à la fin du chemin du fichier de la partie droite, alors
249     que <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> ne le fait
250     pas. Cela signifie qu'il sera préférable dans la plupart des cas de
251     comparer l'expression rationnelle du modèle à la totalité de l'URI
252     de la requête, et d'utiliser les substitutions dans la partie
253     droite.</p>
254
255     <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
256     résultat. Au minimum, vous devez ajouter <code>^</code> au début de
257     l'expression rationnelle, <code>(.*)$</code> à sa fin et
258     <code>$1</code> à la fin de la chaîne de remplacement.</p>
259
260     <p>Par exemple, supposons que nous voulions reformuler cet alias
261     avec AliasMatch :</p>
262
263     <pre class="prettyprint lang-config">Alias "/image/" "/ftp/pub/image/"</pre>
264
265
266     <p>Le simple remplacement d'Alias par AliasMatch ne produira pas le
267     même résultat. Ainsi, ce qui suit va rediriger toutes les requêtes
268     qui contiennent /image/ vers /ftp/pub/image/ :</p>
269
270     <pre class="prettyprint lang-config">AliasMatch "/image/" "/ftp/pub/image/"</pre>
271
272
273     <p>Voici la directive AliasMatch qui produira le même résultat que
274     la directive Alias ci-dessus :</p>
275
276     <pre class="prettyprint lang-config">AliasMatch "^/image/(.*)$" "/ftp/pub/image/$1"</pre>
277
278
279     <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
280     des choses beaucoup plus sophistiquées. Par exemple, vous pouvez
281     servir différentes sortes de fichiers à partir de répertoires
282     différents :</p>
283
284     <pre class="prettyprint lang-config">      AliasMatch "^/image/(.*)\.jpg$" "/fichiers/jpg.images/$1.jpg"
285       AliasMatch "^/image/(.*)\.gif$" "/fichiers/gif.images/$1.gif"</pre>
286
287
288     <p>Les éventuels slashes de tête multiples seront supprimés par le
289     serveur avant que les directives de ce module n'effectuent des
290     comparaisons avec le chemin URL de la requête.
291     </p>
292
293
294 </div>
295 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
296 <div class="directive-section"><h2><a name="redirect" id="redirect">Directive</a> <a name="Redirect" id="Redirect">Redirect</a></h2>
297 <table class="directive">
298 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Envoie une redirection externe demandant au client
299 d'effectuer une autre requête avec une URL différente</td></tr>
300 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Redirect [<var>état</var>] [<var>chemin URL</var>]
301 <var>URL</var></code></td></tr>
302 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
303 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
304 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
305 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_alias</td></tr>
306 </table>
307     <p>La directive Redirect permet de faire correspondre une ancienne
308     URL à une nouvelle en demandant au client d'aller chercher la ressource à
309     une autre localisation.</p>
310
311     <p>L'ancien <em>chemin URL</em> est un chemin sensible à la casse
312     (décodé à l'aide de caractères %) commençant par un slash. Les
313     chemins relatifs ne sont pas autorisés.</p>
314
315     <p>La nouvelle <em>URL</em>
316     peut être une URL absolue commençant par un protocole et un nom
317     d'hôte, mais on peut aussi utiliser un chemin URL commençant par un
318     slash, auquel cas le protocole et le nom d'hôte du serveur local
319     seront ajoutés.</p>
320
321     <p>Ensuite, toute requête commençant par <em>chemin URL</em> va
322     renvoyer une redirection au client vers l'<em>URL</em> cible. Tout
323     élément de chemin supplémentaire situé en aval du <em>chemin
324     URL</em> sera ajouté à l'URL cible.</p>
325
326     <pre class="prettyprint lang-config"># Redirige vers une URL sur un serveur différent
327 Redirect "/service" "http://foo2.example.com/service"
328
329 # Redirige vers une URL sur le même serveur
330 Redirect "/one" "/two"</pre>
331
332
333     <p>Si le client effectue une requête pour l'URL
334     <code>http://example.com/service/foo.txt</code>, il lui sera demandé
335     d'en effectuer une autre pour l'URL
336     <code>http://foo2.example.com/service/foo.txt</code>. Ceci concerne
337     les requêtes avec paramètres <code>GET</code>, comme
338     <code>http://example.com/service/foo.pl?q=23&amp;a=42</code>, qui
339     seront redirigées vers
340     <code>http://foo2.example.com/service/foo.pl?q=23&amp;a=42</code>.
341     Notez que les <code>POST</code>s seront ignorés.<br />
342     Seuls les
343     éléments de chemin complets sont testés, si bien que l'exemple
344     précédent ne s'appliquera pas à l'URL
345     <code>http://example.com/servicefoo.txt</code>. Pour des mises en
346     correspondance plus complexes utilisant la <a href="../expr.html">syntaxe des expressions</a>, ne spécifiez pas
347     d'argument <var>chemin URL</var> comme décrit ci-dessous. En outre,
348     pour une mise en correspondance en utilisant les expressions
349     rationnelles, veuillez vous reporter à la directive <code class="directive"><a href="#redirectmatch">RedirectMatch</a></code>.</p>
350
351
352     <div class="note"><h3>Note</h3>
353     <p>Les directives de redirection ont priorité sur les directives
354     Alias et ScriptAlias, quel que soit leur ordre d'apparition dans le
355     fichier de configuration. Les directives Redirect définies au sein
356     d'une section Location l'emportent sur les directives Redirect et
357     Alias comportant un argument <var>chemin URL</var>.</p></div>
358
359     <p>Si aucun argument <var>état</var> n'est spécifié, la
360     redirection sera temporaire (code HTTP 302). Le client est alors
361     informé que la ressource a été temporairement déplacée. On peut
362     utiliser l'argument <var>état</var> pour renvoyer d'autres codes HTTP :</p>
363
364     <dl>
365       <dt>permanent</dt>
366
367       <dd>Renvoie un code de redirection permanente (301), indiquant
368       que la ressource a été définitivement déplacée.</dd>
369
370       <dt>temp</dt>
371
372       <dd>Renvoie un code de redirection temporaire (302). C'est le
373       comportement par défaut.</dd>
374
375       <dt>seeother</dt>
376
377       <dd>Renvoie un code "See Other" (303) indiquant que la ressource
378       a été remplacée par une autre.</dd>
379
380       <dt>gone</dt>
381
382       <dd>Renvoie un code "Gone" (410) indiquant que la ressource a
383       été définitivement supprimée. Lorsque
384       ce code est utilisé, on ne
385       doit pas utiliser l'argument <var>URL</var>.</dd>
386     </dl>
387
388     <p>On peut renvoyer d'autres codes en spécifiant le code
389     numérique comme valeur de l'argument of <var>état</var>.
390     Si le code est compris entre 300 et 399, l'argument
391     <var>URL</var> doit être présent. Si le code
392     n'est <em>pas</em> compris entre 300 et 399, l'argument
393     <var>URL</var> ne doit pas apparaître. Le code doit être un code
394     HTTP valide, connu du serveur HTTP Apache (voir la
395     fonction <code>send_error_response</code> dans
396     http_protocol.c).</p>
397
398     <pre class="prettyprint lang-config">Redirect permanent "/one" "http://example.com/two"
399 Redirect 303 "/three" "http://example.com/other"</pre>
400
401
402     <p>Si une directive <code class="directive">Redirect</code> est définie au
403     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
404     URL</var> est omis, l'argument <var>URL</var> sera interprété en
405     utilisant la <a href="../expr.html">syntaxe des expressions</a>.<br />
406     Cette syntaxe est disponible à partir de la version 2.4.19 du
407     serveur HTTP Apache.</p>
408
409     <pre class="prettyprint lang-config">&lt;Location "/one"&gt;
410     Redirect permanent "http://example.com/two"
411 &lt;/Location&gt;
412 &lt;Location "/three"&gt;
413     Redirect 303 "http://example.com/other"
414 &lt;/Location&gt;
415 &lt;LocationMatch "/error/(?&lt;NUMBER&gt;[0-9]+)"&gt;
416     Redirect permanent "http://example.com/errors/%{env:MATCH_NUMBER}.html"
417 &lt;/LocationMatch&gt;</pre>
418
419
420
421 </div>
422 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
423 <div class="directive-section"><h2><a name="redirectmatch" id="redirectmatch">Directive</a> <a name="RedirectMatch" id="RedirectMatch">RedirectMatch</a></h2>
424 <table class="directive">
425 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Envoie une redirection externe faisant appel aux
426 expressions rationnelles pour la mise en correspondance de l'URL
427 courante</td></tr>
428 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RedirectMatch [<var>état</var>] <var>regex</var>
429 <var>URL</var></code></td></tr>
430 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
431 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
432 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
433 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_alias</td></tr>
434 </table>
435     <p>Cette directive est identique à la directive <code class="directive"><a href="#redirect">Redirect</a></code>, mais fait appel aux
436     <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expressions rationnelles</a>, à la
437     place d'une simple mise en correspondance de préfixe. L'expression
438     rationnelle fournie est mise en correspondance avec le chemin URL,
439     et si elle correspond, le serveur va substituer toute partie de
440     chemin correspondante entre parenthèses dans la chaîne spécifiée et
441     l'utiliser comme nom de fichier. Par exemple, pour rediriger tous
442     les fichiers GIF vers les fichiers JPEG de même nom sur un autre
443     serveur, on peut utiliser :</p>
444
445     <pre class="prettyprint lang-config">RedirectMatch "(.*)\.gif$" "http://autre.example.com$1.jpg"</pre>
446
447
448     <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
449     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
450     <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> pour plus de
451     détails.</p>
452
453
454 </div>
455 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
456 <div class="directive-section"><h2><a name="redirectpermanent" id="redirectpermanent">Directive</a> <a name="RedirectPermanent" id="RedirectPermanent">RedirectPermanent</a></h2>
457 <table class="directive">
458 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Envoie une redirection externe permanente demandant au
459 client d'effectuer une nouvelle requête avec une URL
460 différente</td></tr>
461 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RedirectPermanent <var>chemin URL</var> <var>URL</var></code></td></tr>
462 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
463 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
464 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
465 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_alias</td></tr>
466 </table>
467     <p>Cette directive informe le client que la redirection est
468     permanente (code 301). Son comportement est exactement le même
469     que celui de <code>Redirect permanent</code>.</p>
470
471 </div>
472 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
473 <div class="directive-section"><h2><a name="redirecttemp" id="redirecttemp">Directive</a> <a name="RedirectTemp" id="RedirectTemp">RedirectTemp</a></h2>
474 <table class="directive">
475 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Envoie une redirection externe temporaire demandant au
476 client d'effectuer une nouvelle requête avec une URL
477 différente</td></tr>
478 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RedirectTemp <var>chemin URL</var> <var>URL</var></code></td></tr>
479 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr>
480 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
481 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
482 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_alias</td></tr>
483 </table>
484     <p>Cette directive informe le client que la redirection n'est
485     que temporaire (code 302). Son comportement est exactement le même
486     que celui de <code>Redirect temp</code>.</p>
487
488 </div>
489 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
490 <div class="directive-section"><h2><a name="scriptalias" id="scriptalias">Directive</a> <a name="ScriptAlias" id="ScriptAlias">ScriptAlias</a></h2>
491 <table class="directive">
492 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fait correspondre une URL à une zone du système de fichiers
493 et désigne la cible comme script CGI</td></tr>
494 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ScriptAlias [<var>chemin URL</var>]
495 <var>chemin fichier</var>|<var>chemin répertoire</var></code></td></tr>
496 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
497 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
498 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_alias</td></tr>
499 </table>
500     <p>La directive <code class="directive">ScriptAlias</code> présente le même
501     comportement que la directive <code class="directive"><a href="#alias">Alias</a></code>, mais désigne en plus le
502     répertoire cible comme conteneur de scripts CGI qui seront traitées
503     par le gestionnaire cgi-script du module <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>.
504     Les URLs dont le chemin URL sensible à la casse (décodé avec
505     caractères %) commence par <var>chemin URL</var> seront mises en
506     correspondance avec les scripts dont le chemin commence par le
507     second argument, qui est un chemin complet dans le système de
508     fichiers local.</p>
509
510     <pre class="prettyprint lang-config">ScriptAlias "/cgi-bin/" "/web/cgi-bin/"</pre>
511
512
513     <p>Une requête pour <code>http://example.com/cgi-bin/foo</code>
514     ferait exécuter par le serveur le script
515     <code>/web/cgi-bin/foo</code>. Cette configuration est sensiblement
516     équivalente à :</p>
517     <pre class="prettyprint lang-config">Alias "/cgi-bin/" "/web/cgi-bin/"
518 &lt;Location "/cgi-bin"&gt;
519     SetHandler cgi-script
520     Options +ExecCGI
521 &lt;/Location&gt;</pre>
522
523
524         <p>Vous pouvez aussi utiliser <code class="directive">ScriptAlias</code>
525         avec un script ou gestionnaire de votre cru. Par exemple :</p>
526
527         <pre class="prettyprint lang-config">ScriptAlias "/cgi-bin/" "/web/cgi-handler.pl"</pre>
528
529
530     <p>Dans ce scénario, tous les fichiers faisant l'objet d'une requête
531     dans <code>/cgi-bin/</code> seront traités par le fichier que vous
532     avez spécifié, ce qui vous permet d'utiliser votre propre
533     gestionnaire. Vous pouvez l'utiliser comme enveloppe (wrapper) pour
534     les scripts CGI afin d'ajouter du contenu, ou autre action "maison".</p>
535
536     <div class="warning">Il est préférable d'éviter de placer les
537     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
538     accidentellement leur code source lors d'une modification de
539     configuration. On y parvient aisément avec
540     <code class="directive">ScriptAlias</code> en mettant en correspondance une
541     URL et en désignant la cible comme scripts CGI par la même occasion.
542     Si vous choisissez de placer vos scripts CGI dans un répertoire
543     accessible depuis le web, n'utilisez pas
544     <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 :
545     <pre class="prettyprint lang-config">&lt;Directory "/usr/local/apache2/htdocs/cgi-bin"&gt;
546     SetHandler cgi-script
547     Options ExecCGI
548 &lt;/Directory&gt;</pre>
549
550     Ceci est nécessaire car plusieurs <var>chemins URL</var> peuvent
551     correspondre à la même zone du système de fichiers, court-circuitant
552     ainsi la directive <code class="directive">ScriptAlias</code> et révélant le
553     code source des scripts CGI s'ils ne sont pas protégés par une
554     section <code class="directive"><a href="../mod/core.html#directory">Directory</a></code>.</div>
555
556     <p>Si la directive <code class="directive">ScriptAlias</code> est définie au
557     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
558     URL</var> est omis, l'argument <var>URL</var> sera interprété en
559     utilisant la <a href="../expr.html">syntaxe des expressions</a>.<br />
560     Cette syntaxe est disponible à partir de la version 2.4.19 du
561     serveur HTTP Apache.</p>
562
563     <pre class="prettyprint lang-config">&lt;Location "/cgi-bin"&gt;
564     ScriptAlias "/web/cgi-bin/"
565 &lt;/Location&gt;
566 &lt;LocationMatch "/cgi-bin/errors/(?&lt;NUMBER&gt;[0-9]+)"&gt;
567     ScriptAlias "/web/cgi-bin/errors/%{env:MATCH_NUMBER}.cgi"
568 &lt;/LocationMatch&gt;</pre>
569
570
571
572 <h3>Voir aussi</h3>
573 <ul>
574 <li><a href="../howto/cgi.html">Tutoriel CGI</a></li>
575 </ul>
576 </div>
577 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
578 <div class="directive-section"><h2><a name="scriptaliasmatch" id="scriptaliasmatch">Directive</a> <a name="ScriptAliasMatch" id="ScriptAliasMatch">ScriptAliasMatch</a></h2>
579 <table class="directive">
580 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Fait correspondre une URL à une zone du système de fichiers
581 en faisant appel aux expressions rationnelles et en désignant la cible
582 comme un script CGI</td></tr>
583 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ScriptAliasMatch <var>regex</var>
584 <var>chemin fichier</var>|<var>chemin répertoire</var></code></td></tr>
585 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr>
586 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
587 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_alias</td></tr>
588 </table>
589     <p>Cette directive est équivalente à la directive <code class="directive"><a href="#scriptalias">ScriptAlias</a></code>, mais fait appel aux
590     <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expressions rationnelles</a>, à la
591     place d'une simple mise en correspondance de préfixe. L'expression
592     rationnelle fournie est mise en correspondance avec le chemin URL,
593     et si elle correspond, le serveur va substituer toute partie de
594     chemin entre parenthèses dans la chaîne spécifiée et l'utiliser
595     comme nom de fichier. Par exemple, pour activer le répertoire
596     standard <code>/cgi-bin</code>, on peut utiliser :</p>
597
598     <pre class="prettyprint lang-config">ScriptAliasMatch "^/cgi-bin(.*)" "/usr/local/apache/cgi-bin$1"</pre>
599
600
601     <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 à
602     contribution. Par exemple, il est possible de construire un alias
603     avec une comparaison du modèle du chemin URL insensible à la casse :</p>
604
605     <pre class="prettyprint lang-config">ScriptAliasMatch "(?i)^/cgi-bin(.*)" "/usr/local/apache/cgi-bin$1"</pre>
606
607
608     <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
609     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
610     <code class="directive"><a href="#aliasmatch">AliasMatch</a></code> pour plus de
611     détails.</p>
612
613
614 </div>
615 </div>
616 <div class="bottomlang">
617 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_alias.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
618 <a href="../fr/mod/mod_alias.html" title="Français">&nbsp;fr&nbsp;</a> |
619 <a href="../ja/mod/mod_alias.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
620 <a href="../ko/mod/mod_alias.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
621 <a href="../tr/mod/mod_alias.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
622 </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>
623 <script type="text/javascript"><!--//--><![CDATA[//><!--
624 var comments_shortname = 'httpd';
625 var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_alias.html';
626 (function(w, d) {
627     if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
628         d.write('<div id="comments_thread"><\/div>');
629         var s = d.createElement('script');
630         s.type = 'text/javascript';
631         s.async = true;
632         s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
633         (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
634     }
635     else { 
636         d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
637     }
638 })(window, document);
639 //--><!]]></script></div><div id="footer">
640 <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>
641 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.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[//><!--
642 if (typeof(prettyPrint) !== 'undefined') {
643     prettyPrint();
644 }
645 //--><!]]></script>
646 </body></html>