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