Как мне получить первую букву переменной в nginx
example
server_name ~^(?<subdomain>\w+)\.development\.test$;
location / {
root /var/www/test/$subdomain.0/$subdomain;
try_files $uri $uri/ =404;
}
Итак, это сработает {{1} } http: //apple.development.test/
переход по этому пути
/ var / www / test / a / apple
Я видел методы с картой, но не знаю, как это сделать правильно
Следующий подход также может работать:
server_name ~^(?<subdomain>(?<firstletter>\w)\w+)\.development\.test$;
location / {
root /var/www/test/$firstletter/$subdomain;
try_files $uri $uri/ =404;
}
Вы можете создать новую переменную с первой буквой, используя модуль карты: http://nginx.org/en/docs/http/ngx_http_map_module.html#map
Пример:
map $subdomain $firstletter {
default "";
"~^(?letter.{1}).*$" $letter;
}