Apache-2.2

如何為 <VirtualHost> 之外的特定主機名添加配置選項?

  • January 17, 2011

我正在使用 Apache 2.2 並讓它為域 foo.example.com 和 bar.example.com 提供以下&lt;VirtualHost&gt;語句:

&lt;VirtualHost 127.0.0.1:80&gt;
 ServerName foo.example.com
&lt;/VirtualHost&gt;
&lt;VirtualHost 127.0.0.1:80&gt;
 ServerName bar.example.com
&lt;/VirtualHost&gt;

我的問題是,我需要foo.example.com在單獨的文件中添加僅針對 的配置選項(比如說,/etc/apache/sites-enabled/foo.conf)。在發出 VirtualHost 語句之前,將包含此文件,但不能將其嵌入其中

我可以(如果是的話,如何)將配置設置定位到foo.example.com僅在 VirtualHost 容器之外的請求?

所以 VirtualHosts 指令和 .htaccess 文件是不可能的。所以剩下的唯一事情就是為每個子域執行不同的 Apache 實例,這將有一個完全獨立的配置文件,它可能與您的管理軟體一起使用。

如果這些都不適合您,那麼您已經偏離了標準的做事方式,您可能需要編寫自己的 Apache 分支來處理您的特定要求;-)

不,你不能。這正是 VirtualHost 塊的用途。如果您可以更全面地描述您要解決的問題,我們或許可以提出一些替代方案。

引用自:https://serverfault.com/questions/222486