在 Apache conf 指令中包含文本文件

在 Apache conf 指令中包含文本文件

我需要将 Alias 添加到服务器主 Web 指令中,但我不想通过主配置文件执行此操作。我想知道是否有办法将另一个文件中的文本包含到指令中,例如

<VirtualHost *:80>
    DocumentRoot /var/www
    ServerName *.website.co
    Alias "/old_directory" "/var/www/old_content/old_directory/"
</VirtualHost>

因此,如果 URL 与 old_directory 匹配,则会为用户提供别名。上面的方法运行良好,但是我想使其动态化,而不是将主规则移至单独的 conf 文件。因此,如下所示:

<VirtualHost *:80>
    DocumentRoot /var/www
    ServerName *.website.co
    * include a file /var/www/alias/alias.txt
</VirtualHost>

在 alias.txt 文件中,我会有一个别名列表

Alias "/old_directory" "/var/www/old_content/old_directory/"
Alias "/old_directory1" "/var/www/old_content/old_directory/1"
Alias "/old_directory2" "/var/www/old_content/old_directory/2"
Alias "/old_directory3" "/var/www/old_content/old_directory/3"
etc.

在这种情况下,我不想将主虚拟主机指令移出主配置文件,并且当尝试使用“包含”选项在另一个文件中复制规则时,它会忽略该规则,因为我猜它已经被声明了。

有没有办法包括这样的方法或者有更好的方法来处理这个问题?

答案1

有什么办法可以包含这样的内容吗?

是的。其中一个是恰当地称为Include指令,另一个是IncludeOptional指示。

相关内容