如何配置NGINX来重定向我的API URL?我希望将/API/v1/projects/24重定向到/api/v1/projects/index.php?id=24我以为这个位置块会起作用,但我只得到404
location = /api/v1/projects { rewrite ^/(/.*)$ /?id=$1 redirect; }
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语句。
location = /api/v1/projects
/api/v1/projects/24
/api/v1/projects
location
/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指令文档。
1条答案
按热度按时间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
语句。如果你真的打算内部将请求的URL重定向到PHP处理程序,用途:
请参见
rewrite
指令文档。