Назад | Перейти на главную страницу

Включить текстовый файл в директиву 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 он игнорирует это правило, потому что оно уже было объявлено, я думаю.

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

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

Да, есть. Один из них удачно назван Include директива, другой IncludeOptional директива.