Apache中的dynamic虚拟主机

我的httpd-vhosts.conf文件如下所示:

<VirtualHost *:80> DocumentRoot "/www/foo/htdocs" ServerName foo </VirtualHost> <VirtualHost *:80> DocumentRoot "/www/bar/htdocs" ServerName bar </VirtualHost> <VirtualHost *:80> DocumentRoot "/www/baz/htdocs" ServerName baz </VirtualHost> 

注意模式? 有没有办法减less重复,或者我坚持有一个单独的VirtualHost条目为每个网站?

我build议你看看dynamic虚拟主机的Apache网站。 其他方法需要重新启动Apache服务器。

http://httpd.apache.org/docs/2.0/vhosts/mass.html

在阅读黑暗忍者的答案后,我想到了如何去做。 这里是我的httpd-vhosts.conf文件现在的样子。

 # Dynamic virtual hosts. # See http://httpd.apache.org/docs/2.0/mod/mod_vhost_alias.html UseCanonicalName Off VirtualDocumentRoot /www/%0/htdocs/ 

我也必须通过取消注释httpd.conf中的这一行来启用mod_vhost_alias

 LoadModule vhost_alias_module modules/mod_vhost_alias.so 

有两个非常不同的答案。

  1. 使用“子域名作为帐户文件夹”的伎俩。
  2. 编写一个简短的脚本和configuration文件,dynamic地生成你的httpd-vhosts.conf文件。 然后,脚本和configuration成为你的主人,而.conf文件是“消耗”。

我推荐#2,而且我认为语用程序员也可以。