- Home ›
- Apache入門 ›
- バーチャルホストの設定
ServerAliasディレクティブ:バーチャルホストのエイリアスを設定する
ServerAlias ディレクティブを使用すると名前ベースのバーチャルホストにエイリアスを設定することができます。ここでは ServerAlias ディレクティブの使い方について解説します。
(Last modified: )
バーチャルホストにエイリアスを設定する
名前ベースのバーチャルホストでは VirtualHost ディレクティブのブロックの中で ServerName ディレクティブを使ってホスト名を指定しますが、同じブロック内で ServerAlias ディレクティブを記述するとホスト名のエイリアスを設定することができます。
ServerAlias ディレクティブの書式は次のとおりです。
ServerAlias ホスト名 [ホスト名] ...
記述できる場所は VirtualHost です。
別名として設定するホスト名を 1 つまたは複数設定します。
例えば次のような設定を行ったとします。
<VirtualHost 127.0.0.1:80> ServerName www.example.com ServerAdmin admin@example.com DocumentRoot c:/pg/Apache24/htdocs_com </VirtualHost> <VirtualHost 127.0.0.1:80> ServerName www.example.jp ServerAdmin admin@example.jp DocumentRoot c:/pg/Apache24/htdocs_jp </VirtualHost>
www.example.jp に対して www.example.net というエイリアスを設定するには次のように記述します。
<VirtualHost 127.0.0.1:80>
ServerName www.example.jp
ServerAlias www.example.net
ServerAdmin admin@example.jp
DocumentRoot c:/pg/Apache24/htdocs_jp
</VirtualHost>
これで www.example.net に対するリクエストがあった場合は、 www.example.jp に対してリクエストがあった場合と同じドキュメントルート以下のコンテンツをクライアントへ返すようになります。
なお www.example.net に対して www.example.jp と同じ IP アドレスが設定されている必要があります。
では試してみます。 httpd.conf ファイルに次のように記述しました。
<VirtualHost 127.0.0.1:80> ServerName www.example.com ServerAdmin admin@example.com DocumentRoot c:/pg/Apache24/htdocs_com </VirtualHost> <VirtualHost 127.0.0.1:80> ServerName www.example.jp ServerAlias www.example.net ServerAdmin admin@example.jp DocumentRoot c:/pg/Apache24/htdocs_jp </VirtualHost> <Directory "${SRVROOT}/htdocs_com"> Require all granted </Directory> <Directory "${SRVROOT}/htdocs_jp"> Require all granted </Directory>
httpd.conf ファイルを保存してください。
次に www.example.com 、 www.example.jp 、 www.example.net に対して IP アドレスを割り当てます。通常はそれぞれのドメインを管理している DNS サーバにてそれぞれ A レコードなどを登録することになりますが、今回はローカル環境なので hosts ファイルを使って割り当てました。
127.0.0.1 www.example.com 127.0.0.1 www.example.jp 127.0.0.1 www.example.net
※ hosts ファイルを使った設定方法については「ホスト名によるアクセス設定(hostsファイル)」を参照されてください。
準備ができましたら Apache を再起動してください。
では最初にブラウザから http://www.example.com/ へアクセスしてみます。
次にブラウザから http://www.example.jp/ へアクセスしてみます。
最後にエイリアスとして設定した http://www.example.net/ へアクセスしてみます。
エイリアスが設定されている www.example.jp と www.example.net は同じコンテンツが表示されました。
-- --
ServerAlias ディレクティブの使い方について解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。