Всем привет. Нужно настроить 301 редирект для nginx.
Есть адрес, где name - любое значение: /test/*name*/test2/
Нужно обрезать: test2/
В итоге получается: /test/*name*/
Только в $request_uri запрос целиком с GET параметрами.
Такой шаблон совпадёт для /test/name?lol/test2/
И не совпадёт для /test/name/test2/?lol
Тогда нужно так:
С location такой проблемы нет там всегда только путь к файлу без GET параметров.
По поводу location ~ ^/(test/[^/]+)/test2/$
Там важно учитывать очерёдность в которой проверяются location nginx.org/ru/docs/http/ngx_http_core_module.html#l...
Этот location c регулярным выражением нужно переместить выше остальных.