У меня есть сервер, на котором я хочу запустить несколько подстановочных vhosts со своей собственной средой modperl.Wildcard vhost with modperl
Каждому vhost необходимо запустить собственный скрипт запуска, чтобы определить настраиваемые пути включения.
В нормальной конфигурации ВХоста, я могу сделать следующее ...
<VirtualHost *:80>
ServerName web1.myserver.com
Define ApplicationRoot /websites/web1
DocumentRoot ${ApplicationRoot}
PerlSetEnv PERL_DOC_ROOT ${ApplicationRoot}
PerlOptions +Parent
PerlPostConfigRequire /websites/lib/startup.pl
...
Моего startup.pl сценарий может затем использовать переменные окружения PERL_DOC_ROOT динамически конфигурировать пользовательские Lib путей.
Это прекрасно работает с несколькими разделами vhosts. Каждый из них имеет свой собственный @INC, и все исправляется правильно.
Есть ли способ, которым я могу перевести это в конфигурацию vhost подстановочных знаков. Я хочу, чтобы пользователи имели доступ к * .myserver.com, и он будет использовать имя хоста, чтобы выяснить, какой документ использовать, и запустит startup.pl для определения путей lib на основе этой папки.
Я знаю, что могу использовать что-то вроде этого ...
VirtualDocumentRoot /websites/%1/
динамически установить корень документа, но если я пытаюсь использовать% 1 в любых других заявлений он не понят. Кроме того, startup.pl должен запускаться при первом запросе сайта, а не при первом загрузке файла конфигурации.
Возможно ли это вообще? Или мне нужно каким-то образом динамически переписать файлы конфигурации каждый раз, когда будет добавлен новый виртуальный каталог.