Apache-2.2

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

  • May 7, 2019

我需要將別名添加到伺服器的主 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.

在這種情況下,我不想將主虛擬主機指令移出主 conf 文件,並且當嘗試使用 Include 選項將規則復製到另一個文件中時,它會忽略那個,因為我猜它已經被聲明了。

無論如何要包括這樣的內容還是有更好的方法來處理這個問題?

反正有這樣的內容嗎?

就在這裡。一個是恰當地稱為Include指令,另一個是IncludeOptional指令。

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