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