如何配置Apache2以使用虚拟文档根目录使用单个但每主机不同的文档目录?

如何配置Apache2以使用虚拟文档根目录使用单个但每主机不同的文档目录?,apache,hosting,virtualhost,vhosts,Apache,Hosting,Virtualhost,Vhosts,我的主机结构如下所示: /var/www/host1/htdocs/ /var/www/host2/httpdocs/ /var/www/host3/public/ /var/www/host4/www/ 等等 我想通过动态设置文档目录名(整个路径的最后一个目录名)来扩展/增强以下配置: 服务器别名*.local VirtualDocumentRoot“/var/www/%-2+/” VirtualScript别名“/var/www/%-2+/” 此配置与以下URL匹配: test.loca

我的主机结构如下所示:

/var/www/host1/htdocs/
/var/www/host2/httpdocs/
/var/www/host3/public/
/var/www/host4/www/

等等

我想通过动态设置文档目录名(整个路径的最后一个目录名)来扩展/增强以下配置:


服务器别名*.local
VirtualDocumentRoot“/var/www/%-2+/”
VirtualScript别名“/var/www/%-2+/”
此配置与以下URL匹配:

test.local->/var/www/test/
other.test.local->/var/www/other.test/
projectname.local->/var/www/projectname/

每个项目都有不同的公用文件夹名称。如上所述,一些项目使用
htdocs
httpdocs
,其他项目使用
public
www
等,你明白了

我希望Apache 2自动确定现有的公用文件夹,并从确定的目录中提供资源:

test.local->/var/www/test/public/
other.test.local->/var/www/other.test/htdocs/
projectname.local->/var/www/projectname/www/

这可能吗?据我所知,Apache2没有检查目录是否存在的指令

是否有办法实现我的想法,或者是否有任何模块/模块或工具来管理这一点


非常感谢您的宝贵意见!:)

这听起来像是在寻找“大规模vhost解决方案”。我认为,这方面有专门的模块。在apache中没有直接的方法来创建这样的动态配置,因为主机配置需要在启动时进行评估!我已经深入研究了这个主题一段时间了,一般来说,批量托管主题不是问题,但更具体地说,每个vhost都有一个不同的文档文件夹名称,而不在域中附加这个文件夹名称。
<VirtualHost *:80>
    ServerAlias *.local
    VirtualDocumentRoot "/var/www/%-2+/"
    VirtualScriptAlias "/var/www/%-2+/"
</VirtualHost>