Включить текстовый файл в директиве Apache conf

Мне нужно добавить псевдоним в главную веб-директиву сервера, и я не хочу делать это через основной файл конфигурации . Мне интересно, есть ли способ включить текст из другого файла в директиву, например

<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.

В этом случае я не хочу перемещать основную директиву virtualhost из основного файла conf и при попытке дублировать правило в другом файле с использованием опции Include, оно игнорирует это правило, потому что оно уже было объявлено, я думаю.

Есть ли способ включить подобное или есть лучший способ справиться с этим?

2
задан 7 May 2019 в 16:26
1 ответ

Есть ли способ включить подобное?

Да, есть. Одна - это метко названная директива Include , другая - директива IncludeOptional .

7
ответ дан 3 December 2019 в 09:03

Теги

Похожие вопросы