]> granicus.if.org Git - apache/blob - docs/manual/vhosts/examples.html.fr.utf8
move es and fr targets to *.utf8 extension. Update transformation
[apache] / docs / manual / vhosts / examples.html.fr.utf8
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head>
4 <meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
5 <!--
6         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7               This file is generated from xml source: DO NOT EDIT
8         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
9       -->
10 <title>Exemples d'utilisations de VirtualHost - Serveur HTTP Apache Version 2.5</title>
11 <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
12 <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
13 <link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
14 <script src="../style/scripts/prettify.min.js" type="text/javascript">
15 </script>
16
17 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
18 <body id="manual-page"><div id="page-header">
19 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.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>
20 <p class="apache">Serveur HTTP Apache Version 2.5</p>
21 <img alt="" src="../images/feather.png" /></div>
22 <div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
23 <div id="path">
24 <a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.5</a> &gt; <a href="./">Serveurs virtuels</a></div><div id="page-content"><div id="preamble"><h1>Exemples d'utilisations de VirtualHost</h1>
25 <div class="toplang">
26 <p><span>Langues Disponibles: </span><a href="../en/vhosts/examples.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
27 <a href="../fr/vhosts/examples.html" title="Français">&nbsp;fr&nbsp;</a> |
28 <a href="../ja/vhosts/examples.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
29 <a href="../ko/vhosts/examples.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
30 <a href="../tr/vhosts/examples.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
31 </div>
32
33
34     <p>Le but de ce document est d'essayer de répondre aux questions 
35     les plus fréquentes sur la configuration des <a href="index.html">serveurs virtuels</a>. 
36     Les scénarios présentés ici se rencontrent quand plusieurs 
37     serveurs web doivent tourner sur une seule et même machine au 
38     moyen de serveurs virtuels <a href="name-based.html">par nom</a> 
39     ou <a href="ip-based.html">par IP</a>.</p>
40
41     <div class="note"><h3>Note à propos du contexte de configuration</h3><p>Les serveurs virtuels
42     doivent être spécifiés au niveau de la configuration globale du serveur.
43     Certaines distributions tierces du serveur peuvent cependant utiliser un fichier de
44     configuration initial alternatif ou des fichiers de configuration multiples
45     qui acceptent tous des directives à portée globale. Elles peuvent aussi
46     proposer une convention de spécification des serveurs virtuels au sein de
47     ces fichiers multiples qui seront eux-mêmes inclus dans le fichier de
48     configuration global via la directive <code class="directive"><a href="../mod/core.html#include">Include</a></code>. Vous pourrez trouver plus de détails dans
49     le README de la distribution tierce, tel que
50     /usr/share/doc/apache2/README.Debian.gz pour les distributions basées sur
51     Debian et Ubuntu.</p>
52     </div>
53
54 </div>
55 <div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#purename">Fonctionnement de plusieurs serveurs 
56   virtuels par nom sur une seule adresse IP.</a></li>
57 <li><img alt="" src="../images/down.gif" /> <a href="#twoips">Serveurs virtuels par nom sur plus 
58     d'une seule adresse IP.</a></li>
59 <li><img alt="" src="../images/down.gif" /> <a href="#intraextra">Servir le même contenu sur des 
60     adresses IP différentes (telle qu'une adresse interne et une 
61     externe).</a></li>
62 <li><img alt="" src="../images/down.gif" /> <a href="#port">Servir différents sites sur différents 
63     ports.</a></li>
64 <li><img alt="" src="../images/down.gif" /> <a href="#ip">Hébergement virtuel basé sur IP</a></li>
65 <li><img alt="" src="../images/down.gif" /> <a href="#ipport">Hébergements virtuels mixtes basés sur 
66     les ports et sur les IP</a></li>
67 <li><img alt="" src="../images/down.gif" /> <a href="#mixed">Hébergements virtuels mixtes basé sur 
68     les noms et sur IP</a></li>
69 <li><img alt="" src="../images/down.gif" /> <a href="#proxy">Utilisation simultanée de 
70     <code>Virtual_host</code> et de mod_proxy</a></li>
71 <li><img alt="" src="../images/down.gif" /> <a href="#default">Utilisation de serveurs virtuels 
72     <code>_default_</code></a></li>
73 <li><img alt="" src="../images/down.gif" /> <a href="#migrate">Migration d'un serveur virtuel 
74         par nom en un serveur virtuel par IP</a></li>
75 <li><img alt="" src="../images/down.gif" /> <a href="#serverpath">Utilisation de la directive 
76     <code>ServerPath</code></a></li>
77 </ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div>
78 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
79 <div class="section">
80 <h2><a name="purename" id="purename">Fonctionnement de plusieurs serveurs 
81   virtuels par nom sur une seule adresse IP.</a><a title="Lien permanent" href="#purename" class="permalink">&para;</a></h2>
82
83     <p>Votre serveur possède plusieurs noms d'hôte qui correspondent à
84     une seule adresse IP, ce qui lui permet de répondre différemment si
85     une requête est envoyée à <code>www.example.com</code> ou
86     <code>www.example.org</code>.</p>
87
88     <div class="note"><h3>Note&nbsp;:</h3><p>La configuration de serveurs virtuels 
89     sous Apache ne provoque pas leur apparition magique dans la 
90     configuration du DNS. Il <em>faut</em> que leurs noms soient 
91     définis dans le DNS, et qu'ils y soient résolus sur l'adresse IP 
92     du serveur, faute de quoi personne ne pourra visiter votre site Web. 
93     Il est possible d'ajouter des entrées dans le fichier 
94     <code>hosts</code> pour tests locaux, mais qui ne fonctionneront 
95     que sur la machine possédant ces entrées.</p>
96     </div>
97
98     <pre class="prettyprint lang-config"># Apache doit écouter sur le port 80
99 Listen 80
100 &lt;VirtualHost *:80&gt;
101     DocumentRoot "/www/example1"
102     ServerName www.example.com
103   
104     # Autres directives ici
105 &lt;/VirtualHost&gt;
106
107 &lt;VirtualHost *:80&gt;
108     DocumentRoot "/www/example2"
109     ServerName www.example.org
110
111     # Autres directives ici
112 &lt;/VirtualHost&gt;</pre>
113
114    
115
116     <p>Les astérisques correspondent à toutes les adresses, si bien que 
117     le serveur principal ne répondra jamais à aucune requête. Comme le
118     serveur virtuel
119     <code>ServerName www.example.com</code> se trouve en premier dans le fichier 
120     de configuration, il a la plus grande priorité et peut être vu 
121     comme serveur <cite>par défaut</cite> ou <cite>primaire</cite>&nbsp;; 
122     ce qui signifie que toute requête reçue ne correspondant à aucune 
123     des directives <code class="directive"><a href="../mod/core.html#servername">ServerName</a></code> sera servie par ce premier 
124     <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>.</p>
125
126     <p>La configuration ci-dessus correspond à ce que l'on souhaite pour
127     la plupart des serveurs virtuels à base de nom. Il faudra cependant
128     utiliser une configuration différente si vous souhaitez servir un
129     contenu différent en fonction de l'adresse IP ou du port.</p>
130
131     <div class="note">
132             <h3>Note&nbsp;:</h3>
133
134             <p>Vous pouvez remplacer <code>*</code> 
135             par une adresse IP du système. Le serveur virtuel concerné
136             ne sera alors sélectionné que pour les requêtes HTTP vers
137             cette adresse IP.</p>
138
139            <p>En général, il est commode d'utiliser <code>*</code> sur 
140            les systèmes dont l'adresse IP n'est pas constante - par 
141            exemple, pour des serveurs dont l'adresse IP est attribuée 
142            dynamiquement par le FAI, et où le DNS est géré au moyen 
143            d'un DNS dynamique quelconque. Comme <code>*</code> signifie 
144            <cite>n'importe quelle adresse</cite>, cette configuration 
145            fonctionne sans devoir être modifiée quand l'adresse IP du 
146            système est modifiée.</p>
147     </div>
148
149     </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
150 <div class="section">
151 <h2><a name="twoips" id="twoips">Serveurs virtuels par nom sur plus 
152     d'une seule adresse IP.</a><a title="Lien permanent" href="#twoips" class="permalink">&para;</a></h2>
153
154         <div class="note">
155           <h3>Note&nbsp;:</h3><p>Toutes les techniques présentées ici 
156           peuvent être étendues à un plus grand nombre d'adresses IP.</p>
157     </div>
158
159     <p>Le serveur a deux adresses IP. Sur l'une 
160     (<code>172.20.30.40</code>), le serveur "principal" 
161     <code>server.example.com</code> doit répondre, et sur l'autre 
162     (<code>172.20.30.50</code>), deux serveurs virtuels (ou plus) 
163     répondront.</p>
164
165     <pre class="prettyprint lang-config">Listen 80
166
167 # Serveur "principal" sur 172.20.30.40
168 ServerName server.example.com
169 DocumentRoot "/www/mainserver"
170
171 &lt;VirtualHost 172.20.30.50&gt;
172     DocumentRoot "/www/example1"
173     ServerName www.example.com
174     
175     # D'autres directives ici ...
176 &lt;/VirtualHost&gt;
177
178 &lt;VirtualHost 172.20.30.50&gt;
179     DocumentRoot "/www/example2"
180     ServerName www.example.org
181     
182     # D'autres directives ici ...
183 &lt;/VirtualHost&gt;</pre>
184
185
186     <p>Toute requête arrivant sur une autre adresse que 
187     <code>172.20.30.50</code> sera servie par le serveur principal. 
188     Les requêtes vers <code>172.20.30.50</code> avec un nom de serveur 
189     inconnu, ou sans en-tête <code>Host:</code>, seront servies par 
190     <code>www.example.com</code>.</p>
191
192     </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
193 <div class="section">
194 <h2><a name="intraextra" id="intraextra">Servir le même contenu sur des 
195     adresses IP différentes (telle qu'une adresse interne et une 
196     externe).</a><a title="Lien permanent" href="#intraextra" class="permalink">&para;</a></h2>
197
198     <p>La machine serveur dispose de deux adresses IP 
199     (<code>192.168.1.1</code> et <code>172.20.30.40</code>). Cette 
200     machine est placée à la fois sur le réseau interne (l'Intranet) 
201     et le réseau externe (Internet). Sur Internet, le nom 
202     <code>server.example.com</code> pointe vers l'adresse externe 
203     (<code>172.20.30.40</code>), mais sur le réseau interne, ce même 
204     nom pointe vers l'adresse interne (<code>192.168.1.1</code>).</p>
205
206     <p>Le serveur peut être configuré pour répondre de la même manière 
207     aux requêtes internes et externes, au moyen d'une seule section 
208     <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>.</p>
209
210     <pre class="prettyprint lang-config">&lt;VirtualHost 192.168.1.1 172.20.30.40&gt;
211     DocumentRoot "/www/server1"
212     ServerName server.example.com
213     ServerAlias server
214 &lt;/VirtualHost&gt;</pre>
215
216
217     <p>Ainsi, les requêtes en provenance de chacun des deux réseaux 
218     seront servies par le même <code class="directive"><a href="../mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>.</p>
219
220     <div class="note">
221           <h3>Note&nbsp;:</h3><p>Sur le réseau interne, il est possible 
222           d'utiliser le nom raccourci <code>server</code> au lieu du nom 
223           complet <code>server.example.com</code>.</p>
224
225           <p>Notez également que dans l'exemple précédent, vous pouvez 
226           remplacer la liste des adresses IP par des <code>*</code> afin 
227           que le serveur réponde de la même manière sur toutes ses 
228           adresses.</p>
229     </div>
230
231     </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
232 <div class="section">
233 <h2><a name="port" id="port">Servir différents sites sur différents 
234     ports.</a><a title="Lien permanent" href="#port" class="permalink">&para;</a></h2>
235
236     <p>Vous disposez de plusieurs domaines pointant sur la même adresse 
237     IP et vous voulez également servir de multiples ports. L'exemple
238     suivant montre que la sélection en fonction du nom intervient après
239     la sélection de la meilleure correspondance du point de vue adresse
240     IP/port.</p>
241
242     <pre class="prettyprint lang-config">Listen 80
243 Listen 8080
244
245 &lt;VirtualHost 172.20.30.40:80&gt;
246     ServerName www.example.com
247     DocumentRoot "/www/domain-80"
248 &lt;/VirtualHost&gt;
249
250 &lt;VirtualHost 172.20.30.40:8080&gt;
251     ServerName www.example.com
252     DocumentRoot "/www/domain-8080"
253 &lt;/VirtualHost&gt;
254
255 &lt;VirtualHost 172.20.30.40:80&gt;
256     ServerName www.example.org
257     DocumentRoot "/www/otherdomain-80"
258 &lt;/VirtualHost&gt;
259
260 &lt;VirtualHost 172.20.30.40:8080&gt;
261     ServerName www.example.org
262     DocumentRoot "/www/otherdomain-8080"
263 &lt;/VirtualHost&gt;</pre>
264
265
266         </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
267 <div class="section">
268 <h2><a name="ip" id="ip">Hébergement virtuel basé sur IP</a><a title="Lien permanent" href="#ip" class="permalink">&para;</a></h2>
269
270     <p>Le serveur dispose de deux adresses IP (<code>172.20.30.40</code> 
271     et <code>172.20.30.50</code>) correspondant respectivement aux noms 
272     <code>www.example.com</code> et <code>www.example.org</code>.</p>
273
274     <pre class="prettyprint lang-config">Listen 80
275
276 &lt;VirtualHost 172.20.30.40&gt;
277     DocumentRoot "/www/example1"
278     ServerName www.example.com
279 &lt;/VirtualHost&gt;
280
281 &lt;VirtualHost 172.20.30.50&gt;
282     DocumentRoot "/www/example2"
283     ServerName www.example.org
284 &lt;/VirtualHost&gt;</pre>
285
286
287     <p>Les requêtes provenant d'adresses non spécifiées dans l'une des 
288     directives <code>&lt;VirtualHost&gt;</code> (comme pour 
289     <code>localhost</code> par exemple) seront dirigées vers le serveur 
290     principal, s'il en existe un.</p>
291
292         </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
293 <div class="section">
294 <h2><a name="ipport" id="ipport">Hébergements virtuels mixtes basés sur 
295     les ports et sur les IP</a><a title="Lien permanent" href="#ipport" class="permalink">&para;</a></h2>
296
297     <p>Le serveur dispose de deux adresses IP (<code>172.20.30.40</code> 
298     et <code>172.20.30.50</code>) correspondant respectivement aux noms 
299     <code>www.example.com</code> et <code>www.example.org</code>. 
300     Pour chacun d'eux, nous voulons un hébergement sur les ports 80 
301     et 8080.</p>
302
303     <pre class="prettyprint lang-config">Listen 172.20.30.40:80
304 Listen 172.20.30.40:8080
305 Listen 172.20.30.50:80
306 Listen 172.20.30.50:8080
307
308 &lt;VirtualHost 172.20.30.40:80&gt;
309     DocumentRoot "/www/example1-80"
310     ServerName www.example.com
311 &lt;/VirtualHost&gt;
312
313 &lt;VirtualHost 172.20.30.40:8080&gt;
314     DocumentRoot "/www/example1-8080"
315     ServerName www.example.com
316 &lt;/VirtualHost&gt;
317
318 &lt;VirtualHost 172.20.30.50:80&gt;
319     DocumentRoot "/www/example2-80"
320     ServerName www.example.org
321 &lt;/VirtualHost&gt;
322
323 &lt;VirtualHost 172.20.30.50:8080&gt;
324     DocumentRoot "/www/example2-8080"
325     ServerName www.example.org
326 &lt;/VirtualHost&gt;</pre>
327
328
329         </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
330 <div class="section">
331 <h2><a name="mixed" id="mixed">Hébergements virtuels mixtes basé sur 
332     les noms et sur IP</a><a title="Lien permanent" href="#mixed" class="permalink">&para;</a></h2>
333
334     <p>Toute adresse indiquée comme argument d'une section VirtualHost
335     et n'apparaissant dans aucun autre serveur virtuel, fait de cette
336     section un serveur virtuel sélectionnable uniquement en fonction de
337     son adresse IP.</p>
338
339     <pre class="prettyprint lang-config">Listen 80
340 &lt;VirtualHost 172.20.30.40&gt;
341     DocumentRoot "/www/example1"
342     ServerName www.example.com
343 &lt;/VirtualHost&gt;
344
345 &lt;VirtualHost 172.20.30.40&gt;
346     DocumentRoot "/www/example2"
347     ServerName www.example.org
348 &lt;/VirtualHost&gt;
349
350 &lt;VirtualHost 172.20.30.40&gt;
351     DocumentRoot "/www/example3"
352     ServerName www.example.net
353 &lt;/VirtualHost&gt;
354
355 # IP-based
356 &lt;VirtualHost 172.20.30.50&gt;
357     DocumentRoot "/www/example4"
358     ServerName www.example.edu
359 &lt;/VirtualHost&gt;
360
361 &lt;VirtualHost 172.20.30.60&gt;
362     DocumentRoot "/www/example5"
363     ServerName www.example.gov
364 &lt;/VirtualHost&gt;</pre>
365
366
367         </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
368 <div class="section">
369 <h2><a name="proxy" id="proxy">Utilisation simultanée de 
370     <code>Virtual_host</code> et de mod_proxy</a><a title="Lien permanent" href="#proxy" class="permalink">&para;</a></h2>
371
372     <p>L'exemple suivant montre comment une machine peut mandater 
373     un serveur virtuel fonctionnant sur le serveur d'une autre machine. 
374     Dans cet exemple, un serveur virtuel de même nom est configuré sur 
375     une machine à l'adresse <code>192.168.111.2</code>. La directive 
376     <code class="directive"><a href="../mod/mod_proxy.html#proxypreservehost">ProxyPreserveHost On</a></code> est
377     employée pour permette au nom de domaine d'être préservé lors du 
378     transfert, au cas où plusieurs noms de domaines cohabitent sur 
379     une même machine.</p>
380
381     <pre class="prettyprint lang-config">&lt;VirtualHost *:*&gt;
382     ProxyPreserveHost On
383     ProxyPass "/" "http://192.168.111.2/"
384     ProxyPassReverse "/" "http://192.168.111.2/"
385     ServerName hostname.example.com
386 &lt;/VirtualHost&gt;</pre>
387
388
389     </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
390 <div class="section">
391 <h2><a name="default" id="default">Utilisation de serveurs virtuels 
392     <code>_default_</code></a><a title="Lien permanent" href="#default" class="permalink">&para;</a></h2>
393
394     <h3><a name="defaultallports" id="defaultallports">Serveurs virtuels 
395     <code>_default_</code> pour tous les ports</a></h3>
396
397     <p>Exemple de capture de <em>toutes</em> les requêtes émanant 
398     d'adresses IP ou de ports non connus, <em>c'est-à-dire</em>, d'un 
399     couple adresse/port non traité par aucun autre serveur virtuel.</p>
400
401     <pre class="prettyprint lang-config">&lt;VirtualHost _default_:*&gt;
402     DocumentRoot "/www/default"
403 &lt;/VirtualHost&gt;</pre>
404
405
406     <p>L'utilisation d'un tel serveur virtuel avec un joker pour le 
407     port empêche de manière efficace qu'une requête n'atteigne le 
408     serveur principal.</p>
409
410     <p>Un serveur virtuel par défaut ne servira jamais une requête 
411     qui est envoyée vers un couple adresse/port utilisée par un 
412     serveur virtuel par nom. Si la requête contient un en-tête 
413     <code>Host:</code> inconnu, ou si celui-ci est absent, elle 
414     sera toujours servie par le serveur virtuel primaire par nom 
415     (celui correspondant à ce couple adresse/port trouvé en premier 
416     dans le fichier de configuration).</p>
417
418     <p>Vous pouvez utiliser une directive 
419     <code class="directive"><a href="../mod/mod_alias.html#aliasmatch">AliasMatch</a></code> ou 
420     <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> afin de 
421     réécrire une requête pour une unique page d'information (ou pour 
422     un script).</p>
423     
424
425     <h3><a name="defaultdifferentports" id="defaultdifferentports">Serveurs virtuels 
426     <code>_default_</code> pour des ports différents</a></h3>
427
428     <p>La configuration est similaire à l'exemple précédent, mais 
429     le serveur écoute sur plusieurs ports et un second serveur virtuel 
430     <code>_default_</code> pour le port 80 est ajouté.</p>
431
432     <pre class="prettyprint lang-config">&lt;VirtualHost _default_:80&gt;
433     DocumentRoot "/www/default80"
434     # ...
435 &lt;/VirtualHost&gt;
436
437 &lt;VirtualHost _default_:*&gt;
438     DocumentRoot "/www/default"
439     # ...
440 &lt;/VirtualHost&gt;</pre>
441
442
443     <p>Le serveur virtuel par défaut défini pour le port 80 (il doit 
444     impérativement être placé avant un autre serveur virtuel par 
445     défaut traitant tous les ports grâce au joker *) capture toutes 
446     les requêtes envoyées sur une adresse IP non spécifiée. Le 
447     serveur principal n'est jamais utilisé pour servir une requête.</p>
448     
449
450     <h3><a name="defaultoneport" id="defaultoneport">Serveurs virtuels 
451     <code>_default_</code> pour un seul port</a></h3>
452
453     <p>Nous voulons créer un serveur virtuel par défaut seulement 
454     pour le port 80.</p>
455
456     <pre class="prettyprint lang-config">&lt;VirtualHost _default_:80&gt;
457 DocumentRoot "/www/default"
458 ...
459 &lt;/VirtualHost&gt;</pre>
460
461
462     <p>Une requête vers une adresse non spécifiée sur le port 80 
463     sera servie par le serveur virtuel par défaut, et toute autre 
464     requête vers une adresse et un port non spécifiés sera servie 
465     par le serveur principal.</p>
466
467     <p>L'utilisation du caractère générique <code>*</code> dans la
468     déclaration d'un serveur virtuel l'emporte sur
469     <code>_default_</code>.</p>
470     
471
472         </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
473 <div class="section">
474 <h2><a name="migrate" id="migrate">Migration d'un serveur virtuel 
475         par nom en un serveur virtuel par IP</a><a title="Lien permanent" href="#migrate" class="permalink">&para;</a></h2>
476
477     <p>Le serveur virtuel par nom avec le nom de domaine 
478     <code>www.example.org</code> (de notre <a href="#name">exemple 
479     par nom</a>) devrait obtenir sa propre adresse IP. Pendant la 
480     phase de migration, il est possible d'éviter les problèmes avec 
481     les noms de serveurs et autres serveurs mandataires qui mémorisent 
482     les vielles adresses IP pour les serveurs virtuels par nom.<br />
483     La solution est simple, car il suffit d'ajouter la nouvelle 
484     adresse IP (<code>172.20.30.50</code>) dans la directive 
485     <code>VirtualHost</code>.</p>
486
487     <pre class="prettyprint lang-config">Listen 80
488 ServerName www.example.com
489 DocumentRoot "/www/example1"
490
491 &lt;VirtualHost 172.20.30.40 172.20.30.50&gt;
492     DocumentRoot "/www/example2"
493     ServerName www.example.org
494     # ...
495 &lt;/VirtualHost&gt;
496
497 &lt;VirtualHost 172.20.30.40&gt;
498     DocumentRoot "/www/example3"
499     ServerName www.example.net
500     ServerAlias *.example.net
501     # ...
502 &lt;/VirtualHost&gt;</pre>
503
504
505     <p>Le serveur virtuel peut maintenant être joint par la nouvelle 
506     adresse (comme un serveur virtuel par IP) et par l'ancienne 
507     adresse (comme un serveur virtuel par nom).</p>
508
509         </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
510 <div class="section">
511 <h2><a name="serverpath" id="serverpath">Utilisation de la directive 
512     <code>ServerPath</code></a><a title="Lien permanent" href="#serverpath" class="permalink">&para;</a></h2>
513
514     <p>Dans le cas où vous disposez de deux serveurs virtuels par nom, 
515     le client doit transmettre un en-tête <code>Host:</code> correct 
516     pour déterminer le serveur concerné. Les vieux clients HTTP/1.0 
517     n'envoient pas un tel en-tête et Apache n'a aucun indice pour 
518     connaître le serveur virtuel devant être joint (il sert la 
519     requête à partir d'un serveur virtuel primaire). Dans un soucis 
520     de préserver la compatibilité descendante, il suffit de créer 
521     un serveur virtuel primaire chargé de retourner une page contenant 
522     des liens dont les URLs auront un préfixe identifiant les serveurs 
523     virtuels par nom.</p>
524
525     <pre class="prettyprint lang-config">&lt;VirtualHost 172.20.30.40&gt;
526     # serveur virtuel primaire
527     DocumentRoot "/www/subdomain"
528     RewriteEngine On
529     RewriteRule "." "/www/subdomain/index.html"
530     # ...
531 &lt;/VirtualHost&gt;
532
533 &lt;VirtualHost 172.20.30.40&gt;
534 DocumentRoot "/www/subdomain/sub1"
535     ServerName www.sub1.domain.tld
536     ServerPath /sub1/
537     RewriteEngine On
538     RewriteRule "^(/sub1/.*)" "/www/subdomain$1"
539     # ...
540 &lt;/VirtualHost&gt;
541
542 &lt;VirtualHost 172.20.30.40&gt;
543     DocumentRoot "/www/subdomain/sub2"
544     ServerName www.sub2.domain.tld
545     ServerPath /sub2/
546     RewriteEngine On
547     RewriteRule "^(/sub2/.*)" "/www/subdomain$1"
548     # ...
549 &lt;/VirtualHost&gt;</pre>
550
551
552     <p>À cause de la directive 
553     <code class="directive"><a href="../mod/core.html#serverpath">ServerPath</a></code>, une requête sur 
554     une URL <code>http://www.sub1.domain.tld/sub1/</code> est 
555     <em>toujours</em> servie par le serveur sub1-vhost.<br />
556     Une requête sur une URL <code>http://www.sub1.domain.tld/</code> n'est 
557     servie par le serveur sub1-vhost que si le client envoie un en-tête 
558     <code>Host:</code> correct. Si aucun en-tête <code>Host:</code> 
559     n'est transmis, le serveur primaire sera utilisé.</p>
560     <p>Notez qu'il y a une singularité&nbsp;: une requête sur 
561     <code>http://www.sub2.domain.tld/sub1/</code> est également servie 
562     par le serveur sub1-vhost si le client n'envoie pas d'en-tête 
563     <code>Host:</code>.</p>
564     <p>Les directives <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> 
565     sont employées pour s'assurer que le client qui envoie un en-tête 
566     <code>Host:</code> correct puisse utiliser d'autres variantes d'URLs, 
567     <em>c'est-à-dire</em> avec ou sans préfixe d'URL.</p>
568
569         </div></div>
570 <div class="bottomlang">
571 <p><span>Langues Disponibles: </span><a href="../en/vhosts/examples.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
572 <a href="../fr/vhosts/examples.html" title="Français">&nbsp;fr&nbsp;</a> |
573 <a href="../ja/vhosts/examples.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
574 <a href="../ko/vhosts/examples.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
575 <a href="../tr/vhosts/examples.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
576 </div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
577 <script type="text/javascript"><!--//--><![CDATA[//><!--
578 var comments_shortname = 'httpd';
579 var comments_identifier = 'http://httpd.apache.org/docs/trunk/vhosts/examples.html';
580 (function(w, d) {
581     if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
582         d.write('<div id="comments_thread"><\/div>');
583         var s = d.createElement('script');
584         s.type = 'text/javascript';
585         s.async = true;
586         s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
587         (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
588     }
589     else {
590         d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
591     }
592 })(window, document);
593 //--><!]]></script></div><div id="footer">
594 <p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
595 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.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[//><!--
596 if (typeof(prettyPrint) !== 'undefined') {
597     prettyPrint();
598 }
599 //--><!]]></script>
600 </body></html>