Apacheで仮想ホストを作成してcnameリクエストに応答できますか?例えば:
Example.comの記録は1.2.3.4です
foo.example.comはexample.comのCNAMEです
http.conf内:
<VirtualHost *:80>
ServerName example.com
DocumentRoot /var/www
</VirtualHost>
<VirtualHost foo.example.com>
ServerName foo.example.com
DocumentRoot /foo/www
</VirtualHost>
Apacheは正常に起動し、confをダイジェストしますが、foo.example.comにアクセスすると、/ foo/wwwではなく/ var/wwwにコンテンツが表示されます。私はここで間違った方向に進んでいると思います。
次のスニペットは(警告なしで)機能するはずです:
NameVirtualHost *:80
<VirtualHost *:80>
ServerName example.com
DocumentRoot /var/www
</VirtualHost>
<VirtualHost *:80>
ServerName foo.example.com
DocumentRoot /foo/wwww
</VirtualHost>
名前ベースの仮想ホストサポート のドキュメントを読んで、そもそもなぜ機能しなかったのかを理解してください。
私はそれを次のように機能させました:
NameVirtualHost _default_:80
<VirtualHost _default_:80>
ServerName example.com
DocumentRoot /var/www
</VirtualHost>
<VirtualHost _default_:80>
ServerName foo.example.com
DocumentRoot /foo/wwww
</VirtualHost>
これはhttpstartで警告を出しますが:
[warn] NameVirtualHost _default_:80 has no VirtualHosts
Foo.example.com仮想ホストにポート番号を追加しようとしましたか?
すなわち:
<VirtualHost foo.example.com:80>
ServerName foo.example.com
DocumentRoot /foo/www
</VirtualHost>