重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

Apache(2.0.63)で、name basedなvirtual hostをおこなっているのですが、example.com www.example.com develop.example.com の場合は、
それぞれのvirtual hostごとの設定(DocumentRoot など)がよまれ、【<想定していないサブドメ>.example.com】 の場合は、その場合特有の設定(DocumentRoot など)が読まれるようにしたいのですが、どうすればいいのでしょうか?

<VirtualHost _default_:*>ほげほげ</VirtualHost>はIPベースのときにしか意味ないようですし・・・

なお。以下のように、ServerName をかかなければいい、というのをどこかでみかけ、実践したのですが、挙動変わらずです。
<VirtualHost *:80>
# ServerName wildcard.example.com
DocumentRoot /var/www/wildcard.example.com/htdocs
</VirtualHost>

DNSのほうは、

www 111.111.11.111
@ (None) 111.111.11.111
* (All Others) 111.111.11.111
develope 111.111.11.111


また、httpd.conf のほうは、

NameVirtualHost *:80

をちゃんと書いています。

A 回答 (1件)

HOST ヘッダに対応するバーチャルホストの設定がないときは、最初の


バーチャルホストが使われます。wildcard.example.com 用の設定を
他のバーチャルホストの設定より前(つまり先頭)にもって行きましょう。

また、ServerName は、wildcard.example.com など、他のバーチャルホスト
で使用していない名前を設定したほうがよいのではないでしょうか
(省略可能かどうかは知りません)。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!