如何创建像* .example.com这样的动态虚拟主机?

问题描述:

其中*对于每个客户端(例如apple.example.com,pearl.example.com)而言都不相同。 这些全部应该路由到相同的IP和相同的目录。 如何修改hosts文件和httpd配置?如何创建像* .example.com这样的动态虚拟主机?

更详细的例子:

<VirtualHost 111.22.33.44> 
    ServerName     customer-1.example.com 
    DocumentRoot  "/www/hosts/example.com/docs" 
    ScriptAlias "/cgi-bin/" "/www/hosts/example.com/cgi-bin" 
</VirtualHost> 

<VirtualHost 111.22.33.44> 
    ServerName     customer-2.example.com 
    DocumentRoot  "/www/hosts/example.com/docs" 
    ScriptAlias "/cgi-bin/" "/www/hosts/example.com/cgi-bin" 
</VirtualHost> 

<VirtualHost 111.22.33.44> 
    ServerName     customer-N.example.com 
    DocumentRoot  "/www/hosts/example.com/docs" 
    ScriptAlias "/cgi-bin/" "/www/hosts/example.com/cgi-bin" 
</VirtualHost> 

谢谢!

可以在ServerAlias像这样利用明星:

<VirtualHost 111.22.33.44> 
    ServerName  customer-1.example.com 
    ServerAlias  *.example.com 
    DocumentRoot "/www/hosts/example.com/docs" 
    ScriptAlias  "/cgi-bin/" "/www/hosts/example.com/cgi-bin" 
</VirtualHost> 
+0

所以我必须添加所有别名主机文件或者我也可以使用* .example.com的有(不似乎以这种方式工作。)? –

+0

据我所知,你需要为一个目录提供所有子域名,所以你可以使用** ServerAlias **。是吗? –

+0

通过安装这个:亚克力DNS代理通配符开始在主机文件中工作,你给的服务器配置是好的,并工作。 :) –