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