Хочу отдавать avif-версии картинок средствами веб-сервера. Располагаться они будут в подпапке в корне, и с сохранением оригинального пути. Настройку подпапки хочу сделать через переменную, чтобы впоследствии не потеряться при усложнении скрипта.
Проблема в том, что в RewriteCond не обрабатывается эта переменная, просто отдаётся пустота. Можно ли это сделать?
Правила .htaccess
RewriteEngine On
# префикс пути для avif-версий: /1.jpg -> /avif/1.jpg.avif
RewriteRule .* - [ENV=AVIF_CUSTOM_PATH:/avif]
# дебаг - заголовок отдастся, путь будет показан
Header set x-avif-custom-path %{AVIF_CUSTOM_PATH}e
# проверяю наличие и отдаю, если есть
# на этих шагах проблема, %{AVIF_CUSTOM_PATH} обрабатывается пустой, а если прописать "e" в конец,
# как сделано выше в Header set, то только она и добавится -> e/1.jpg
RewriteCond %{DOCUMENT_ROOT}%{AVIF_CUSTOM_PATH}%{REQUEST_URI}.avif -f
RewriteRule ^\/?(.*)\.(jpe?g|png)$ %{AVIF_CUSTOM_PATH}/$1.$2.avif [NC,T=image/avif,L]
Лог апача
strip per-dir prefix: D:/OpenServer_540/domains/amo.test/1.jpg -> 1.jpg, referer: http://amo.test/1.jpg
applying pattern '.*' to uri '1.jpg', referer: http://amo.test/1.jpg
setting env variable 'AVIF_CUSTOM_PATH' to '/avif', referer: http://amo.test/1.jpg
strip per-dir prefix: D:/OpenServer_540/domains/amo.test/1.jpg -> 1.jpg, referer: http://amo.test/1.jpg
applying pattern '^\\/?(.*)\\.(jpe?g|png)$' to uri '1.jpg', referer: http://amo.test/1.jpg
RewriteCond: input='D:/OpenServer_540/domains/amo.test/1.jpg.avif' pattern='-f' => not-matched, referer: http://amo.test/1.jpg
pass through D:/OpenServer_540/domains/amo.test/1.jpg, referer: http://amo.test/1.jpg