Публикация базы на веб сервере и DirectoryMatch

1. user1414867 27.05.20 21:24 Сейчас в теме
Господа, доброго времени суток!
Кто то, когда то пробовал использовать апачевскую директиву DirectoryMatch для публикации баз?
Идея в том, чтобы заменить кучу директив Alias/Directory, создаваемых всегда по умолчанию при публикации базы на сервере ( когда баз например как у меня несколько сотен опубликовано) на всего 1 лаконичную пару AliasMatch/DirectoryMatch.

Вот как я это пытаюсь сделать (в директории /var/www/html соответственно пара сотен папок вида 1234_567 содержащих единственный файл default.vrd):

AliasMatch "^/([0-9]{4}_[0-9]{3})$" "/var/www/html/$1/"

<DirectoryMatch "/var/www/html/(?<subdir>[0-9]{4}_[0-9]{3})">
AllowOverride All
Options None
Require all granted
SetHandler 1c-application
ManagedApplicationDescriptor "/var/www/html/%{env:MATCH_SUBDIR}/default.vrd"
</DirectoryMatch>

AliasMatch работает, перенаправление происходит по переменной в правильную директорию, а вот подстановка переменной в путь директивы ManagedApplicationDescriptor - нет, судя по всему (ошибка в аттаче к посту).

На оф сайте апача ( вот тут https://httpd.apache.org/docs/2.4/mod/core.html#directorymatch) утверждается что это работает, правда не утверждается что прям везде работает, отсюда и вопрос :)))
Соответственно, вопрос, это не сработает? Или сработает, но я что то не так делаю?

P.s. Может есть другой более логичный способ укоротить километровую однотипную конфигурацию ? :))
Прикрепленные файлы:
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. dmitry.jeefo 05.08.20 17:39 Сейчас в теме
Юзай mod_macro

у нас так:

Define VRDL "/mnt/lustre/www-75/a"
AliasMatch "^/a/(.+)$" "${VRDL}/$1"

<Macro PublishBase $base>
<Directory "${VRDL}/$base">
AllowOverride All
Options None
Require all granted
SetHandler 1c-application
ManagedApplicationDescriptor "${VRDL}/$base/default.vrd"
</Directory>
</Macro>

Use PublishBase bs_pf14
Use PublishBase bs_pf15
...
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот