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

I ' m пытается настроить директиву местоположения в соответствии с моим запросом, но не может заставить ее работать.

Ниже приведен пример моего запроса:

/ 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;   
}

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

0
задан 2 September 2016 в 20:05
1 ответ

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

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;
} 
0
ответ дан 24 November 2019 в 05:51

Теги

Похожие вопросы