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