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