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" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
12 <script src="../style/scripts/prettify.js" type="text/javascript">
15 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
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="<-" alt="<-" src="../images/left.gif" /></a></div>
23 <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.5</a> > <a href="./">Modules</a></div>
24 <div id="page-content">
25 <div id="preamble"><h1>Module Apache mod_alias</h1>
27 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_alias.html" hreflang="en" rel="alternate" title="English"> en </a> |
28 <a href="../fr/mod/mod_alias.html" title="Français"> fr </a> |
29 <a href="../ja/mod/mod_alias.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
30 <a href="../ko/mod/mod_alias.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
31 <a href="../tr/mod/mod_alias.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
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>
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
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>
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>
63 <div id="quickview"><h3 class="directives">Directives</h3>
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>
76 <li><img alt="" src="../images/down.gif" /> <a href="#order">Chronologie du traitement</a></li>
77 </ul><h3>Voir aussi</h3>
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>
85 <h2><a name="order" id="order">Chronologie du traitement</a></h2>
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"><VirtualHost></a></code>).</p>
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
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>
106 <pre class="prettyprint lang-config">
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
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>
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>
140 <pre class="prettyprint lang-config">
141 Alias /image /ftp/pub/image
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>
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>
158 <dl><dd><code>Alias /icons/ /usr/local/apache/icons/</code></dd></dl>
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>
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"><Directory></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"><Directory></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"><Location></a></code> sont traitées avant les alias, et
172 s'appliqueront donc).</p>
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>
179 <pre class="prettyprint lang-config">
180 Alias /image /ftp/pub/image
181 <Directory /ftp/pub/image>
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>
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
209 <pre class="prettyprint lang-config">
210 AliasMatch ^/icons(.*) /usr/local/apache/icons$1
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>
219 <pre class="prettyprint lang-config">
220 AliasMatch (?i)^/image(.*) /ftp/pub/image$1
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
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>
238 <p>Par exemple, supposons que nous voulions reformuler cet alias
239 avec AliasMatch :</p>
241 <pre class="prettyprint lang-config">
242 Alias /image/ /ftp/pub/image/
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>
250 <pre class="prettyprint lang-config">
251 AliasMatch /image/ /ftp/pub/image/
255 <p>Voici la directive AliasMatch qui produira le même résultat que
256 la directive Alias ci-dessus :</p>
258 <pre class="prettyprint lang-config">
259 AliasMatch ^/image/(.*)$ /ftp/pub/image/$1
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
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
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>
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>
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>
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
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>
307 <pre class="prettyprint lang-config">
308 # Redirige vers une URL sur un serveur différent
309 Redirect /service http://foo2.example.com/service
311 # Redirige vers une URL sur le même serveur
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&a=42</code>, qui
322 seront redirigées vers
323 <code>http://foo2.example.com/service/foo.pl?q=23&a=42</code>.
324 Notez que les <code>POST</code>s seront ignorés.<br />
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>
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>
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>
346 <dd>Renvoie un code de redirection permanente (301), indiquant
347 que la ressource a été définitivement déplacée.</dd>
351 <dd>Renvoie un code de redirection temporaire (302). C'est le
352 comportement par défaut.</dd>
356 <dd>Renvoie un code "See Other" (303) indiquant que la ressource
357 a été remplacée par une autre.</dd>
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>
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>
377 <pre class="prettyprint lang-config">
378 Redirect permanent /one http://example.com/two
379 Redirect 303 /three http://example.com/other
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
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>
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>
408 <pre class="prettyprint lang-config">
409 RedirectMatch (.*)\.gif$ http://autre.example.com$1.jpg
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
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
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>
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>
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
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>
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>
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>
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
475 <pre class="prettyprint lang-config">
476 ScriptAlias /cgi-bin/ /web/cgi-bin/
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
484 <pre class="prettyprint lang-config">
485 Alias /cgi-bin/ /web/cgi-bin/
486 <Location /cgi-bin >
487 SetHandler cgi-script
493 <p>Vous pouvez aussi utiliser <code class="directive">ScriptAlias</code>
494 avec un script ou gestionnaire de votre cru. Par exemple :</p>
496 <pre class="prettyprint lang-config">
497 ScriptAlias /cgi-bin/ /web/cgi-handler.pl
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>
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"><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 :
516 <pre class="prettyprint lang-config">
517 <Directory /usr/local/apache2/htdocs/cgi-bin >
518 SetHandler cgi-script
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>
532 <li><a href="../howto/cgi.html">Tutoriel CGI</a></li>
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>
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>
556 <pre class="prettyprint lang-config">
557 ScriptAliasMatch ^/cgi-bin(.*) /usr/local/apache/cgi-bin$1
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>
565 <pre class="prettyprint lang-config">
566 ScriptAliasMatch (?i)^/cgi-bin(.*) /usr/local/apache/cgi-bin$1
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
578 <div class="bottomlang">
579 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_alias.html" hreflang="en" rel="alternate" title="English"> en </a> |
580 <a href="../fr/mod/mod_alias.html" title="Français"> fr </a> |
581 <a href="../ja/mod/mod_alias.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
582 <a href="../ko/mod/mod_alias.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
583 <a href="../tr/mod/mod_alias.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </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&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';
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';
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);
598 d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
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') {