如何在<VirtualHost>之外添加特定主机名的configuration选项?

我使用的是Apache 2.2,并使用<VirtualHost>语句为域foo.example.com和bar.example.com提供服务:

 <VirtualHost 127.0.0.1:80> ServerName foo.example.com </VirtualHost> <VirtualHost 127.0.0.1:80> ServerName bar.example.com </VirtualHost> 

我的问题是,我需要在一个单独的文件(比如/etc/apache/sites-enabled/foo.conf )中添加只针对foo.example.comconfiguration选项。 这个文件将被包含 VirtualHost语句发布之前,但是它不能被embedded其中。

我可以(如果是的话,如何)将configuration设置的目标仅限于VirtualHost容器外部的foo.example.com请求?

所以VirtualHosts指令和.htaccess文件是不可能的。 所以唯一剩下的就是为每个子域运行一个不同的Apache实例,它将拥有一个完全独立的configuration文件,这个文件可能与你的pipe理软件一起工作。

如果这些都不适合你,那么你已经远离标准的做法,你可能需要编写你自己的Apache分支来处理你的具体要求;-)

不,你不能。 这正是VirtualHost块的用处。 如果您可以更详细地描述您正在尝试解决的问题,我们可能会提出一些替代scheme。

取决于你想要达到什么.htaccess文件可能是你所需要的。