ThinkPHP 8.1 多应用需通过 Nginx 伪静态规则精准透传路径前缀,使 /api/xxx 和 /admin/xxx 分别路由至 app/api 和 app/admin;关键是一条规则提取前缀(如 rewrite ^/([a-z0-9A-Z_-]+)/(.*)$ /public/index.php?s=$1/$2 last;),另一条兜底无前缀请求,并确保框架开启 url_route_on、正确配置 default_app 与 domain_bind。

ThinkPHP 8.1 多应用下,api 和 admin 要走不同入口(比如 /api/xxx 进 API 应用、/admin/xxx 进后台应用),伪静态不能“一套规则打天下”——必须让 Nginx 准确识别前缀、分别透传,并确保框架能按路径分发到对应应用。关键不是写两套重写规则,而是让一条规则精准捕获前缀、再由框架路由层完成应用绑定。
入口区分靠路径前缀,不是物理目录
TP8.1 多应用默认不依赖子目录隔离,而是靠 URL 第一段识别应用名:
– /api/user/list → 框架自动分发到 app/api 目录
– /admin/login → 自动分发到 app/admin 目录
– /index/hello → 走 default_app 配置的应用(如 home)
所以伪静态只需保证:所有带前缀的请求都完整交到 /public/index.php,且路径信息(s= 或 PATH_INFO)不被截断或覆盖。
Nginx 必须显式提取并透传应用前缀
宝塔或手动配置伪静态时,**不能用单行兜底规则**(如 rewrite ^(.*)$ /index.php?s=$1 last;),否则 /admin/login 会被当成 s=/admin/login,首段斜杠导致框架无法识别应用名。
正确写法(粘贴到站点「伪静态」栏或 server 块内):
-
匹配带应用前缀的请求:
rewrite ^/([a-z0-9A-Z_\-]+)/(.*)$ /public/index.php?s=$1/$2 last; -
兜底无前缀请求(首页、静态资源等):
rewrite ^/(.*)$ /public/index.php?s=$1 last;
说明:
– 第一行把 /api/v1/user 拆成 api + v1/user,拼成 s=api/v1/user,框架就能定位到 app/api
– 第二行确保 /robots.txt、/、/login 等也能进入口,由 default_app 或域名绑定逻辑处理
– 两行都用 last,保证查询参数(如 ?token=abc)完整保留
修复 Core bailout 状态损坏安全问题,以及 BZ2、DOM、PDO、Opcache/JIT 内存与执行错误,改进 Unicode 字素处理、URL 解析、TLS 流状态、信号分发及会话错误处理。
框架层必须启用多应用识别机制
仅配 Nginx 不够,TP8.1 还要确认以下配置生效:
-
config/app.php中'default_app' => 'home'已设(定义无前缀时的 fallback 应用) -
'domain_bind'若用了子域名(如admin.example.com),需严格匹配,否则会跳过路径识别直接走默认应用 -
'url_route_on' => true开启,且'pathinfo_depr' => '/'(与 Nginx 规则一致) - 确保
app/api和app/admin目录真实存在,且各自有完整的controller、route.php结构
特别注意:
– 不要删掉项目根目录下的 app/controller(这是默认应用的控制器目录),否则框架可能跳过多应用识别
– 修改后执行 php think route:clear 清除路由缓存,否则新规则不生效
验证是否真正区分成功
别只测首页,按顺序验证三类地址:
-
https://yoursite.com/api/v1/user→ 应加载app/api/controller/v1/User.php,而非app/home -
https://yoursite.com/admin/login→ 应进入app/admin的登录逻辑,且生成的链接带/admin/前缀 -
https://yoursite.com/user/profile→ 无前缀,应走default_app(如home),而不是报 404 或进错应用
如果某条失败,优先查 Nginx 错误日志(搜索 Primary script unknown 或 FastCGI sent in stderr),再看 TP 日志中实际收到的 $_GET['s'] 值是否符合预期。
大量免费API接口:立即使用
涵盖生活服务API、金融科技API、企业工商API、等相关的API接口服务。免费API接口可安全、合规地连接上下游,为数据API应用能力赋能!










