Назад | Перейти на главную страницу

Регулярное выражение местоположения nginx не работает

Я пытаюсь настроить директиву местоположения в соответствии с моим запросом, но не могу заставить ее работать.

Ниже мой образец запроса:

/ APP / public / api / v1 / item / 100 / type

location ~* ^/APP/public/api/v1/item/(.*)/type {                
    try_files /APP/data/type/$1.json @apache;   
}

Если я установлю, как показано ниже, он работает:

location = ^/APP/public/api/v1/item/100/type {              
   try_files /APP/data/type/100.json @apache;   
}

Я что-нибудь упускаю? Спасибо.

Попробуйте просто настроить контекст для обработки запроса, а затем использовать правило перезаписи внутри этого контекста, например:

location ~ ^/APP/public/api/v1/item/ {
  rewrite ^/APP/public/api/v1/item/([0-9]+)/type /APP/data/type/$1.json break;
  try_files $uri @apache;
}