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