我可以在apache上创build一个虚拟主机来响应一个cname请求吗? 例如:
example.com的logging是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我得到/ var / www中的内容,而不是/ foo / www中的内容。 我想我在这里错了。
下面的代码片段应该可以工作(没有任何警告):
NameVirtualHost *:80 <VirtualHost *:80> ServerName example.com DocumentRoot /var/www </VirtualHost> <VirtualHost *:80> ServerName foo.example.com DocumentRoot /foo/wwww </VirtualHost>
请确保您阅读了基于名称的虚拟主机支持文档,以了解为什么它不起作用。
您是否尝试在foo.example.com虚拟主机上添加端口号?
即:
<VirtualHost foo.example.com:80> ServerName foo.example.com DocumentRoot /foo/www </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>
虽然这给了一个警告在http开始:
[warn] NameVirtualHost _default_:80 has no VirtualHosts