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