名前ベースのVirtualHost

今までapacheを名前ベース(NameVirtualHost)をエラーが出たまま使ってたので、ちゃんと調べてみた。

例えばport 8080でVirtualHostを使いたい場合以下のようになります。

NameVirtualHost *:8080
<VirtualHost *:8080>
DocumentRoot "/var/www/mazn"
ServerName www.abcd.com
ServerAdmin webmaster@localhost
ErrorLog /var/log/apache2/error.log
TransferLog /var/log/apache2/saccess.log
ServerAlias www.efgh.com
</VirtualHost>

これでwww.abcd.comにアクセスした場合、/var/www/mazn/ のドキュメントが表示されるようになります。またServerAliasでwww.efgh.comが設定されているので、www.efgh.comへアクセスした場合も同じものが表示されます。

複数のVirtualHostを書いた場合、一番上に書いた物が優先され、どれにもマッチしない場合も一番上のVirtualHostが表示されます。

タイトルとURLをコピーしました