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
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>
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="<-" alt="<-" src="../images/left.gif" /></a></div>
20 <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.3</a> > <a href="./">Modules</a></div>
21 <div id="page-content">
22 <div id="preamble"><h1>Module Apache mod_alias</h1>
24 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_alias.html" hreflang="en" rel="alternate" title="English"> en </a> |
25 <a href="../fr/mod/mod_alias.html" title="Français"> fr </a> |
26 <a href="../ja/mod/mod_alias.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
27 <a href="../ko/mod/mod_alias.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
28 <a href="../tr/mod/mod_alias.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
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>
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
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>
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>
60 <div id="quickview"><h3 class="directives">Directives</h3>
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>
73 <li><img alt="" src="../images/down.gif" /> <a href="#order">Chronologie du traitement</a></li>
74 </ul><h3>Voir aussi</h3>
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>
80 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
82 <h2><a name="order" id="order">Chronologie du traitement</a></h2>
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"><VirtualHost></a></code>).</p>
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
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>
103 <div class="example"><p><code>
104 Alias /foo/bar /baz<br />
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
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>
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>
136 <div class="example"><h3>Exemple :</h3><p><code>
137 Alias /image /ftp/pub/image
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>
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>
153 <dl><dd><code>Alias /icons/ /usr/local/apache/icons/</code></dd></dl>
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>
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"><Directory></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"><Directory></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"><Location></a></code> sont traitées avant les alias, et
167 s'appliqueront donc).</p>
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>
174 <div class="example"><h3>Exemple :</h3><p><code>
175 Alias /image /ftp/pub/image<br />
176 <Directory /ftp/pub/image><br />
177 <span class="indent">
178 Require all granted<br />
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>
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
205 <div class="example"><p><code>
206 AliasMatch ^/icons(.*) /usr/local/apache/icons$1
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>
214 <div class="example"><p><code>
215 AliasMatch (?i)^/image(.*) /ftp/pub/image$1
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
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>
232 <p>Par exemple, supposons que nous voulions reformuler cet alias
233 avec AliasMatch :</p>
235 <div class="example"><p><code>
236 Alias /image/ /ftp/pub/image/
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>
243 <div class="example"><p><code>
244 AliasMatch /image/ /ftp/pub/image/
247 <p>Voici la directive AliasMatch qui produira le même résultat que
248 la directive Alias ci-dessus :</p>
250 <div class="example"><p><code>
251 AliasMatch ^/image/(.*)$ /ftp/pub/image/$1
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
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
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>
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>
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>
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
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>
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 />
301 # Redirige vers une URL sur le même serveur<br />
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&a=42</code>, qui
311 seront redirigées vers
312 <code>http://foo2.example.com/service/foo.pl?q=23&a=42</code>.
313 Notez que les <code>POST</code>s seront ignorés.<br />
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>
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>
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>
335 <dd>Renvoie un code de redirection permanente (301), indiquant
336 que la ressource a été définitivement déplacée.</dd>
340 <dd>Renvoie un code de redirection temporaire (302). C'est le
341 comportement par défaut.</dd>
345 <dd>Renvoie un code "See Other" (303) indiquant que la ressource
346 a été remplacée par une autre.</dd>
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>
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>
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
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
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>
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>
396 <div class="example"><p><code>
397 RedirectMatch (.*)\.gif$ http://autre.example.com$1.jpg
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
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
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>
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>
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
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>
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>
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>
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
462 <div class="example"><h3>Exemple :</h3><p><code>
463 ScriptAlias /cgi-bin/ /web/cgi-bin/
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
470 <div class="example"><p><code>
471 Alias /cgi-bin/ /web/cgi-bin/<br />
472 <Location /cgi-bin ><br />
473 <span class="indent">
474 SetHandler cgi-script<br />
475 Options +ExecCGI<br />
480 <p>Vous pouvez aussi utiliser <code class="directive">ScriptAlias</code>
481 avec un script ou gestionnaire de votre cru. Par exemple :</p>
483 <div class="example"><p><code>
484 ScriptAlias /cgi-bin/ /web/cgi-handler.pl
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>
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"><Directory></a></code>, <code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code>, et <code class="directive"><a href="../mod/core.html#options">Options</a></code> comme dans l'exemple suivant :
502 <div class="example"><p><code>
503 <Directory /usr/local/apache2/htdocs/cgi-bin ><br />
504 <span class="indent">
505 SetHandler cgi-script<br />
506 Options ExecCGI<br />
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>
519 <li><a href="../howto/cgi.html">Tutoriel CGI</a></li>
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>
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>
543 <div class="example"><p><code>
544 ScriptAliasMatch ^/cgi-bin(.*) /usr/local/apache/cgi-bin$1
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>
551 <div class="example"><p><code>
552 ScriptAliasMatch (?i)^/cgi-bin(.*) /usr/local/apache/cgi-bin$1
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
563 <div class="bottomlang">
564 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_alias.html" hreflang="en" rel="alternate" title="English"> en </a> |
565 <a href="../fr/mod/mod_alias.html" title="Français"> fr </a> |
566 <a href="../ja/mod/mod_alias.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
567 <a href="../ko/mod/mod_alias.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
568 <a href="../tr/mod/mod_alias.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </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>