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>

バーチャルホストにエイリアスを設定する(1)

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

バーチャルホストにエイリアスを設定する(2)

※ hosts ファイルを使った設定方法については「ホスト名によるアクセス設定(hostsファイル)」を参照されてください。

準備ができましたら Apache を再起動してください。

では最初にブラウザから http://www.example.com/ へアクセスしてみます。

バーチャルホストにエイリアスを設定する(3)

次にブラウザから http://www.example.jp/ へアクセスしてみます。

バーチャルホストにエイリアスを設定する(4)

最後にエイリアスとして設定した http://www.example.net/ へアクセスしてみます。

バーチャルホストにエイリアスを設定する(5)

エイリアスが設定されている www.example.jp と www.example.net は同じコンテンツが表示されました。

-- --

ServerAlias ディレクティブの使い方について解説しました。

( Written by Tatsuo Ikura )

プロフィール画像

著者 / TATSUO IKURA

これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。