nginx 正在重写API URL

hwazgwia  于 2023-01-20  发布在  Nginx
关注(0)|答案(1)|浏览(183)

如何配置NGINX来重定向我的API URL?
我希望将/API/v1/projects/24重定向到/api/v1/projects/index.php?id=24
我以为这个位置块会起作用,但我只得到404

location = /api/v1/projects {
                rewrite          ^/(/.*)$ /?id=$1 redirect;
}
p3rjfoxz

p3rjfoxz1#

location = /api/v1/projects将不匹配/api/v1/projects/24,它只匹配/api/v1/projects。请参阅location指令文档。
如果您想从外部/api/v1/projects/24重定向到/api/v1/projects/index.php?id=24(如您的问题所示),您可以只在server块中使用rewrite语句。

rewrite ^(/api/v1/projects)/(\d+)$ $1/index.php?id=$2 redirect;

如果你真的打算内部将请求的URL重定向到PHP处理程序,用途:

rewrite ^(/api/v1/projects)/(\d+)$ $1/index.php?id=$2 last;

请参见rewrite指令文档。

相关问题