How can I configure NGINX to redirect my API URL?
I want to have /api/v1/projects/24 be redirected to /api/v1/projects/index.php?id=24
I thought this location block would work but I just get 404
location = /api/v1/projects {
rewrite ^/(/.*)$ /?id=$1 redirect;
}
CodePudding user response:
location = /api/v1/projects will not match /api/v1/projects/24, it only matches /api/v1/projects. See the location directive documentation.
If you want to externally redirect /api/v1/projects/24 to /api/v1/projects/index.php?id=24 (as your question suggests) you could just use a rewrite statement in the server block.
rewrite ^(/api/v1/projects)/(\d )$ $1/index.php?id=$2 redirect;
If you really mean to internally redirect the requested URL to a PHP handler, use:
rewrite ^(/api/v1/projects)/(\d )$ $1/index.php?id=$2 last;
See the rewrite directive documentation.
