「Apache - 仮想ホスト」の版間の差分

ナビゲーションに移動 検索に移動
編集の要約なし
編集の要約なし
197行目: 197行目:


== 仮想ホストのエイリアスの設定 ==
== 仮想ホストのエイリアスの設定 ==
名前ベースの仮想ホストの設定が行われている時に、登録されてないホスト名でのアクセスがあった場合を考える。<br>
<br>
例えば、DNS(またはhostsファイル)にて以下の設定がされていたとする。<br>
127.0.0.1    localhost
127.0.0.1    www.adminweb.jp
127.0.0.1    www.officepro.jp
<br>
それに対して、仮想ホストの設定が、www.adminweb.jpとwww.officepro.jpにしか行われていなかったとする。<br>
NameVirtualHost *:80
<VirtualHost *:80>
    ServerAdmin dumy@adminweb.jp
    DocumentRoot "/var/www/html/adminweb_docs"
    ServerName www.adminweb.jp
    CustomLog logs/adminweb.access.log common
    CustomLog logs/adminweb.error.log
</VirtualHost>
<VirtualHost *:80>
    ServerAdmin dumy@officepro.jp
    DocumentRoot "/var/www/html/officepro_docs"
    ServerName www.officepro.jp
    CustomLog logs/officepro.access.log common
    ErrorLog logs/officepro.error.log
</VirtualHost>
<br>
この時、http://localhost/ に対してアクセスがあった場合、最初に登録されている仮想ホストの設定がデフォルトとして適用される。<br>
<br>
このような場合、仮想ホストの設定が行われていないホストに対して、デフォルト以外のホストの設定を適用させることが可能である。<br>
ServerAliasを使用して、仮想ホストの設定に別名として登録する。<br>
複数のホスト名を登録したい場合は、空白で区切って続けて記述する。<br>
# 記述方法
ServerAlias ホスト名1 ホスト名2 ...
<br>
http://localhost/ に対するアクセスをwww.officepro.jpの設定が適用されるように、www.officepro.jpに別名としてlocalhostを登録する。<br>
NameVirtualHost *:80
<VirtualHost *:80>
    ServerAdmin dumy@adminweb.jp
    DocumentRoot "/var/www/html/adminweb_docs"
    ServerName www.adminweb.jp
    CustomLog logs/adminweb.access.log common
    CustomLog logs/adminweb.error.log
</VirtualHost>
<VirtualHost *:80>
    ServerAdmin dumy@officepro.jp
    DocumentRoot "/var/www/html/officepro_docs"
    ServerName www.officepro.jp
    ServerAlias localhost
    CustomLog logs/officepro.access.log common
    ErrorLog logs/officepro.error.log
</VirtualHost>
<br>
これで設定は完了である。<br>
<br>
Apacheを再起動して、http://localhost/ にアクセスする。<br>
エイリアスで設定が行われたwww.officepro.jpの設定が適用されていることを確認する。<br>
<br><br>
__FORCETOC__
[[カテゴリ:設定]]

案内メニュー