You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置NGINX实现指定API URL到带参数PHP页面的重定向?

Nginx重定向配置修正方案

你的配置存在三个核心问题,导致404错误:

  • 精确匹配不生效:location = /api/v1/projects是精确匹配规则,只会命中路径完全等于/api/v1/projects的请求,无法匹配/api/v1/projects/24这类带ID的子路径。
  • 正则表达式错误:^/(/.*)$会匹配以双斜杠开头的路径,和实际请求的/api/v1/projects/24结构不匹配,无法正确提取ID参数。
  • 目标路径错误:原配置重定向到根目录的/?id=$1,而非你需要的/api/v1/projects/index.php?id=24。

正确配置示例

匹配数字ID的场景(如/api/v1/projects/24)

location ~ ^/api/v1/projects/(\d+)$ {
    # 内部转发到index.php,使用last指令;如需外部重定向,替换为redirect(302)或permanent(301)
    rewrite ^/api/v1/projects/(\d+)$ /api/v1/projects/index.php?id=$1 last;
}

匹配任意字符ID的通用场景

location ~ ^/api/v1/projects/(.+)$ {
    rewrite ^/api/v1/projects/(.+)$ /api/v1/projects/index.php?id=$1 last;
}

额外处理不带ID的/api/v1/projects请求

如果需要同时处理访问/api/v1/projects的请求,可添加以下配置:

location = /api/v1/projects {
    rewrite ^ /api/v1/projects/index.php last;
}

注意事项

  • 确保Nginx的root指令已正确设置,保证/api/v1/projects/index.php文件存在且权限正常。
  • 若为PHP项目,需确认fastcgi相关配置正确,能够解析处理PHP文件请求。

内容的提问来源于stack exchange,提问作者Tony Goodchild

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 12:05:29