【问题标题】:Include external file in apache conf在 apache conf 中包含外部文件
【发布时间】:2025-11-29 04:25:01
【问题描述】:

我在我的网络服务器上运行 apache 2.4,我一直在努力寻找简化的方法。是否可以为每个 Joomla 网站包含一个 conf 文件,并为我托管的每个 Wordpress 网站包含另一个?我将 Joomla .htaccess 配置 (https://docs.joomla.org/Special:MyLanguage/Preconfigured_htaccess) 放在 domainname.com.conf 文件中,并出于性能原因指定 Allowaccess none。

如果需要为不同版本的 Joomla、Wordpress 或其他需要 Apache 配置的应用程序提供一个文件,而不是在应用程序要求发生变化时需要编辑数十个 conf 文件,那就太好了。

我从 Apache 中找到了 include 指令,但不确定它是否适用于单个虚拟主机。 http://httpd.apache.org/docs/2.4/mod/core.html#include

【问题讨论】:

    标签: apache


    【解决方案1】:

    Include 确实适用于单个虚拟主机。 您链接的文档 (https://httpd.apache.org/docs/2.4/mod/core.html#include) 在该部分的标题块中说明了这一点:

    Context: server config, virtual host, directory
    

    这意味着“Include”指令可以在配置的虚拟主机部分中使用。 有关上下文的定义,请参见此处:https://httpd.apache.org/docs/2.4/mod/directive-dict.html#Context

    所以你可以这样做:

    <VirtualHost *:80>
      ServerName joomla1.example.com
      Include "conf/joomla.conf"
    </VirtualHost>
    
    <VirtualHost *:80>
      ServerName joomla2.example.com
      Include "conf/joomla.conf"
    </VirtualHost>
    
    <VirtualHost *:80>
      ServerName wordpress1.example.com
      Include "conf/wp.conf"
    </VirtualHost>
    
    <VirtualHost *:80>     
      ServerName wordpress2.example.com
      Include "conf/wp.conf"
    </VirtualHost>
    

    joomla.conf 和 wp.conf 将包含 Joomla 或 Wordpress 通用的指令。

    【讨论】:

    • 我可以覆盖包含文件的配置吗?
    最近更新 更多