VirtualDocumentRoot安装程序本地开发

我想了解如何设置httpd.conf和httpd-vhosts.conf文件。 我想有一个本地设置,在Windows 7上使用Wampserver,这样我就可以添加一个新的项目,只需要添加一个新的目录和一个快速编辑的hosts文件。 我希望它至less可以用于以下通用域格式:domain.com,www.domain.com,sub.domain.com和www.sub.domain.com。

以下是我到目前为止。 它似乎工作,但我只是想可能有一个更好的,可能更简洁的方式:

NameVirtualHost *:80 <Directory "C:/wamp/www/%0/public_HTML"> Options Indexes FollowSymLinks Includes AllowOverride All Order allow,deny Allow from all </Directory> <VirtualHost *:80> VirtualDocumentRoot "C:/wamp/www/%0/public_HTML" </VirtualHost> <VirtualHost *:80> ServerAlias www.*.*.com VirtualDocumentRoot "C:/wamp/www/%3+/public_HTML/%2" </VirtualHost> <VirtualHost *:80> ServerAlias www.*.com VirtualDocumentRoot "C:/wamp/www/%2+/public_HTML" </VirtualHost> <VirtualHost *:80> ServerAlias *.*.com VirtualDocumentRoot "C:/wamp/www/%2+/public_HTML/%1" </VirtualHost> 

我的文件夹结构如下:C:/ wamp / www /(project)/ public_HTML /(作为sub.domain.com的子部分命名的文件夹)

这是有效的,但是如果我以任何方式更改VirtualHosts的顺序,至less会导致上面列出的一种域格式的404错误。 我想知道是否有人可以向我解释为什么? 而且,如果有人有更好的方法build议,我很乐意听到。

谢谢!

我遇到了类似的问题,模式略有不同,为我的虚拟主机使用了“.dev”后缀,并将完整域作为文件夹名称。

我得到了与VirtualDocumentRoot /www/sites/%-2+/public_html

 <VirtualHost *:80> ServerName dev ServerAlias *.dev UseCanonicalName Off VirtualDocumentRoot /www/sites/%-2+/public_html </VirtualHost> 

例如,以上解决了对www / sites / test.com / public_html的test.com.dev的请求

我想你只需要最后一个/www/%2+/public_html/%1来parsingsub.test.comwww/test.com/public_html/dev但检查文档以find确切的模式: http:// httpd.apache.org/docs/2.0/mod/mod_vhost_alias.html#interpol

我也发现这篇文章很有帮助: http : //blog.theclickpro.com/2010/12/dynamic-apache-configuration-for-php.html

您也可以使用DNSmasq自动创build主机条目。