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

nginx - выборочная перезапись внутри блока местоположения

Предполагая, что блок местоположения должен обрабатывать URL-адреса, такие как

Как я могу выборочно переписать «/ test_api / group_1 / version» при передаче «/ test_api / group_2 / revision» на сервер по умолчанию в блоке местоположения? Если это невозможно, есть ли другие способы достичь той же цели. Ниже мой текущий недискриминационный блок местоположения.

location /test_api {
    types    { application/json json; }
    root     /usr/local/www/data;
    rewrite  "/test_api/([^/]+)/version(.*)/?$"   /api_response/test_api_$1.json   break;
}

когда вы делаете две локации вроде

location /test_api/group_1/version {
  ...
}

location /test_api {
  ...
}

САМЫЙ ДЛИННЫЙ всегда будет соответствовать, поэтому ваша группа_2 не будет соответствовать 1-му правилу