]> granicus.if.org Git - apache/blob - docs/manual/vhosts/examples.xml.fr
Update transformation. Note that commit r618551 also addresses PR44356 (missing slash...
[apache] / docs / manual / vhosts / examples.xml.fr
1 <?xml version='1.0' encoding='ISO-8859-1' ?>
2 <!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
3 <?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
4 <!-- English Revision: 420990:618551 (outdated) -->
5 <!-- French translation by Vincent Deffontaines, Alain B., review by  -->
6
7 <!--
8  Licensed to the Apache Software Foundation (ASF) under one or more
9  contributor license agreements.  See the NOTICE file distributed with
10  this work for additional information regarding copyright ownership.
11  The ASF licenses this file to You under the Apache License, Version 2.0
12  (the "License"); you may not use this file except in compliance with
13  the License.  You may obtain a copy of the License at
14
15      http://www.apache.org/licenses/LICENSE-2.0
16
17  Unless required by applicable law or agreed to in writing, software
18  distributed under the License is distributed on an "AS IS" BASIS,
19  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20  See the License for the specific language governing permissions and
21  limitations under the License.
22 -->
23
24 <manualpage metafile="examples.xml.meta">
25 <parentdocument href="./">Serveurs virtuels</parentdocument>
26     <title>Exemples d'utilisations de VirtualHost</title>
27
28 <summary>
29
30     <p>Le but de ce document est d'essayer de répondre aux questions 
31     les plus répandues sur la configuration des serveurs virtuels. 
32     Les scénarios présentés ici se rencontrent quand plusieurs 
33     serveurs Webs doivent tourner sur une seule et même machine au 
34     moyen de serveurs virtuels <a href="name-based.html">par nom</a> 
35     ou <a href="ip-based.html">par IP</a>.</p>
36
37 </summary>
38
39   <section id="purename"><title>Fonctionnement de plusieurs serveurs 
40   virtuels par nom sur une seule adresse IP.</title>
41
42     <p>Votre serveur ne dispose que d'une seule adresse IP, et de 
43     nombreux alias (CNAMES) pointent vers cette adresse dans le DNS. 
44     Pour l'exemple, <code>www.example1.com</code> et 
45     <code>www.example2.org</code> doivent tourner sur cette machine.</p>
46
47     <note><title>Note&nbsp;:</title><p>La configuration de serveurs virtuels 
48     sous Apache ne provoque pas leur apparition magique dans la 
49     configuration du DNS. Il <em>faut</em> que leurs noms soient 
50     définis dans le DNS, et qu'ils y soient résolus sur l'adresse IP 
51     du serveur, faute de quoi personne ne pourra visiter votre site Web. 
52     Il est possible d'ajouter des entrées dans le fichier 
53     <code>hosts</code> pour tests locaux, mais qui ne fonctionneront 
54     que sur la machine possédant ces entrées.</p>
55     </note>
56
57     <example>
58     <title>Configuration du serveur</title>
59
60     # Apache doit écouter sur le port 80<br />
61     Listen 80<br />
62     <br />
63     # Toutes les adresses IP doivent répondre aux requêtes sur les 
64     # serveurs virtuels
65     NameVirtualHost *:80<br />
66     <br />
67     &lt;VirtualHost *:80&gt;<br />
68     <indent>
69       DocumentRoot /www/example1<br />
70       ServerName www.example1.com<br />
71       <br />
72       # Autres directives ici<br />
73       <br />
74     </indent>
75     &lt;/VirtualHost&gt;<br />
76     <br />
77     &lt;VirtualHost *:80&gt;<br />
78     <indent>
79       DocumentRoot /www/example2<br />
80       ServerName www.example2.org<br />
81       <br />
82       # Autres directives ici<br />
83       <br />
84     </indent>
85     &lt;/VirtualHost&gt;
86     </example>
87
88     <p>Les astérisques correspondent à toutes les adresses, si bien que 
89     le serveur principal ne répondra jamais à aucune requête. Comme 
90     <code>www.example1.com</code> se trouve en premier dans le fichier 
91     de configuration, il a la plus grande priorité et peut être vu 
92     comme serveur <cite>par défaut</cite> ou <cite>primaire</cite>&nbsp;; 
93     ce qui signifie que toute requête reçue ne correspondant pas à une 
94     des directives <code>ServerName</code> sera servie par ce premier 
95     <code>VirtualHost</code>.</p>
96
97     <note>
98             <title>Note&nbsp;:</title>
99
100             <p>Si vous le souhaitez, vous pouvez remplacer <code>*</code> 
101             par l'adresse IP du système. Dans ce cas, l'argument de 
102             <code>VirtualHost</code> <em>doit</em> correspondre à 
103             l'argument de <code>NameVirtualHost</code>&nbsp;:</p>
104
105             <example>
106             NameVirtualHost 172.20.30.40<br />
107                                                 <br />
108             &lt;VirtualHost 172.20.30.40&gt;<br />
109                         # etc ...
110             </example>
111
112            <p>En général, il est commode d'utiliser <code>*</code> sur 
113            les systèmes dont l'adresse IP n'est pas constante - par 
114            exemple, pour des serveurs dont l'adresse IP est attribuée 
115            dynamiquement par le FAI, et où le DNS est géré au moyen 
116            d'un DNS dynamique quelconque. Comme <code>*</code> signifie 
117            <cite>n'importe quelle adresse</cite>, cette configuration 
118            fonctionne sans devoir être modifiée quand l'adresse IP du 
119            système est modifiée.</p>
120     </note>
121
122     <p>La configuration ci-dessus est en pratique utilisée dans la 
123     plupart des cas pour les serveurs virtuels par nom. En fait, le 
124     seul cas où cette configuration ne fonctionne pas est lorsque 
125     différents contenus doivent être servis en fonction de l'adresse IP 
126     et du port contactés par le client.</p>
127
128     </section>
129
130     <section id="twoips"><title>Serveurs virtuels par nom sur plus 
131     d'une seule adresse IP.</title>
132
133         <note>
134           <title>Note&nbsp;:</title><p>Toutes les techniques présentées ici 
135           peuvent être étendues à un plus grand nombre d'adresses IP.</p>
136     </note>
137
138     <p>Le serveur a deux adresses IP. Sur l'une 
139     (<code>172.20.30.40</code>), le serveur "principal" 
140     <code>server.domain.com</code> doit répondre, et sur l'autre 
141     (<code>172.20.30.50</code>), deux serveurs virtuels (ou plus) 
142     répondront.</p>
143
144     <example>
145     <title>Configuration du serveur</title>
146
147     Listen 80<br />
148         <br />
149     # Serveur "principal" sur 172.20.30.40<br />
150     ServerName server.domain.com<br />
151     DocumentRoot /www/mainserver<br />
152         <br />
153     # l'autre adresse <br />
154     NameVirtualHost 172.20.30.50<br />
155         <br />
156     &lt;VirtualHost 172.20.30.50&gt;<br />
157     <indent>
158         DocumentRoot /www/example1<br />
159         ServerName www.example1.com<br />
160                 <br />
161         # D'autres directives ici ...<br />
162                    <br />
163     </indent>
164     &lt;/VirtualHost&gt;<br />
165         <br />
166     &lt;VirtualHost 172.20.30.50&gt;<br />
167     <indent>
168         DocumentRoot /www/example2<br />
169         ServerName www.example2.org<br />
170                 <br />
171         # D'autres directives ici ...<br />
172                 <br />
173     </indent>
174     &lt;/VirtualHost&gt;
175     </example>
176
177     <p>Toute requête arrivant sur une autre adresse que 
178     <code>172.20.30.50</code> sera servie par le serveur principal. 
179     Les requêtes vers <code>172.20.30.50</code> avec un nom de serveur 
180     inconnu, ou sans en-tête <code>Host:</code>, seront servies par 
181     <code>www.example1.com</code>.</p>
182
183     </section>
184
185     <section id="intraextra"><title>Servir le même contenu sur des 
186     adresses IP différentes (telle qu'une adresse interne et une 
187     externe).</title>
188
189     <p>La machine serveur dispose de deux adresses IP 
190     (<code>192.168.1.1</code> et <code>172.20.30.40</code>). Cette 
191     machine est placée à la fois sur le réseau interne (l'Intranet) 
192     et le réseau externe (Internet). Sur Internet, le nom 
193     <code>server.example.com</code> pointe vers l'adresse externe 
194     (<code>172.20.30.40</code>), mais sur le réseau interne, ce même 
195     nom pointe vers l'adresse interne (<code>192.168.1.1</code>).</p>
196
197     <p>Le serveur peut être configuré pour répondre de la même manière 
198     aux requêtes internes et externes, au moyen d'une seule section 
199     <code>VirtualHost</code>.</p>
200
201     <example>
202     <title>Configuration du serveur</title>
203
204     NameVirtualHost 192.168.1.1<br />
205     NameVirtualHost 172.20.30.40<br />
206         <br />
207     &lt;VirtualHost 192.168.1.1 172.20.30.40&gt;<br />
208     <indent>
209         DocumentRoot /www/server1<br />
210         ServerName server.example.com<br />
211         ServerAlias server<br />
212     </indent>
213     &lt;/VirtualHost&gt;
214     </example>
215
216     <p>Ainsi, les requêtes en provenance de chacun des deux réseaux 
217     seront servies par le même <code>VirtualHost</code>.</p>
218
219     <note>
220           <title>Note&nbsp;:</title><p>Sur le réseau interne, il est possible 
221           d'utiliser le nom raccourci <code>server</code> au lieu du nom 
222           complet <code>server.example.com</code>.</p>
223
224           <p>Notez également que dans l'exemple précédent, vous pouvez 
225           remplacer la liste des adresses IP par des <code>*</code> afin 
226           que le serveur réponde de la même manière sur toutes ses 
227           adresses.</p>
228     </note>
229
230     </section>
231
232     <section id="port"><title>Servir différents sites sur différents 
233     ports.</title>
234
235     <p>Vous disposez de plusieurs domaines pointant sur la même adresse 
236     IP et vous voulez également servir de multiples ports. Vous y 
237     parviendrez en définissant les ports dans la directive 
238     "NameVirtualHost". Si vous tentez d'utiliser &lt;VirtualHost 
239     name:port&gt; sans directive NameVirtualHost name:port, ou tentez 
240     d'utiliser la directive Listen, votre configuration ne fonctionnera 
241     pas.</p>
242
243     <example>
244     <title>Configuration du serveur</title>
245
246     Listen 80<br />
247     Listen 8080<br />
248                 <br />
249     NameVirtualHost 172.20.30.40:80<br />
250     NameVirtualHost 172.20.30.40:8080<br />
251                 <br />
252     &lt;VirtualHost 172.20.30.40:80&gt;<br />
253     <indent>
254         ServerName www.example1.com<br />
255         DocumentRoot /www/domain-80<br />
256     </indent>
257     &lt;/VirtualHost&gt;<br />
258                 <br />
259     &lt;VirtualHost 172.20.30.40:8080&gt;<br />
260     <indent>
261         ServerName www.example1.com<br />
262         DocumentRoot /www/domain-8080<br />
263     </indent>
264     &lt;/VirtualHost&gt;<br />
265                 <br />
266     &lt;VirtualHost 172.20.30.40:80&gt;<br />
267     <indent>
268         ServerName www.example2.org<br />
269         DocumentRoot /www/otherdomain-80<br />
270     </indent>
271     &lt;/VirtualHost&gt;<br />
272                 <br />
273     &lt;VirtualHost 172.20.30.40:8080&gt;<br />
274     <indent>
275         ServerName www.example2.org<br />
276         DocumentRoot /www/otherdomain-8080<br />
277     </indent>
278     &lt;/VirtualHost&gt;
279     </example>
280
281         </section>
282
283     <section id="ip"><title>Hébergement virtuel basé sur IP</title>
284
285     <p>Le serveur dispose de deux adresses IP (<code>172.20.30.40</code> 
286     et <code>172.20.30.50</code>) correspondant respectivement aux noms 
287     <code>www.example1.com</code> et <code>www.example2.org</code>.</p>
288
289     <example>
290     <title>Configuration du serveur</title>
291
292     Listen 80<br />
293                 <br />
294     &lt;VirtualHost 172.20.30.40&gt;<br />
295     <indent>
296         DocumentRoot /www/example1<br />
297         ServerName www.example1.com<br />
298     </indent>
299     &lt;/VirtualHost&gt;<br />
300                 <br />
301     &lt;VirtualHost 172.20.30.50&gt;<br />
302     <indent>
303         DocumentRoot /www/example2<br />
304         ServerName www.example2.org<br />
305     </indent>
306     &lt;/VirtualHost&gt;
307     </example>
308
309     <p>Les requêtes provenant d'adresses non spécifiées dans l'une des 
310     directives <code>&lt;VirtualHost&gt;</code> (comme pour 
311     <code>localhost</code> par exemple) seront dirigées vers le serveur 
312     principal, s'il en existe un.</p>
313
314         </section>
315
316     <section id="ipport"><title>Hébergements virtuels mixtes basés sur 
317     les ports et sur les IP</title>
318
319     <p>Le serveur dispose de deux adresses IP (<code>172.20.30.40</code> 
320     et <code>172.20.30.50</code>) correspondant respectivement aux noms 
321     <code>www.example1.com</code> et <code>www.example2.org</code>. 
322     Pour chacun d'eux, nous voulons un hébergement sur les ports 80 
323     et 8080.</p>
324
325     <example>
326     <title>Configuration du serveur</title>
327
328     Listen 172.20.30.40:80<br />
329     Listen 172.20.30.40:8080<br />
330     Listen 172.20.30.50:80<br />
331     Listen 172.20.30.50:8080<br />
332                 <br />
333     &lt;VirtualHost 172.20.30.40:80&gt;<br />
334     <indent>
335         DocumentRoot /www/example1-80<br />
336         ServerName www.example1.com<br />
337     </indent>
338     &lt;/VirtualHost&gt;<br />
339                 <br />
340     &lt;VirtualHost 172.20.30.40:8080&gt;<br />
341     <indent>
342         DocumentRoot /www/example1-8080<br />
343         ServerName www.example1.com<br />
344                 </indent>
345     &lt;/VirtualHost&gt;<br />
346                 <br />
347     &lt;VirtualHost 172.20.30.50:80&gt;<br />
348     <indent>
349         DocumentRoot /www/example2-80<br />
350         ServerName www.example1.org<br />
351     </indent>
352     &lt;/VirtualHost&gt;<br />
353                 <br />
354     &lt;VirtualHost 172.20.30.50:8080&gt;<br />
355     <indent>
356         DocumentRoot /www/example2-8080<br />
357         ServerName www.example2.org<br />
358     </indent>
359     &lt;/VirtualHost&gt;
360     </example>
361
362         </section>
363
364     <section id="mixed"><title>Hébergements virtuels mixtes basé sur 
365     les noms et sur IP</title>
366
367     <p>Pour certaines adresses, des serveurs virtuels seront définis 
368     par nom, et pour d'autres, ils seront définis par IP.</p>
369
370     <example>
371     <title>Configuration du serveur</title>
372
373     Listen 80<br />
374                 <br />
375     NameVirtualHost 172.20.30.40<br />
376                 <br />
377     &lt;VirtualHost 172.20.30.40&gt;<br />
378     <indent>
379         DocumentRoot /www/example1<br />
380         ServerName www.example1.com<br />
381     </indent>
382     &lt;/VirtualHost&gt;<br />
383                 <br />
384     &lt;VirtualHost 172.20.30.40&gt;<br />
385     <indent>
386         DocumentRoot /www/example2<br />
387         ServerName www.example2.org<br />
388     </indent>
389     &lt;/VirtualHost&gt;<br />
390                 <br />
391     &lt;VirtualHost 172.20.30.40&gt;<br />
392     <indent>
393         DocumentRoot /www/example3<br />
394         ServerName www.example3.net<br />
395     </indent>
396     &lt;/VirtualHost&gt;<br />
397                 <br />
398     # "par-IP"<br />
399     &lt;VirtualHost 172.20.30.50&gt;<br />
400     <indent>
401         DocumentRoot /www/example4<br />
402         ServerName www.example4.edu<br />
403     </indent>
404     &lt;/VirtualHost&gt;<br />
405                 <br />
406     &lt;VirtualHost 172.20.30.60&gt;<br />
407     <indent>
408         DocumentRoot /www/example5<br />
409         ServerName www.example5.gov<br />
410     </indent>
411     &lt;/VirtualHost&gt;
412     </example>
413
414         </section>
415
416     <section id="proxy"><title>Utilisation simultanée de 
417     <code>Virtual_host</code> et de mod_proxy</title>
418
419     <p>L'exemple suivant montre comment une machine peut mandater 
420     un serveur virtuel fonctionnant sur le serveur d'une autre machine. 
421     Dans cet exemple, un serveur virtuel de même nom est configuré sur 
422     une machine à l'adresse <code>192.168.111.2</code>. La directive 
423     <directive module="mod_proxy">ProxyPreserveHost On</directive> est 
424     employée pour permette au nom de domaine d'être préservé lors du 
425     transfert, au cas où plusieurs noms de domaines cohabitent sur 
426     une même machine.</p>
427
428     <example>
429     &lt;VirtualHost *:*&gt;<br />
430         ProxyPreserveHost On<br />
431         ProxyPass / http://192.168.111.2<br />
432         ProxyPassReverse / http://192.168.111.2/<br />
433         ServerName hostname.example.com<br />
434     &lt;/VirtualHost&gt;
435     </example>
436
437     </section>
438
439     <section id="default"><title>Utilisation de serveurs virtuels 
440     <code>_default_</code></title>
441
442     <section id="defaultallports"><title>Serveurs virtuels 
443     <code>_default_</code> pour tous les ports</title>
444
445     <p>Exemple de capture de <em>toutes</em> les requêtes émanant 
446     d'adresses IP ou de ports non connus, <em>c'est-à-dire</em>, d'un 
447     couple adresse/port non traité par aucun autre serveur virtuel.</p>
448
449     <example>
450     <title>Configuration du serveur</title>
451
452     &lt;VirtualHost _default_:*&gt;<br />
453     <indent>
454         DocumentRoot /www/default<br />
455     </indent>
456     &lt;/VirtualHost&gt;
457     </example>
458
459     <p>L'utilisation d'un tel serveur virtuel avec un joker pour le 
460     port empêche de manière efficace qu'une requête n'atteigne le 
461     serveur principal.</p>
462
463     <p>Un serveur virtuel par défaut ne servira jamais une requête 
464     qui est envoyée vers un couple adresse/port utilisée par un 
465     serveur virtuel par nom. Si la requête contient un en-tête 
466     <code>Host:</code> inconnu, ou si celui-ci est absent, elle 
467     sera toujours servie par le serveur virtuel primaire par nom 
468     (celui correspondant à ce couple adresse/port trouvé en premier 
469     dans le fichier de configuration).</p>
470
471     <p>Vous pouvez utiliser une directive 
472     <directive module="mod_alias">AliasMatch</directive> ou 
473     <directive module="mod_rewrite">RewriteRule</directive> afin de 
474     réécrire une requête pour une unique page d'information (ou pour 
475     un script).</p>
476     </section>
477
478     <section id="defaultdifferentports"><title>Serveurs virtuels 
479     <code>_default_</code> pour des ports différents</title>
480
481     <p>La configuration est similaire à l'exemple précédent, mais 
482     le serveur écoute sur plusieurs ports et un second serveur virtuel 
483     <code>_default_</code> pour le port 80 est ajouté.</p>
484
485     <example>
486     <title>Configuration du serveur</title>
487
488     &lt;VirtualHost _default_:80&gt;<br />
489     <indent>
490         DocumentRoot /www/default80<br />
491         # ...<br />
492     </indent>
493     &lt;/VirtualHost&gt;<br />
494                 <br />
495     &lt;VirtualHost _default_:*&gt;<br />
496     <indent>
497         DocumentRoot /www/default<br />
498         # ...<br />
499     </indent>
500     &lt;/VirtualHost&gt;
501     </example>
502
503     <p>Le serveur virtuel par défaut défini pour le port 80 (il doit 
504     impérativement être placé avant un autre serveur virtuel par 
505     défaut traitant tous les ports grâce au joker *) capture toutes 
506     les requêtes envoyées sur une adresse IP non spécifiée. Le 
507     serveur principal n'est jamais utilisé pour servir une requête.</p>
508     </section>
509
510     <section id="defaultoneport"><title>Serveurs virtuels 
511     <code>_default_</code> pour un seul port</title>
512
513     <p>Nous voulons créer un serveur virtuel par défaut seulement 
514     pour le port 80.</p>
515
516     <example>
517     <title>Configuration du serveur</title>
518
519     &lt;VirtualHost _default_:80&gt;<br />
520     DocumentRoot /www/default<br />
521     ...<br />
522     &lt;/VirtualHost&gt;
523     </example>
524
525     <p>Une requête vers une adresse non spécifiée sur le port 80 
526     sera servie par le serveur virtuel par défaut, et toute autre 
527     requête vers une adresse et un port non spécifiés sera servie 
528     par le serveur principal.</p>
529     </section>
530
531         </section>
532
533         <section id="migrate"><title>Migration d'un serveur virtuel 
534         par nom en un serveur virtuel par IP</title>
535
536     <p>Le serveur virtuel par nom avec le nom de domaine 
537     <code>www.example2.org</code> (de notre <a href="#name">exemple 
538     par nom</a>) devrait obtenir sa propre adresse IP. Pendant la 
539     phase de migration, il est possible d'éviter les problèmes avec 
540     les noms de serveurs et autres serveurs mandataires qui mémorisent 
541     les vielles adresses IP pour les serveurs virtuels par nom.<br />
542     La solution est simple, car il suffit d'ajouter la nouvelle 
543     adresse IP (<code>172.20.30.50</code>) dans la directive 
544     <code>VirtualHost</code>.</p>
545
546     <example>
547     <title>Configuration du serveur</title>
548
549     Listen 80<br />
550     ServerName www.example1.com<br />
551     DocumentRoot /www/example1<br />
552                 <br />
553     NameVirtualHost 172.20.30.40<br />
554                 <br />
555     &lt;VirtualHost 172.20.30.40 172.20.30.50&gt;<br />
556     <indent>
557         DocumentRoot /www/example2<br />
558         ServerName www.example2.org<br />
559         # ...<br />
560     </indent>
561     &lt;/VirtualHost&gt;<br />
562                 <br />
563     &lt;VirtualHost 172.20.30.40&gt;<br />
564     <indent>
565         DocumentRoot /www/example3<br />
566         ServerName www.example3.net<br />
567         ServerAlias *.example3.net<br />
568         # ...<br />
569     </indent>
570     &lt;/VirtualHost&gt;
571     </example>
572
573     <p>Le serveur virtuel peut maintenant être joint par la nouvelle 
574     adresse (comme un serveur virtuel par IP) et par l'ancienne 
575     adresse (comme un serveur virtuel par nom).</p>
576
577         </section>
578
579     <section id="serverpath"><title>Utilisation de la directive 
580     <code>ServerPath</code></title>
581
582     <p>Dans le cas où vous disposez de deux serveurs virtuels par nom, 
583     le client doit transmettre un en-tête <code>Host:</code> correct 
584     pour déterminer le serveur concerné. Les vieux clients HTTP/1.0 
585     n'envoient pas un tel en-tête et Apache n'a aucun indice pour 
586     connaître le serveur virtuel devant être joint (il sert la 
587     requête à partir d'un serveur virtuel primaire). Dans un soucis 
588     de préserver la compatibilité descendante, il suffit de créer 
589     un serveur virtuel primaire chargé de retourner une page contenant 
590     des liens dont les URLs auront un préfixe identifiant les serveurs 
591     virtuels par nom.</p>
592
593     <example>
594     <title>Configuration du serveur</title>
595
596     NameVirtualHost 172.20.30.40<br />
597                 <br />
598     &lt;VirtualHost 172.20.30.40&gt;<br />
599     <indent>
600         # Serveur virtuel primaire<br />
601         DocumentRoot /www/subdomain<br />
602         RewriteEngine On<br />
603         RewriteRule ^/.* /www/subdomain/index.html<br />
604         # ...<br />
605     </indent>
606     &lt;/VirtualHost&gt;<br />
607                 <br />
608     &lt;VirtualHost 172.20.30.40&gt;<br />
609     DocumentRoot /www/subdomain/sub1<br />
610     <indent>
611         ServerName www.sub1.domain.tld<br />
612         ServerPath /sub1/<br />
613         RewriteEngine On<br />
614         RewriteRule ^(/sub1/.*) /www/subdomain$1<br />
615         # ...<br />
616     </indent>
617     &lt;/VirtualHost&gt;<br />
618                 <br />
619     &lt;VirtualHost 172.20.30.40&gt;<br />
620     <indent>
621         DocumentRoot /www/subdomain/sub2<br />
622         ServerName www.sub2.domain.tld<br />
623         ServerPath /sub2/<br />
624         RewriteEngine On<br />
625         RewriteRule ^(/sub2/.*) /www/subdomain$1<br />
626         # ...<br />
627     </indent>
628     &lt;/VirtualHost&gt;
629     </example>
630
631     <p>À cause de la directive 
632     <directive module="core">ServerPath</directive>, une requête sur 
633     une URL <code>http://www.sub1.domain.tld/sub1/</code> est 
634     <em>toujours</em> servie par le serveur sub1-vhost.<br />
635     Une requête sur une URL <code>http://www.sub1.domain.tld/</code> n'est 
636     servie par le serveur sub1-vhost que si le client envoie un en-tête 
637     <code>Host:</code> correct. Si aucun en-tête <code>Host:</code> 
638     n'est transmis, le serveur primaire sera utilisé.<br />
639     Notez qu'il y a une singularité&nbsp;: une requête sur 
640     <code>http://www.sub2.domain.tld/sub1/</code> est également servie 
641     par le serveur sub1-vhost si le client n'envoie pas d'en-tête 
642     <code>Host:</code>.<br />
643     Les directives <directive module="mod_rewrite">RewriteRule</directive> 
644     sont employées pour s'assurer que le client qui envoie un en-tête 
645     <code>Host:</code> correct puisse utiliser d'autres variantes d'URLs, 
646     <em>c'est-à-dire</em> avec ou sans préfixe d'URL.</p>
647
648         </section>
649
650 </manualpage>