]> granicus.if.org Git - apache/blob - docs/manual/vhosts/examples.html.ja.utf8
Update transformations.
[apache] / docs / manual / vhosts / examples.html.ja.utf8
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head><!--
4         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5               This file is generated from xml source: DO NOT EDIT
6         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7       -->
8 <title>バーチャルホストの例 - 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/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p>
15 <p class="apache">Apache HTTP サーバ バージョン 2.3</p>
16 <img alt="" src="../images/feather.gif" /></div>
17 <div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
18 <div id="path">
19 <a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP サーバ</a> &gt; <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> &gt; <a href="../">バージョン
20             2.3</a> &gt; <a href="./">バーチャルホスト</a></div><div id="page-content"><div id="preamble"><h1>バーチャルホストの例</h1>
21 <div class="toplang">
22 <p><span>言語: </span><a href="../en/vhosts/examples.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
23 <a href="../fr/vhosts/examples.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
24 <a href="../ja/vhosts/examples.html" title="Japanese">&nbsp;ja&nbsp;</a> |
25 <a href="../ko/vhosts/examples.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
26 <a href="../tr/vhosts/examples.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
27 </div>
28 <div class="outofdate">この日本語訳はすでに古くなっている可能性があります。
29           更新された内容を見るには英語版をご覧下さい。</div>
30
31
32     <p>この文書は、バーチャルホストの設定の際に
33     よくある質問に答えるものです。想定している対象は <a href="name-based.html">名前ベース</a> や <a href="ip-based.html">IP ベース</a> のバーチャルホストを使って
34     一つのサーバで複数のウェブサイトを運用している状況です。
35     </p>
36
37 </div>
38 <div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#purename">一つの IP アドレスでいくつかの名前ベースの
39     ウェブサイトを実行する</a></li>
40 <li><img alt="" src="../images/down.gif" /> <a href="#twoips">複数の IP アドレスのあるホストで名前ベースの
41     ホスティングを行なう</a></li>
42 <li><img alt="" src="../images/down.gif" /> <a href="#intraextra">違う IP アドレス (例えば、内部と外部アドレス)
43     で同じコンテンツを送る</a></li>
44 <li><img alt="" src="../images/down.gif" /> <a href="#port">違うポートで違うサイトを運営する</a></li>
45 <li><img alt="" src="../images/down.gif" /> <a href="#ip">IP ベースのバーチャルホスティング</a></li>
46 <li><img alt="" src="../images/down.gif" /> <a href="#ipport">ポートベースと IP ベースの混ざった
47     バーチャルホスト</a></li>
48 <li><img alt="" src="../images/down.gif" /> <a href="#mixed">名前ベースと IP ベースを混ぜた
49     バーチャルホスト</a></li>
50 <li><img alt="" src="../images/down.gif" /> <a href="#proxy"><code>Virtual_host</code> と
51     mod_proxy を併用する</a></li>
52 <li><img alt="" src="../images/down.gif" /> <a href="#default"><code>_default_</code> のバーチャルホストを
53     使う</a></li>
54 <li><img alt="" src="../images/down.gif" /> <a href="#migrate">名前ベースのバーチャルホストから IP ベースの
55     バーチャルホストに移行する</a></li>
56 <li><img alt="" src="../images/down.gif" /> <a href="#serverpath"><code>ServerPath</code> ディレクティブを
57     使う</a></li>
58 </ul></div>
59 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
60 <div class="section">
61 <h2><a name="purename" id="purename">一つの IP アドレスでいくつかの名前ベースの
62     ウェブサイトを実行する</a></h2>
63
64     <p>サーバは IP アドレスを一つ割り当てられていて、DNS でマシンに
65     複数の名前 (CNAME) が指定されています。このマシンで
66     <code>www.example.com</code> と <code>www.example.org</code>
67     のためのウェブサーバを実行させたいとします。</p>
68
69     <div class="note"><h3>注</h3><p>
70           Apache サーバの設定でバーチャルホストの設定をしただけで、
71           知らない間にそのホスト名に対応する DNS のエントリが
72           作成されたりはしません。そのサーバの IP アドレスに解決される
73           ように DNS に名前を登録しなければ<em>なりません</em>。
74           そうでないと誰もあなたのウェブサイトを見ることはできません。
75           ローカルでのテストのために <code>hosts</code> ファイルに
76           エントリを追加することもできますが、この場合はその
77           hosts エントリのあるマシンからしか動作しません。</p>
78     </div>
79
80     <div class="example"><h3>サーバ設定</h3><p><code>
81     
82
83     # Ensure that Apache listens on port 80<br />
84     Listen 80<br />
85     <br />
86     # Listen for virtual host requests on all IP addresses<br />
87     NameVirtualHost *:80<br />
88     <br />
89     &lt;VirtualHost *:80&gt;<br />
90     <span class="indent">
91       DocumentRoot /www/example1<br />
92       ServerName www.example.com<br />
93       <br />
94       # Other directives here<br />
95       <br />
96     </span>
97     &lt;/VirtualHost&gt;<br />
98     <br />
99     &lt;VirtualHost *:80&gt;<br />
100     <span class="indent">
101       DocumentRoot /www/example2<br />
102       ServerName www.example.org<br />
103       <br />
104       # Other directives here<br />
105       <br />
106     </span>
107     &lt;/VirtualHost&gt;
108     </code></p></div>
109
110     <p>アスタリスクはすべてのアドレスにマッチしますので、主サーバは
111     リクエストを扱いません。<code>www.example.com</code> は
112     最初にあるため、優先順位は一番高くなり、<cite>default</cite> もしくは
113     <cite>primary</cite>  のサーバと考えることができます。つまり、リクエストが
114     どの <code>ServerName</code> ディレクティブにもマッチしない場合、
115     一番最初の <code>VirtualHost</code> により扱われます。</p>
116
117     <div class="note"><h3>注</h3>
118
119           <p><code>*</code> をシステムの実際の IP アドレスに置き換える
120           こともできます。その場合は <code>VirtualHost</code> の引数は
121           <code>NameVirtualHost</code> の引数と同じに<em>しなければなりません
122           </em>:</p>
123
124             <div class="example"><p><code>
125             NameVirtualHost 172.20.30.40<br />
126             <br />
127             &lt;VirtualHost 172.20.30.40&gt;<br />
128              # etc ...
129             </code></p></div>
130
131           <p>しかし、IP アドレスが予測不可能なシステム
132           ――例えばプロバイダから動的に IP アドレスを取得して何らかの
133           ダイナミック DNS を使っている場合など――においては、<code>*</code> 
134           指定はさらに便利です。<code>*</code> はすべての IP アドレスに
135           マッチしますので、この設定にしておけば IP アドレスが変更されても
136           設定変更せずに動作します。</p>
137     </div>
138
139     <p>名前ベースのバーチャルホスティングではほぼすべての状況で、
140     上記の設定で希望の設定になっていることでしょう。
141     実際この設定が動作しないのは、IP アドレスやポートの違いによって
142     違うコンテンツを送るときだけです。</p>
143
144     </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
145 <div class="section">
146 <h2><a name="twoips" id="twoips">複数の IP アドレスのあるホストで名前ベースの
147     ホスティングを行なう</a></h2>
148  
149     <div class="note">
150     <h3>注</h3><p>ここで説明されている方法は IP アドレスが
151     何個あっても同様にできます。</p>
152     </div>
153
154     <p>サーバには二つ IP アドレスがついています。一つ目
155     (<code>172.20.30.40</code>) では主サーバ 
156     <code>server.domain.com</code> を扱い、もう一方
157     (<code>172.20.30.50</code>) では二つかそれ以上の数の
158     バーチャルホストを扱います。</p>
159
160     <div class="example"><h3>サーバの設定</h3><p><code>
161     
162
163     Listen 80<br />
164     <br />
165     # This is the "main" server running on 172.20.30.40<br />
166     ServerName server.domain.com<br />
167     DocumentRoot /www/mainserver<br />
168     <br />
169     # This is the other address<br />
170     NameVirtualHost 172.20.30.50<br />
171     <br />
172     &lt;VirtualHost 172.20.30.50&gt;<br />
173     <span class="indent">
174         DocumentRoot /www/example1<br />
175         ServerName www.example.com<br />
176         <br />
177         # Other directives here ...<br />
178         <br />
179     </span>
180     &lt;/VirtualHost&gt;<br />
181     <br />
182     &lt;VirtualHost 172.20.30.50&gt;<br />
183     <span class="indent">
184         DocumentRoot /www/example2<br />
185         ServerName www.example.org<br />
186         <br />
187         # Other directives here ...<br />
188         <br />
189     </span>
190     &lt;/VirtualHost&gt;
191     </code></p></div>
192
193     <p><code>172.20.30.50</code> 以外のアドレスへのリクエストは主サーバ
194     が扱います。<code>172.20.30.50</code> への、未知のホスト名または
195     <code>Host:</code> ヘッダなしのリクエストは <code>www.example.com</code>
196     が扱います。</p>
197
198     </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
199 <div class="section">
200 <h2><a name="intraextra" id="intraextra">違う IP アドレス (例えば、内部と外部アドレス)
201     で同じコンテンツを送る</a></h2>
202
203     <p>サーバマシンは IP アドレスを二つ (<code>192.168.1.1</code>
204     と <code>172.20.30.40</code>) 持っています。このマシンは内部
205     (イントラネット) と 外部 (インターネット) のネットワークの間に
206     あります。<code>server.example.com</code> はネットワークの外からは
207     外部アドレス (<code>172.20.30.40</code>) として解決されますが、
208     ネットワークの中からは内部アドレス (<code>192.168.1.1</code>) 
209     として解決されます。</p>
210
211     <p><code>VirtualHost</code> 一つだけでサーバが内部のリクエストと
212     外部のリクエストの両方に同じコンテンツで応答するようにできます。</p>
213
214     <div class="example"><h3>サーバの設定</h3><p><code>
215     
216
217     NameVirtualHost 192.168.1.1<br />
218     NameVirtualHost 172.20.30.40<br />
219     <br />
220     &lt;VirtualHost 192.168.1.1 172.20.30.40&gt;<br />
221     <span class="indent">
222         DocumentRoot /www/server1<br />
223         ServerName server.example.com<br />
224         ServerAlias server<br />
225     </span>
226     &lt;/VirtualHost&gt;
227     </code></p></div>
228
229     <p>これでどちらのネットワークからのリクエストも同じ <code>VirtualHost</code>
230     で扱われるようになります。</p>
231
232     <div class="note"><h3>注:</h3><p>内部ネットワークでは完全なホスト名の
233           <code>server.example.com</code> の代わりに、単に <code>server</code>
234           を使うことができます。</p>
235
236           <p>上の例では、IP アドレスのリストを、すべてのアドレスに
237            同じコンテンツで応答する <code>*</code> に置き換えられます。</p>
238     </div>
239
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">違うポートで違うサイトを運営する</a></h2>
243
244     <p>同じ IP に複数のドメインがあり、さらに複数のポートを使って
245     リクエストを扱いたいときがあります。"NameVirtualHost" タグの中で
246     ポートを定義することで、これを動作させられます。
247     NameVirtualHost name:port 無しや Listen ディレクティブで
248     &lt;VirtualHost name:port&gt; を使おうとしても、その設定は動作しません。</p>
249
250     <div class="example"><h3>サーバの設定</h3><p><code>
251     
252
253     Listen 80<br />
254     Listen 8080<br />
255     <br />
256     NameVirtualHost 172.20.30.40:80<br />
257     NameVirtualHost 172.20.30.40:8080<br />
258     <br />
259     &lt;VirtualHost 172.20.30.40:80&gt;<br />
260     <span class="indent">
261         ServerName www.example.com<br />
262         DocumentRoot /www/domain-80<br />
263     </span>
264     &lt;/VirtualHost&gt;<br />
265     <br />
266     &lt;VirtualHost 172.20.30.40:8080&gt;<br />
267     <span class="indent">
268         ServerName www.example.com<br />
269         DocumentRoot /www/domain-8080<br />
270     </span>
271     &lt;/VirtualHost&gt;<br />
272     <br />
273     &lt;VirtualHost 172.20.30.40:80&gt;<br />
274     <span class="indent">
275         ServerName www.example.org<br />
276         DocumentRoot /www/otherdomain-80<br />
277     </span>
278     &lt;/VirtualHost&gt;<br />
279     <br />
280     &lt;VirtualHost 172.20.30.40:8080&gt;<br />
281     <span class="indent">
282         ServerName www.example.org<br />
283         DocumentRoot /www/otherdomain-8080<br />
284     </span>
285     &lt;/VirtualHost&gt;
286     </code></p></div>
287
288     </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
289 <div class="section">
290 <h2><a name="ip" id="ip">IP ベースのバーチャルホスティング</a></h2>
291
292     <p>サーバは <code>www.example.com</code> と <code>www.example.org</code>
293     にそれぞれ解決される、二つの IP アドレス (<code>172.20.30.40</code> と
294     <code>172.20.30.50</code>) があります。</p>
295
296     <div class="example"><h3>サーバの設定</h3><p><code>
297     
298
299     Listen 80<br />
300     <br />
301     &lt;VirtualHost 172.20.30.40&gt;<br />
302     <span class="indent">
303         DocumentRoot /www/example1<br />
304         ServerName www.example.com<br />
305     </span>
306     &lt;/VirtualHost&gt;<br />
307     <br />
308     &lt;VirtualHost 172.20.30.50&gt;<br />
309     <span class="indent">
310         DocumentRoot /www/example2<br />
311         ServerName www.example.org<br />
312     </span>
313     &lt;/VirtualHost&gt;
314     </code></p></div>
315
316     <p><code>&lt;VirtualHost&gt;</code> ディレクティブのどれでも
317     指定されていないアドレス (例えば <code>localhost</code>) は、
318     主サーバがあればそこに行きます。</p>
319
320     </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
321 <div class="section">
322 <h2><a name="ipport" id="ipport">ポートベースと IP ベースの混ざった
323     バーチャルホスト</a></h2>
324
325     <p>サーバマシンはそれぞれ <code>www.example.com</code> と
326     <code>www.example.org</code> にそれぞれ解決される、IP アドレスを二つ
327     (<code>172.20.30.40</code> と <code>172.20.30.50</code>) 持っています。
328     どちらもポート 80 と 8080 でホストを走らせます。</p>
329
330     <div class="example"><h3>サーバの設定</h3><p><code>
331     
332
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 />
337     <br />
338     &lt;VirtualHost 172.20.30.40:80&gt;<br />
339     <span class="indent">
340         DocumentRoot /www/example1-80<br />
341         ServerName www.example.com<br />
342     </span>
343     &lt;/VirtualHost&gt;<br />
344     <br />
345     &lt;VirtualHost 172.20.30.40:8080&gt;<br />
346     <span class="indent">
347         DocumentRoot /www/example1-8080<br />
348         ServerName www.example.com<br />
349     </span>
350     &lt;/VirtualHost&gt;<br />
351     <br />
352     &lt;VirtualHost 172.20.30.50:80&gt;<br />
353     <span class="indent">
354         DocumentRoot /www/example2-80<br />
355         ServerName www.example.org<br />
356     </span>
357     &lt;/VirtualHost&gt;<br />
358     <br />
359     &lt;VirtualHost 172.20.30.50:8080&gt;<br />
360     <span class="indent">
361         DocumentRoot /www/example2-8080<br />
362         ServerName www.example.org<br />
363     </span>
364     &lt;/VirtualHost&gt;
365     </code></p></div>
366
367     </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
368 <div class="section">
369 <h2><a name="mixed" id="mixed">名前ベースと IP ベースを混ぜた
370     バーチャルホスト</a></h2>
371
372     <p>いくつかのマシンでは名前ベースの、その他では IP ベースのバーチャル
373     ホストをします。</p>
374
375     <div class="example"><h3>サーバの設定</h3><p><code>
376     
377
378     Listen 80<br />
379     <br />
380     NameVirtualHost 172.20.30.40<br />
381     <br />
382     &lt;VirtualHost 172.20.30.40&gt;<br />
383     <span class="indent">
384         DocumentRoot /www/example1<br />
385         ServerName www.example.com<br />
386     </span>
387     &lt;/VirtualHost&gt;<br />
388     <br />
389     &lt;VirtualHost 172.20.30.40&gt;<br />
390     <span class="indent">
391         DocumentRoot /www/example2<br />
392         ServerName www.example.org<br />
393     </span>
394     &lt;/VirtualHost&gt;<br />
395     <br />
396     &lt;VirtualHost 172.20.30.40&gt;<br />
397     <span class="indent">
398         DocumentRoot /www/example3<br />
399         ServerName www.example3.net<br />
400     </span>
401     &lt;/VirtualHost&gt;<br />
402     <br />
403     # IP-based<br />
404     &lt;VirtualHost 172.20.30.50&gt;<br />
405     <span class="indent">
406         DocumentRoot /www/example4<br />
407         ServerName www.example4.edu<br />
408     </span>
409     &lt;/VirtualHost&gt;<br />
410     <br />
411     &lt;VirtualHost 172.20.30.60&gt;<br />
412     <span class="indent">
413         DocumentRoot /www/example5<br />
414         ServerName www.example5.gov<br />
415     </span>
416     &lt;/VirtualHost&gt;
417     </code></p></div>
418
419     </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
420 <div class="section">
421 <h2><a name="proxy" id="proxy"><code>Virtual_host</code> と
422     mod_proxy を併用する</a></h2>
423
424     <p>次の例は、フロント側のバーチャルホストで他のマシンへプロクシします。
425     例では <code>192.168.111.2</code> のマシンではバーチャルホスト名は
426     同じ名前で設定されています。複数のホスト名を一台のマシンにプロクシする
427     場合は、<code class="directive"><a href="../mod/mod_proxy.html#proxypreservehost on">ProxyPreserveHost On</a></code>
428     ディレクティブを使って、希望のホスト名を渡せるようになります。
429     </p>
430
431     <div class="example"><p><code>
432     &lt;VirtualHost *:*&gt;<br />
433         ProxyPreserveHost On<br />
434         ProxyPass / http://192.168.111.2/<br />
435         ProxyPassReverse / http://192.168.111.2/<br />
436         ServerName hostname.example.com<br />
437     &lt;/VirtualHost&gt;
438     </code></p></div>
439
440     </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
441 <div class="section">
442 <h2><a name="default" id="default"><code>_default_</code> のバーチャルホストを
443     使う</a></h2> 
444
445     <h3><a name="defaultallports" id="defaultallports">すべてのポートに対する
446     <code>_default_</code> バーチャルホスト</a></h3>
447
448     <p>未指定の IP アドレスとポート、<em>つまり</em>他のバーチャルホストに
449     使われていないアドレスとポートの組み合わせ、への<em>すべての</em>リクエストを
450     受け取ります。</p>
451
452     <div class="example"><h3>サーバの設定</h3><p><code>
453     
454
455     &lt;VirtualHost _default_:*&gt;<br />
456     <span class="indent">
457         DocumentRoot /www/default<br />
458     </span>
459     &lt;/VirtualHost&gt;
460     </code></p></div>
461
462     <p>このようにワイルドカードのポートでデフォルトのバーチャルホストを
463     指定すると、主サーバにリクエストが行くのを防げます。</p>
464
465     <p>デフォルトのバーチャルホストは名前ベースのバーチャルホストに
466     使われているアドレスとポートの組に送られたリクエストを扱うことは
467     ありません。リクエストが不明な <code>Host:</code> ヘッダやその
468     ヘッダがなかったりする場合は基本名前ベースバーチャルホスト (その
469     アドレスとポートで設定ファイル中で最初のバーチャルホスト) により
470     扱われます。</p>
471
472     <p>どんなリクエストでも <code class="directive"><a href="../mod/mod_alias.html#aliasmatch">AliasMatch</a></code>
473     や <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> を使って
474     単一の情報ページ (やスクリプト) に書き換えることができます。</p>
475     
476
477     <h3><a name="defaultdifferentports" id="defaultdifferentports">違うポートのための
478     <code>_default_</code> バーチャルホスト</a></h3>
479
480     <p>一つめの設定とほぼ同じですが、サーバは複数のポートを listen しており、
481     80 番ポートに対して二つめの <code>_default_</code> バーチャルホストを
482     設定したい場合です。</p>
483
484     <div class="example"><h3>サーバの設定</h3><p><code>
485     
486
487     &lt;VirtualHost _default_:80&gt;<br />
488     <span class="indent">
489         DocumentRoot /www/default80<br />
490         # ...<br />
491     </span>
492     &lt;/VirtualHost&gt;<br />
493     <br />
494     &lt;VirtualHost _default_:*&gt;<br />
495     <span class="indent">
496         DocumentRoot /www/default<br />
497         # ...<br />
498     </span>
499     &lt;/VirtualHost&gt;
500     </code></p></div>
501
502     <p>80 番ポートのデフォルトバーチャルホスト (ワイルドカードポートの
503     デフォルトバーチャルホストよりも前に書かれていなければ<em>なりません</em>) は
504     未指定の IP アドレスに送られたすべてのリクエストを扱います。
505     主サーバはリクエストを扱いません。</p>
506     
507
508     <h3><a name="defaultoneport" id="defaultoneport">一つのポートに対してだけの
509     <code>_default_</code> バーチャルホスト</a></h3>
510
511     <p>80 番ポートにはデフォルトのバーチャルホストが必要で、他の
512     バーチャルホストはデフォルトが必要ない場合です。</p>
513
514     <div class="example"><h3>サーバの設定</h3><p><code>
515     
516
517     &lt;VirtualHost _default_:80&gt;<br />
518     DocumentRoot /www/default<br />
519     ...<br />
520     &lt;/VirtualHost&gt;
521     </code></p></div>
522
523     <p>80 番ポートへのアドレス未指定のリクエストはデフォルトのバーチャル
524     ホストから送られます。他の未指定のアドレスとポートへのリクエストは
525     主サーバから送られます。</p>
526     
527
528   </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
529 <div class="section">
530 <h2><a name="migrate" id="migrate">名前ベースのバーチャルホストから IP ベースの
531     バーチャルホストに移行する</a></h2>
532
533     <p>ホスト名が名前 <code>www.example.org</code> のバーチャルホスト
534     (<a href="#name">名前ベース</a>の例の 2 番目の設定) が専用の IP アドレスを
535     得たとします。名前ベースのバーチャルホストの古い IP アドレスを
536     キャッシュしているネームサーバやプロキシのために移行期間中は両方の
537     バーチャルホストを提供したいとします。</p>
538
539     <p>答は簡単です。単に新しい IP アドレス (<code>172.20.30.50</code>)
540     を <code>VirtualHost</code> ディレクティブに追加することで
541     できます。</p>
542   
543     <div class="example"><h3>サーバ設定</h3><p><code>
544     
545
546     Listen 80<br />
547     ServerName www.example.com<br />
548     DocumentRoot /www/example1<br />
549     <br />
550     NameVirtualHost 172.20.30.40<br />
551     <br />
552     &lt;VirtualHost 172.20.30.40 172.20.30.50&gt;<br />
553     <span class="indent">
554         DocumentRoot /www/example2<br />
555         ServerName www.example.org<br />
556         # ...<br />
557     </span>
558     &lt;/VirtualHost&gt;<br />
559     <br />
560     &lt;VirtualHost 172.20.30.40&gt;<br />
561     <span class="indent">
562         DocumentRoot /www/example3<br />
563         ServerName www.example.net<br />
564         ServerAlias *.example.net<br />
565         # ...<br />
566     </span>
567     &lt;/VirtualHost&gt;
568     </code></p></div>
569
570     <p>このバーチャルホストは新しいアドレス (IP ベースのバーチャルホストとして)
571     と古いアドレス(名前ベースのバーチャルホストとして) の両方から
572     アクセスできます。</p>
573
574     </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
575 <div class="section">
576 <h2><a name="serverpath" id="serverpath"><code>ServerPath</code> ディレクティブを
577     使う</a></h2>
578
579     <p>名前ベースのバーチャルホストが二つあるサーバがあるとします。
580     正しいバーチャルホストを得るためにはクライアントは正しい
581     <code>Host:</code> ヘッダを送らなければなりません。
582     古い HTTP/1.0 はそのようなヘッダを送らないので、Apache はクライアントが
583     どのバーチャルホストを意図したのかさっぱりわかりません
584     (なので、主バーチャルホストでリクエストを扱います)。
585     可能な限りの下位互換性を得るため、名前ベースのバーチャルホストの
586     URL 接頭辞へのリンクの書かれたページを返す、
587     主バーチャルホストが作成されます。</p>
588
589     <div class="example"><h3>サーバの設定</h3><p><code>
590     
591
592     NameVirtualHost 172.20.30.40<br />
593     <br />
594     &lt;VirtualHost 172.20.30.40&gt;<br />
595     <span class="indent">
596         # primary vhost<br />
597         DocumentRoot /www/subdomain<br />
598         RewriteEngine On<br />
599         RewriteRule ^/.* /www/subdomain/index.html<br />
600         # ...<br />
601     </span>
602     &lt;/VirtualHost&gt;<br />
603     <br />
604     &lt;VirtualHost 172.20.30.40&gt;<br />
605     DocumentRoot /www/subdomain/sub1<br />
606     <span class="indent">
607         ServerName www.sub1.domain.tld<br />
608         ServerPath /sub1/<br />
609         RewriteEngine On<br />
610         RewriteRule ^(/sub1/.*) /www/subdomain$1<br />
611         # ...<br />
612     </span>
613     &lt;/VirtualHost&gt;<br />
614     <br />
615     &lt;VirtualHost 172.20.30.40&gt;<br />
616     <span class="indent">
617         DocumentRoot /www/subdomain/sub2<br />
618         ServerName www.sub2.domain.tld<br />
619         ServerPath /sub2/<br />
620         RewriteEngine On<br />
621         RewriteRule ^(/sub2/.*) /www/subdomain$1<br />
622         # ...<br />
623     </span>
624     &lt;/VirtualHost&gt;
625     </code></p></div>
626
627     <p><code class="directive"><a href="../mod/core.html#serverpath">ServerPath</a></code> ディレクティブの設定に
628     より、URL <code>http://www.sub1.domain.tld/sub1/</code> は
629     <em>常に</em> sub1-vhost により扱われます。URL
630     <code>http://www.sub1.domain.tld/</code> へのリクエストは
631     クライアントが正しい <code>Host:</code> ヘッダを送ったときにのみ
632     sub1-vhost から送られます。<code>Host:</code> ヘッダがなければ
633     クライアントは主ホストの情報ページを得ます。</p>
634
635     <p>一つ奇妙な動作をする点があることは覚えておいてください。
636     <code>http://www.sub2.domain.tld/sub1/</code> へのリクエストも
637     <code>Host:</code> ヘッダがなければ sub1-vhost により扱われます。</p>
638
639     <p>正しい <code>Host:</code> ヘッダを送ったクライアントはどちらの
640     URL、<em>つまり</em>接頭辞がある方も無い方も使えるように
641     <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> ディレクティブが
642     使われています。</p>
643   </div></div>
644 <div class="bottomlang">
645 <p><span>言語: </span><a href="../en/vhosts/examples.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
646 <a href="../fr/vhosts/examples.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
647 <a href="../ja/vhosts/examples.html" title="Japanese">&nbsp;ja&nbsp;</a> |
648 <a href="../ko/vhosts/examples.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
649 <a href="../tr/vhosts/examples.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
650 </div><div id="footer">
651 <p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
652 <p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
653 </body></html>