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

Google App Engine PHP72升级后URL分组失效问题求助

PHP72环境下app.yaml URL路由失效问题解决

问题描述

在PHP55环境中,使用对应app.yaml配置可将/api/manage、/api/edit、/api/user/add等所有以/api开头的路径转发至/api/api.php,但升级到PHP72后,新配置无法实现该功能。

PHP55有效配置

service: default
runtime: php55

handlers:
  - url: /api((/$)|(/[^/]+(/$)?)*)
    script: /api/api.php
    secure: always

PHP72失效配置

service: default
runtime: php72

handlers:
  - url: /api/(.*?)/(.*)
    script: /api/api.php
    secure: always

问题原因

PHP72配置中的正则表达式/api/(.*?)/(.*)存在逻辑缺陷:它要求/api后必须包含至少两个层级的路径(比如/api/a/b),但像/api/manage(仅一个层级)、/api/或/api这类路径都无法匹配,导致路由失效。

解决方案

调整URL匹配的正则表达式,使其覆盖所有以/api开头的路径,和PHP55配置的匹配逻辑保持一致。推荐使用以下配置:

service: default
runtime: php72

handlers:
  - url: /api(/.*)?
    script: /api/api.php
    secure: always

配置说明

  • /api(/.*)?的正则逻辑:
    • 匹配/api本身
    • 匹配/api/
    • 匹配/api后跟随任意路径的情况(如/api/manage、/api/user/add等)
  • 完全覆盖了原PHP55配置支持的所有URL场景,确保路由转发正常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 23:55:13