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