Для перенаправления example.com/api/foo?bar
на api.example.com/api/foo?bar
необходимо использовать:
location ^~ /api {
return 307 https://api.exemple.com$request_uri;
}
Переменная $request_uri
содержит исходный запрос, включая префикс /api/
и строку запроса.
Оператор ^~
дает этот приоритет location
(подробности см. в этом документе ).Код состояния 307 поддерживает GET / POST через перенаправление (подробнее см. эту ссылку ).