1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
4 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5 This file is generated from xml source: DO NOT EDIT
6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
8 <title>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" />
12 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
13 <body id="manual-page"><div id="page-header">
14 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
15 <p class="apache">Serveur Apache HTTP Version 2.3</p>
16 <img alt="" src="../images/feather.gif" /></div>
17 <div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
19 <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.3</a> > <a href="./">Serveurs virtuels</a></div><div id="page-content"><div id="preamble"><h1>Exemples d'utilisations de VirtualHost</h1>
21 <p><span>Langues Disponibles: </span><a href="../en/vhosts/examples.html" hreflang="en" rel="alternate" title="English"> en </a> |
22 <a href="../fr/vhosts/examples.html" title="Français"> fr </a> |
23 <a href="../ja/vhosts/examples.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
24 <a href="../ko/vhosts/examples.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
25 <a href="../tr/vhosts/examples.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
29 <p>Le but de ce document est d'essayer de répondre aux questions
30 les plus répandues sur la configuration des <a href="index.html">serveurs virtuels</a>.
31 Les scénarios présentés ici se rencontrent quand plusieurs
32 serveurs Webs doivent tourner sur une seule et même machine au
33 moyen de serveurs virtuels <a href="name-based.html">par nom</a>
34 ou <a href="ip-based.html">par IP</a>.</p>
37 <div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#purename">Fonctionnement de plusieurs serveurs
38 virtuels par nom sur une seule adresse IP.</a></li>
39 <li><img alt="" src="../images/down.gif" /> <a href="#twoips">Serveurs virtuels par nom sur plus
40 d'une seule adresse IP.</a></li>
41 <li><img alt="" src="../images/down.gif" /> <a href="#intraextra">Servir le même contenu sur des
42 adresses IP différentes (telle qu'une adresse interne et une
44 <li><img alt="" src="../images/down.gif" /> <a href="#port">Servir différents sites sur différents
46 <li><img alt="" src="../images/down.gif" /> <a href="#ip">Hébergement virtuel basé sur IP</a></li>
47 <li><img alt="" src="../images/down.gif" /> <a href="#ipport">Hébergements virtuels mixtes basés sur
48 les ports et sur les IP</a></li>
49 <li><img alt="" src="../images/down.gif" /> <a href="#mixed">Hébergements virtuels mixtes basé sur
50 les noms et sur IP</a></li>
51 <li><img alt="" src="../images/down.gif" /> <a href="#proxy">Utilisation simultanée de
52 <code>Virtual_host</code> et de mod_proxy</a></li>
53 <li><img alt="" src="../images/down.gif" /> <a href="#default">Utilisation de serveurs virtuels
54 <code>_default_</code></a></li>
55 <li><img alt="" src="../images/down.gif" /> <a href="#migrate">Migration d'un serveur virtuel
56 par nom en un serveur virtuel par IP</a></li>
57 <li><img alt="" src="../images/down.gif" /> <a href="#serverpath">Utilisation de la directive
58 <code>ServerPath</code></a></li>
60 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
62 <h2><a name="purename" id="purename">Fonctionnement de plusieurs serveurs
63 virtuels par nom sur une seule adresse IP.</a></h2>
65 <p>Votre serveur ne dispose que d'une seule adresse IP, et de
66 nombreux alias (CNAMES) pointent vers cette adresse dans le DNS.
67 Pour l'exemple, <code>www.example.com</code> et
68 <code>www.example.org</code> doivent tourner sur cette machine.</p>
70 <div class="note"><h3>Note :</h3><p>La configuration de serveurs virtuels
71 sous Apache ne provoque pas leur apparition magique dans la
72 configuration du DNS. Il <em>faut</em> que leurs noms soient
73 définis dans le DNS, et qu'ils y soient résolus sur l'adresse IP
74 du serveur, faute de quoi personne ne pourra visiter votre site Web.
75 Il est possible d'ajouter des entrées dans le fichier
76 <code>hosts</code> pour tests locaux, mais qui ne fonctionneront
77 que sur la machine possédant ces entrées.</p>
80 <div class="example"><h3>Configuration du serveur</h3><p><code>
83 # Apache doit écouter sur le port 80<br />
86 # Toutes les adresses IP doivent répondre aux requêtes sur les <br />
87 # serveurs virtuels<br />
88 <VirtualHost *:80><br />
90 DocumentRoot /www/example.com<br />
91 ServerName www.example1.com<br />
93 # Autres directives ici<br />
96 </VirtualHost><br />
98 <VirtualHost *:80><br />
100 DocumentRoot /www/example.org<br />
101 ServerName www.example2.org<br />
103 # Autres directives ici<br />
109 <p>Les astérisques correspondent à toutes les adresses, si bien que
110 le serveur principal ne répondra jamais à aucune requête. Comme le
112 <code>ServerName www.example.com</code> se trouve en premier dans le fichier
113 de configuration, il a la plus grande priorité et peut être vu
114 comme serveur <cite>par défaut</cite> ou <cite>primaire</cite> ;
115 ce qui signifie que toute requête reçue ne correspondant à aucune
116 des directives <code>ServerName</code> sera servie par ce premier
117 <code>VirtualHost</code>.</p>
122 <p>Vous pouvez remplacer <code>*</code>
123 par l'adresse IP du système si vous ne souhaitez pas faire
124 opérer la sélection du serveur virtuel en fonction de la
125 paire adresse IP/port.</p>
127 <p>En général, il est commode d'utiliser <code>*</code> sur
128 les systèmes dont l'adresse IP n'est pas constante - par
129 exemple, pour des serveurs dont l'adresse IP est attribuée
130 dynamiquement par le FAI, et où le DNS est géré au moyen
131 d'un DNS dynamique quelconque. Comme <code>*</code> signifie
132 <cite>n'importe quelle adresse</cite>, cette configuration
133 fonctionne sans devoir être modifiée quand l'adresse IP du
134 système est modifiée.</p>
137 <p>La configuration ci-dessus est en pratique utilisée dans la
138 plupart des cas pour les serveurs virtuels par nom. En fait, le
139 seul cas où cette configuration ne fonctionne pas est lorsque
140 différents contenus doivent être servis en fonction de l'adresse IP
141 et du port contactés par le client.</p>
143 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
144 <div class="section">
145 <h2><a name="twoips" id="twoips">Serveurs virtuels par nom sur plus
146 d'une seule adresse IP.</a></h2>
149 <h3>Note :</h3><p>Toutes les techniques présentées ici
150 peuvent être étendues à un plus grand nombre d'adresses IP.</p>
153 <p>Le serveur a deux adresses IP. Sur l'une
154 (<code>172.20.30.40</code>), le serveur "principal"
155 <code>server.example.com</code> doit répondre, et sur l'autre
156 (<code>172.20.30.50</code>), deux serveurs virtuels (ou plus)
159 <div class="example"><h3>Configuration du serveur</h3><p><code>
164 # Serveur "principal" sur 172.20.30.40<br />
165 ServerName server.example.com<br />
166 DocumentRoot /www/mainserver<br />
168 <VirtualHost 172.20.30.50><br />
169 <span class="indent">
170 DocumentRoot /www/example.com<br />
171 ServerName www.example.com<br />
173 # D'autres directives ici ...<br />
176 </VirtualHost><br />
178 <VirtualHost 172.20.30.50><br />
179 <span class="indent">
180 DocumentRoot /www/example.org<br />
181 ServerName www.example.org<br />
183 # D'autres directives ici ...<br />
189 <p>Toute requête arrivant sur une autre adresse que
190 <code>172.20.30.50</code> sera servie par le serveur principal.
191 Les requêtes vers <code>172.20.30.50</code> avec un nom de serveur
192 inconnu, ou sans en-tête <code>Host:</code>, seront servies par
193 <code>www.example.com</code>.</p>
195 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
196 <div class="section">
197 <h2><a name="intraextra" id="intraextra">Servir le même contenu sur des
198 adresses IP différentes (telle qu'une adresse interne et une
201 <p>La machine serveur dispose de deux adresses IP
202 (<code>192.168.1.1</code> et <code>172.20.30.40</code>). Cette
203 machine est placée à la fois sur le réseau interne (l'Intranet)
204 et le réseau externe (Internet). Sur Internet, le nom
205 <code>server.example.com</code> pointe vers l'adresse externe
206 (<code>172.20.30.40</code>), mais sur le réseau interne, ce même
207 nom pointe vers l'adresse interne (<code>192.168.1.1</code>).</p>
209 <p>Le serveur peut être configuré pour répondre de la même manière
210 aux requêtes internes et externes, au moyen d'une seule section
211 <code>VirtualHost</code>.</p>
213 <div class="example"><h3>Configuration du serveur</h3><p><code>
217 <VirtualHost 192.168.1.1 172.20.30.40><br />
218 <span class="indent">
219 DocumentRoot /www/server1<br />
220 ServerName server.example.com<br />
221 ServerAlias server<br />
226 <p>Ainsi, les requêtes en provenance de chacun des deux réseaux
227 seront servies par le même <code>VirtualHost</code>.</p>
230 <h3>Note :</h3><p>Sur le réseau interne, il est possible
231 d'utiliser le nom raccourci <code>server</code> au lieu du nom
232 complet <code>server.example.com</code>.</p>
234 <p>Notez également que dans l'exemple précédent, vous pouvez
235 remplacer la liste des adresses IP par des <code>*</code> afin
236 que le serveur réponde de la même manière sur toutes ses
240 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
241 <div class="section">
242 <h2><a name="port" id="port">Servir différents sites sur différents
245 <p>Vous disposez de plusieurs domaines pointant sur la même adresse
246 IP et vous voulez également servir de multiples ports. L'exemple
247 suivant montre que la sélection en fonction du nom intervient après
248 la sélection de la meilleure correspondance du point de vue adresse
251 <div class="example"><h3>Configuration du serveur</h3><p><code>
257 <VirtualHost 172.20.30.40:80><br />
258 <span class="indent">
259 ServerName www.example.com<br />
260 DocumentRoot /www/domain-80<br />
262 </VirtualHost><br />
264 <VirtualHost 172.20.30.40:8080><br />
265 <span class="indent">
266 ServerName www.example.com<br />
267 DocumentRoot /www/domain-8080<br />
269 </VirtualHost><br />
271 <VirtualHost 172.20.30.40:80><br />
272 <span class="indent">
273 ServerName www.example.org<br />
274 DocumentRoot /www/otherdomain-80<br />
276 </VirtualHost><br />
278 <VirtualHost 172.20.30.40:8080><br />
279 <span class="indent">
280 ServerName www.example.org<br />
281 DocumentRoot /www/otherdomain-8080<br />
286 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
287 <div class="section">
288 <h2><a name="ip" id="ip">Hébergement virtuel basé sur IP</a></h2>
290 <p>Le serveur dispose de deux adresses IP (<code>172.20.30.40</code>
291 et <code>172.20.30.50</code>) correspondant respectivement aux noms
292 <code>www.example.com</code> et <code>www.example.org</code>.</p>
294 <div class="example"><h3>Configuration du serveur</h3><p><code>
299 <VirtualHost 172.20.30.40><br />
300 <span class="indent">
301 DocumentRoot /www/example.com<br />
302 ServerName www.example1.com<br />
304 </VirtualHost><br />
306 <VirtualHost 172.20.30.50><br />
307 <span class="indent">
308 DocumentRoot /www/example.org<br />
309 ServerName www.example2.org<br />
314 <p>Les requêtes provenant d'adresses non spécifiées dans l'une des
315 directives <code><VirtualHost></code> (comme pour
316 <code>localhost</code> par exemple) seront dirigées vers le serveur
317 principal, s'il en existe un.</p>
319 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
320 <div class="section">
321 <h2><a name="ipport" id="ipport">Hébergements virtuels mixtes basés sur
322 les ports et sur les IP</a></h2>
324 <p>Le serveur dispose de deux adresses IP (<code>172.20.30.40</code>
325 et <code>172.20.30.50</code>) correspondant respectivement aux noms
326 <code>www.example.com</code> et <code>www.example.org</code>.
327 Pour chacun d'eux, nous voulons un hébergement sur les ports 80
330 <div class="example"><h3>Configuration du serveur</h3><p><code>
333 Listen 172.20.30.40:80<br />
334 Listen 172.20.30.40:8080<br />
335 Listen 172.20.30.50:80<br />
336 Listen 172.20.30.50:8080<br />
338 <VirtualHost 172.20.30.40:80><br />
339 <span class="indent">
340 DocumentRoot /www/example.com-80<br />
341 ServerName www.example.com<br />
343 </VirtualHost><br />
345 <VirtualHost 172.20.30.40:8080><br />
346 <span class="indent">
347 DocumentRoot /www/example.com-8080<br />
348 ServerName www.example.com<br />
350 </VirtualHost><br />
352 <VirtualHost 172.20.30.50:80><br />
353 <span class="indent">
354 DocumentRoot /www/example.org-80<br />
355 ServerName www.example.org<br />
357 </VirtualHost><br />
359 <VirtualHost 172.20.30.50:8080><br />
360 <span class="indent">
361 DocumentRoot /www/example.org-8080<br />
362 ServerName www.example.org<br />
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="mixed" id="mixed">Hébergements virtuels mixtes basé sur
370 les noms et sur IP</a></h2>
372 <p>Toute adresse indiquée comme argument d'une section VirtualHost
373 et n'apparaissant dans aucun autre serveur virtuel, fait de cette
374 section un serveur virtuel sélectionnable uniquement en fonction de
377 <div class="example"><h3>Configuration du serveur</h3><p><code>
381 <VirtualHost 172.20.30.40><br />
382 <span class="indent">
383 DocumentRoot /www/example1<br />
384 ServerName www.example.com<br />
386 </VirtualHost><br />
388 <VirtualHost 172.20.30.40><br />
389 <span class="indent">
390 DocumentRoot /www/example2<br />
391 ServerName www.example.org<br />
393 </VirtualHost><br />
395 <VirtualHost 172.20.30.40><br />
396 <span class="indent">
397 DocumentRoot /www/example3<br />
398 ServerName www.example.net<br />
400 </VirtualHost><br />
403 <VirtualHost 172.20.30.50><br />
404 <span class="indent">
405 DocumentRoot /www/example4<br />
406 ServerName www.example.edu<br />
408 </VirtualHost><br />
410 <VirtualHost 172.20.30.60><br />
411 <span class="indent">
412 DocumentRoot /www/example5<br />
413 ServerName www.example.gov<br />
418 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
419 <div class="section">
420 <h2><a name="proxy" id="proxy">Utilisation simultanée de
421 <code>Virtual_host</code> et de mod_proxy</a></h2>
423 <p>L'exemple suivant montre comment une machine peut mandater
424 un serveur virtuel fonctionnant sur le serveur d'une autre machine.
425 Dans cet exemple, un serveur virtuel de même nom est configuré sur
426 une machine à l'adresse <code>192.168.111.2</code>. La directive
427 <code class="directive"><a href="../mod/mod_proxy.html#proxypreservehost on">ProxyPreserveHost On</a></code> est
428 employée pour permette au nom de domaine d'être préservé lors du
429 transfert, au cas où plusieurs noms de domaines cohabitent sur
430 une même machine.</p>
432 <div class="example"><p><code>
433 <VirtualHost *:*><br />
434 ProxyPreserveHost On<br />
435 ProxyPass / http://192.168.111.2<br />
436 ProxyPassReverse / http://192.168.111.2/<br />
437 ServerName hostname.example.com<br />
441 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
442 <div class="section">
443 <h2><a name="default" id="default">Utilisation de serveurs virtuels
444 <code>_default_</code></a></h2>
446 <h3><a name="defaultallports" id="defaultallports">Serveurs virtuels
447 <code>_default_</code> pour tous les ports</a></h3>
449 <p>Exemple de capture de <em>toutes</em> les requêtes émanant
450 d'adresses IP ou de ports non connus, <em>c'est-à-dire</em>, d'un
451 couple adresse/port non traité par aucun autre serveur virtuel.</p>
453 <div class="example"><h3>Configuration du serveur</h3><p><code>
456 <VirtualHost _default_:*><br />
457 <span class="indent">
458 DocumentRoot /www/default<br />
463 <p>L'utilisation d'un tel serveur virtuel avec un joker pour le
464 port empêche de manière efficace qu'une requête n'atteigne le
465 serveur principal.</p>
467 <p>Un serveur virtuel par défaut ne servira jamais une requête
468 qui est envoyée vers un couple adresse/port utilisée par un
469 serveur virtuel par nom. Si la requête contient un en-tête
470 <code>Host:</code> inconnu, ou si celui-ci est absent, elle
471 sera toujours servie par le serveur virtuel primaire par nom
472 (celui correspondant à ce couple adresse/port trouvé en premier
473 dans le fichier de configuration).</p>
475 <p>Vous pouvez utiliser une directive
476 <code class="directive"><a href="../mod/mod_alias.html#aliasmatch">AliasMatch</a></code> ou
477 <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> afin de
478 réécrire une requête pour une unique page d'information (ou pour
482 <h3><a name="defaultdifferentports" id="defaultdifferentports">Serveurs virtuels
483 <code>_default_</code> pour des ports différents</a></h3>
485 <p>La configuration est similaire à l'exemple précédent, mais
486 le serveur écoute sur plusieurs ports et un second serveur virtuel
487 <code>_default_</code> pour le port 80 est ajouté.</p>
489 <div class="example"><h3>Configuration du serveur</h3><p><code>
492 <VirtualHost _default_:80><br />
493 <span class="indent">
494 DocumentRoot /www/default80<br />
497 </VirtualHost><br />
499 <VirtualHost _default_:*><br />
500 <span class="indent">
501 DocumentRoot /www/default<br />
507 <p>Le serveur virtuel par défaut défini pour le port 80 (il doit
508 impérativement être placé avant un autre serveur virtuel par
509 défaut traitant tous les ports grâce au joker *) capture toutes
510 les requêtes envoyées sur une adresse IP non spécifiée. Le
511 serveur principal n'est jamais utilisé pour servir une requête.</p>
514 <h3><a name="defaultoneport" id="defaultoneport">Serveurs virtuels
515 <code>_default_</code> pour un seul port</a></h3>
517 <p>Nous voulons créer un serveur virtuel par défaut seulement
520 <div class="example"><h3>Configuration du serveur</h3><p><code>
523 <VirtualHost _default_:80><br />
524 DocumentRoot /www/default<br />
529 <p>Une requête vers une adresse non spécifiée sur le port 80
530 sera servie par le serveur virtuel par défaut, et toute autre
531 requête vers une adresse et un port non spécifiés sera servie
532 par le serveur principal.</p>
534 <p>L'utilisation du caractère générique <code>*</code> dans la
535 déclaration d'un serveur virtuel l'emporte sur
536 <code>_default_</code>.</p>
539 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
540 <div class="section">
541 <h2><a name="migrate" id="migrate">Migration d'un serveur virtuel
542 par nom en un serveur virtuel par IP</a></h2>
544 <p>Le serveur virtuel par nom avec le nom de domaine
545 <code>www.example.org</code> (de notre <a href="#name">exemple
546 par nom</a>) devrait obtenir sa propre adresse IP. Pendant la
547 phase de migration, il est possible d'éviter les problèmes avec
548 les noms de serveurs et autres serveurs mandataires qui mémorisent
549 les vielles adresses IP pour les serveurs virtuels par nom.<br />
550 La solution est simple, car il suffit d'ajouter la nouvelle
551 adresse IP (<code>172.20.30.50</code>) dans la directive
552 <code>VirtualHost</code>.</p>
554 <div class="example"><h3>Configuration du serveur</h3><p><code>
558 ServerName www.example.com<br />
559 DocumentRoot /www/example.com<br />
561 <VirtualHost 172.20.30.40 172.20.30.50><br />
562 <span class="indent">
563 DocumentRoot /www/example.org<br />
564 ServerName www.example.org<br />
567 </VirtualHost><br />
569 <VirtualHost 172.20.30.40><br />
570 <span class="indent">
571 DocumentRoot /www/example.net<br />
572 ServerName www.example.net<br />
573 ServerAlias *.example.net<br />
579 <p>Le serveur virtuel peut maintenant être joint par la nouvelle
580 adresse (comme un serveur virtuel par IP) et par l'ancienne
581 adresse (comme un serveur virtuel par nom).</p>
583 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
584 <div class="section">
585 <h2><a name="serverpath" id="serverpath">Utilisation de la directive
586 <code>ServerPath</code></a></h2>
588 <p>Dans le cas où vous disposez de deux serveurs virtuels par nom,
589 le client doit transmettre un en-tête <code>Host:</code> correct
590 pour déterminer le serveur concerné. Les vieux clients HTTP/1.0
591 n'envoient pas un tel en-tête et Apache n'a aucun indice pour
592 connaître le serveur virtuel devant être joint (il sert la
593 requête à partir d'un serveur virtuel primaire). Dans un soucis
594 de préserver la compatibilité descendante, il suffit de créer
595 un serveur virtuel primaire chargé de retourner une page contenant
596 des liens dont les URLs auront un préfixe identifiant les serveurs
597 virtuels par nom.</p>
599 <div class="example"><h3>Configuration du serveur</h3><p><code>
602 <VirtualHost 172.20.30.40><br />
603 <span class="indent">
604 # Serveur virtuel primaire<br />
605 DocumentRoot /www/subdomain<br />
606 RewriteEngine On<br />
607 RewriteRule ^/.* /www/subdomain/index.html<br />
610 </VirtualHost><br />
612 <VirtualHost 172.20.30.40><br />
613 DocumentRoot /www/subdomain/sub1<br />
614 <span class="indent">
615 ServerName www.sub1.domain.tld<br />
616 ServerPath /sub1/<br />
617 RewriteEngine On<br />
618 RewriteRule ^(/sub1/.*) /www/subdomain$1<br />
621 </VirtualHost><br />
623 <VirtualHost 172.20.30.40><br />
624 <span class="indent">
625 DocumentRoot /www/subdomain/sub2<br />
626 ServerName www.sub2.domain.tld<br />
627 ServerPath /sub2/<br />
628 RewriteEngine On<br />
629 RewriteRule ^(/sub2/.*) /www/subdomain$1<br />
635 <p>À cause de la directive
636 <code class="directive"><a href="../mod/core.html#serverpath">ServerPath</a></code>, une requête sur
637 une URL <code>http://www.sub1.domain.tld/sub1/</code> est
638 <em>toujours</em> servie par le serveur sub1-vhost.<br />
639 Une requête sur une URL <code>http://www.sub1.domain.tld/</code> n'est
640 servie par le serveur sub1-vhost que si le client envoie un en-tête
641 <code>Host:</code> correct. Si aucun en-tête <code>Host:</code>
642 n'est transmis, le serveur primaire sera utilisé.</p>
643 <p>Notez qu'il y a une singularité : une requête sur
644 <code>http://www.sub2.domain.tld/sub1/</code> est également servie
645 par le serveur sub1-vhost si le client n'envoie pas d'en-tête
646 <code>Host:</code>.</p>
647 <p>Les directives <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>
648 sont employées pour s'assurer que le client qui envoie un en-tête
649 <code>Host:</code> correct puisse utiliser d'autres variantes d'URLs,
650 <em>c'est-à-dire</em> avec ou sans préfixe d'URL.</p>
653 <div class="bottomlang">
654 <p><span>Langues Disponibles: </span><a href="../en/vhosts/examples.html" hreflang="en" rel="alternate" title="English"> en </a> |
655 <a href="../fr/vhosts/examples.html" title="Français"> fr </a> |
656 <a href="../ja/vhosts/examples.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
657 <a href="../ko/vhosts/examples.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
658 <a href="../tr/vhosts/examples.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
659 </div><div id="footer">
660 <p class="apache">Copyright 2011 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
661 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div>