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
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="<-" alt="<-" src="../images/left.gif" /></a></div>
19 <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP サーバ</a> > <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> > <a href="../">バージョン
20 2.3</a> > <a href="./">バーチャルホスト</a></div><div id="page-content"><div id="preamble"><h1>バーチャルホストの例</h1>
22 <p><span>言語: </span><a href="../en/vhosts/examples.html" hreflang="en" rel="alternate" title="English"> en </a> |
23 <a href="../fr/vhosts/examples.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
24 <a href="../ja/vhosts/examples.html" title="Japanese"> ja </a> |
25 <a href="../ko/vhosts/examples.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
26 <a href="../tr/vhosts/examples.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
28 <div class="outofdate">この日本語訳はすでに古くなっている可能性があります。
29 更新された内容を見るには英語版をご覧下さい。</div>
32 <p>この文書は、バーチャルホストの設定の際に
33 よくある質問に答えるものです。想定している対象は <a href="name-based.html">名前ベース</a> や <a href="ip-based.html">IP ベース</a> のバーチャルホストを使って
34 一つのサーバで複数のウェブサイトを運用している状況です。
38 <div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#purename">一つの IP アドレスでいくつかの名前ベースの
40 <li><img alt="" src="../images/down.gif" /> <a href="#twoips">複数の IP アドレスのあるホストで名前ベースの
42 <li><img alt="" src="../images/down.gif" /> <a href="#intraextra">違う IP アドレス (例えば、内部と外部アドレス)
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 ベースの混ざった
48 <li><img alt="" src="../images/down.gif" /> <a href="#mixed">名前ベースと IP ベースを混ぜた
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> のバーチャルホストを
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> ディレクティブを
59 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
61 <h2><a name="purename" id="purename">一つの IP アドレスでいくつかの名前ベースの
64 <p>サーバは IP アドレスを一つ割り当てられていて、DNS でマシンに
65 複数の名前 (CNAME) が指定されています。このマシンで
66 <code>www.example.com</code> と <code>www.example.org</code>
67 のためのウェブサーバを実行させたいとします。</p>
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>
80 <div class="example"><h3>サーバ設定</h3><p><code>
83 # Ensure that Apache listens on port 80<br />
86 # Listen for virtual host requests on all IP addresses<br />
87 NameVirtualHost *:80<br />
89 <VirtualHost *:80><br />
91 DocumentRoot /www/example1<br />
92 ServerName www.example.com<br />
94 # Other directives here<br />
97 </VirtualHost><br />
99 <VirtualHost *:80><br />
100 <span class="indent">
101 DocumentRoot /www/example2<br />
102 ServerName www.example.org<br />
104 # Other directives here<br />
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>
117 <div class="note"><h3>注</h3>
119 <p><code>*</code> をシステムの実際の IP アドレスに置き換える
120 こともできます。その場合は <code>VirtualHost</code> の引数は
121 <code>NameVirtualHost</code> の引数と同じに<em>しなければなりません
124 <div class="example"><p><code>
125 NameVirtualHost 172.20.30.40<br />
127 <VirtualHost 172.20.30.40><br />
131 <p>しかし、IP アドレスが予測不可能なシステム
132 ――例えばプロバイダから動的に IP アドレスを取得して何らかの
133 ダイナミック DNS を使っている場合など――においては、<code>*</code>
134 指定はさらに便利です。<code>*</code> はすべての IP アドレスに
135 マッチしますので、この設定にしておけば IP アドレスが変更されても
139 <p>名前ベースのバーチャルホスティングではほぼすべての状況で、
140 上記の設定で希望の設定になっていることでしょう。
141 実際この設定が動作しないのは、IP アドレスやポートの違いによって
142 違うコンテンツを送るときだけです。</p>
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 アドレスのあるホストで名前ベースの
150 <h3>注</h3><p>ここで説明されている方法は IP アドレスが
154 <p>サーバには二つ IP アドレスがついています。一つ目
155 (<code>172.20.30.40</code>) では主サーバ
156 <code>server.domain.com</code> を扱い、もう一方
157 (<code>172.20.30.50</code>) では二つかそれ以上の数の
160 <div class="example"><h3>サーバの設定</h3><p><code>
165 # This is the "main" server running on 172.20.30.40<br />
166 ServerName server.domain.com<br />
167 DocumentRoot /www/mainserver<br />
169 # This is the other address<br />
170 NameVirtualHost 172.20.30.50<br />
172 <VirtualHost 172.20.30.50><br />
173 <span class="indent">
174 DocumentRoot /www/example1<br />
175 ServerName www.example.com<br />
177 # Other directives here ...<br />
180 </VirtualHost><br />
182 <VirtualHost 172.20.30.50><br />
183 <span class="indent">
184 DocumentRoot /www/example2<br />
185 ServerName www.example.org<br />
187 # Other directives here ...<br />
193 <p><code>172.20.30.50</code> 以外のアドレスへのリクエストは主サーバ
194 が扱います。<code>172.20.30.50</code> への、未知のホスト名または
195 <code>Host:</code> ヘッダなしのリクエストは <code>www.example.com</code>
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 アドレス (例えば、内部と外部アドレス)
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>)
211 <p><code>VirtualHost</code> 一つだけでサーバが内部のリクエストと
212 外部のリクエストの両方に同じコンテンツで応答するようにできます。</p>
214 <div class="example"><h3>サーバの設定</h3><p><code>
217 NameVirtualHost 192.168.1.1<br />
218 NameVirtualHost 172.20.30.40<br />
220 <VirtualHost 192.168.1.1 172.20.30.40><br />
221 <span class="indent">
222 DocumentRoot /www/server1<br />
223 ServerName server.example.com<br />
224 ServerAlias server<br />
229 <p>これでどちらのネットワークからのリクエストも同じ <code>VirtualHost</code>
232 <div class="note"><h3>注:</h3><p>内部ネットワークでは完全なホスト名の
233 <code>server.example.com</code> の代わりに、単に <code>server</code>
236 <p>上の例では、IP アドレスのリストを、すべてのアドレスに
237 同じコンテンツで応答する <code>*</code> に置き換えられます。</p>
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>
244 <p>同じ IP に複数のドメインがあり、さらに複数のポートを使って
245 リクエストを扱いたいときがあります。"NameVirtualHost" タグの中で
246 ポートを定義することで、これを動作させられます。
247 NameVirtualHost name:port 無しや Listen ディレクティブで
248 <VirtualHost name:port> を使おうとしても、その設定は動作しません。</p>
250 <div class="example"><h3>サーバの設定</h3><p><code>
256 NameVirtualHost 172.20.30.40:80<br />
257 NameVirtualHost 172.20.30.40:8080<br />
259 <VirtualHost 172.20.30.40:80><br />
260 <span class="indent">
261 ServerName www.example.com<br />
262 DocumentRoot /www/domain-80<br />
264 </VirtualHost><br />
266 <VirtualHost 172.20.30.40:8080><br />
267 <span class="indent">
268 ServerName www.example.com<br />
269 DocumentRoot /www/domain-8080<br />
271 </VirtualHost><br />
273 <VirtualHost 172.20.30.40:80><br />
274 <span class="indent">
275 ServerName www.example.org<br />
276 DocumentRoot /www/otherdomain-80<br />
278 </VirtualHost><br />
280 <VirtualHost 172.20.30.40:8080><br />
281 <span class="indent">
282 ServerName www.example.org<br />
283 DocumentRoot /www/otherdomain-8080<br />
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>
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>
296 <div class="example"><h3>サーバの設定</h3><p><code>
301 <VirtualHost 172.20.30.40><br />
302 <span class="indent">
303 DocumentRoot /www/example1<br />
304 ServerName www.example.com<br />
306 </VirtualHost><br />
308 <VirtualHost 172.20.30.50><br />
309 <span class="indent">
310 DocumentRoot /www/example2<br />
311 ServerName www.example.org<br />
316 <p><code><VirtualHost></code> ディレクティブのどれでも
317 指定されていないアドレス (例えば <code>localhost</code>) は、
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 ベースの混ざった
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>
330 <div class="example"><h3>サーバの設定</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/example1-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/example1-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/example2-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/example2-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">名前ベースと IP ベースを混ぜた
372 <p>いくつかのマシンでは名前ベースの、その他では IP ベースのバーチャル
375 <div class="example"><h3>サーバの設定</h3><p><code>
380 NameVirtualHost 172.20.30.40<br />
382 <VirtualHost 172.20.30.40><br />
383 <span class="indent">
384 DocumentRoot /www/example1<br />
385 ServerName www.example.com<br />
387 </VirtualHost><br />
389 <VirtualHost 172.20.30.40><br />
390 <span class="indent">
391 DocumentRoot /www/example2<br />
392 ServerName www.example.org<br />
394 </VirtualHost><br />
396 <VirtualHost 172.20.30.40><br />
397 <span class="indent">
398 DocumentRoot /www/example3<br />
399 ServerName www.example3.net<br />
401 </VirtualHost><br />
404 <VirtualHost 172.20.30.50><br />
405 <span class="indent">
406 DocumentRoot /www/example4<br />
407 ServerName www.example4.edu<br />
409 </VirtualHost><br />
411 <VirtualHost 172.20.30.60><br />
412 <span class="indent">
413 DocumentRoot /www/example5<br />
414 ServerName www.example5.gov<br />
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>
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 ディレクティブを使って、希望のホスト名を渡せるようになります。
431 <div class="example"><p><code>
432 <VirtualHost *:*><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 />
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> のバーチャルホストを
445 <h3><a name="defaultallports" id="defaultallports">すべてのポートに対する
446 <code>_default_</code> バーチャルホスト</a></h3>
448 <p>未指定の IP アドレスとポート、<em>つまり</em>他のバーチャルホストに
449 使われていないアドレスとポートの組み合わせ、への<em>すべての</em>リクエストを
452 <div class="example"><h3>サーバの設定</h3><p><code>
455 <VirtualHost _default_:*><br />
456 <span class="indent">
457 DocumentRoot /www/default<br />
462 <p>このようにワイルドカードのポートでデフォルトのバーチャルホストを
463 指定すると、主サーバにリクエストが行くのを防げます。</p>
465 <p>デフォルトのバーチャルホストは名前ベースのバーチャルホストに
466 使われているアドレスとポートの組に送られたリクエストを扱うことは
467 ありません。リクエストが不明な <code>Host:</code> ヘッダやその
468 ヘッダがなかったりする場合は基本名前ベースバーチャルホスト (その
469 アドレスとポートで設定ファイル中で最初のバーチャルホスト) により
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>
477 <h3><a name="defaultdifferentports" id="defaultdifferentports">違うポートのための
478 <code>_default_</code> バーチャルホスト</a></h3>
480 <p>一つめの設定とほぼ同じですが、サーバは複数のポートを listen しており、
481 80 番ポートに対して二つめの <code>_default_</code> バーチャルホストを
484 <div class="example"><h3>サーバの設定</h3><p><code>
487 <VirtualHost _default_:80><br />
488 <span class="indent">
489 DocumentRoot /www/default80<br />
492 </VirtualHost><br />
494 <VirtualHost _default_:*><br />
495 <span class="indent">
496 DocumentRoot /www/default<br />
502 <p>80 番ポートのデフォルトバーチャルホスト (ワイルドカードポートの
503 デフォルトバーチャルホストよりも前に書かれていなければ<em>なりません</em>) は
504 未指定の IP アドレスに送られたすべてのリクエストを扱います。
505 主サーバはリクエストを扱いません。</p>
508 <h3><a name="defaultoneport" id="defaultoneport">一つのポートに対してだけの
509 <code>_default_</code> バーチャルホスト</a></h3>
511 <p>80 番ポートにはデフォルトのバーチャルホストが必要で、他の
512 バーチャルホストはデフォルトが必要ない場合です。</p>
514 <div class="example"><h3>サーバの設定</h3><p><code>
517 <VirtualHost _default_:80><br />
518 DocumentRoot /www/default<br />
523 <p>80 番ポートへのアドレス未指定のリクエストはデフォルトのバーチャル
524 ホストから送られます。他の未指定のアドレスとポートへのリクエストは
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>
533 <p>ホスト名が名前 <code>www.example.org</code> のバーチャルホスト
534 (<a href="#name">名前ベース</a>の例の 2 番目の設定) が専用の IP アドレスを
535 得たとします。名前ベースのバーチャルホストの古い IP アドレスを
536 キャッシュしているネームサーバやプロキシのために移行期間中は両方の
537 バーチャルホストを提供したいとします。</p>
539 <p>答は簡単です。単に新しい IP アドレス (<code>172.20.30.50</code>)
540 を <code>VirtualHost</code> ディレクティブに追加することで
543 <div class="example"><h3>サーバ設定</h3><p><code>
547 ServerName www.example.com<br />
548 DocumentRoot /www/example1<br />
550 NameVirtualHost 172.20.30.40<br />
552 <VirtualHost 172.20.30.40 172.20.30.50><br />
553 <span class="indent">
554 DocumentRoot /www/example2<br />
555 ServerName www.example.org<br />
558 </VirtualHost><br />
560 <VirtualHost 172.20.30.40><br />
561 <span class="indent">
562 DocumentRoot /www/example3<br />
563 ServerName www.example.net<br />
564 ServerAlias *.example.net<br />
570 <p>このバーチャルホストは新しいアドレス (IP ベースのバーチャルホストとして)
571 と古いアドレス(名前ベースのバーチャルホストとして) の両方から
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> ディレクティブを
579 <p>名前ベースのバーチャルホストが二つあるサーバがあるとします。
580 正しいバーチャルホストを得るためにはクライアントは正しい
581 <code>Host:</code> ヘッダを送らなければなりません。
582 古い HTTP/1.0 はそのようなヘッダを送らないので、Apache はクライアントが
583 どのバーチャルホストを意図したのかさっぱりわかりません
584 (なので、主バーチャルホストでリクエストを扱います)。
585 可能な限りの下位互換性を得るため、名前ベースのバーチャルホストの
586 URL 接頭辞へのリンクの書かれたページを返す、
587 主バーチャルホストが作成されます。</p>
589 <div class="example"><h3>サーバの設定</h3><p><code>
592 NameVirtualHost 172.20.30.40<br />
594 <VirtualHost 172.20.30.40><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 />
602 </VirtualHost><br />
604 <VirtualHost 172.20.30.40><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 />
613 </VirtualHost><br />
615 <VirtualHost 172.20.30.40><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 />
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>
635 <p>一つ奇妙な動作をする点があることは覚えておいてください。
636 <code>http://www.sub2.domain.tld/sub1/</code> へのリクエストも
637 <code>Host:</code> ヘッダがなければ sub1-vhost により扱われます。</p>
639 <p>正しい <code>Host:</code> ヘッダを送ったクライアントはどちらの
640 URL、<em>つまり</em>接頭辞がある方も無い方も使えるように
641 <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> ディレクティブが
644 <div class="bottomlang">
645 <p><span>言語: </span><a href="../en/vhosts/examples.html" hreflang="en" rel="alternate" title="English"> en </a> |
646 <a href="../fr/vhosts/examples.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
647 <a href="../ja/vhosts/examples.html" title="Japanese"> ja </a> |
648 <a href="../ko/vhosts/examples.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
649 <a href="../tr/vhosts/examples.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </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>