У меня есть URL-адрес, относящийся к каталогу API, я пытаюсь использовать регулярное выражение для направления его в правильный файл
Например, запрос к API будет выглядеть следующим образом:
www.domain.com/api/v1/objects/22&id=123&key=key123
Что будет сопоставляться с:
www.domain.com/api/v1/index.php?controller=objects&q=22&id=123&key=key123
или
www.domain.com/api/v2/objects/22/edit&id=123&key=key123
Что будетсопоставить с:
www.domain.com/api/v2/index.php?controller=objects&q=22/edit&id=123&key=key123
Итак, с нарушением правила :
www.domain.com/api/{version}/{controller}{query}&id=var&key=var2
сопоставляется с www.domain.com/api/{version}/index.php&controller={controller}&id=var&key=var2
Что я пробовал:
location /api/ {
try_files @api;
}
location @api {
rewrite ^(/[^/]+)/(/[^/]+)/(.*)$ /api/$1/index.php?controller=$2&q=$3 last;
}