使用 PHP Yii2 框架的 Google 应用引擎出现 404 错误

使用 PHP Yii2 框架的 Google 应用引擎出现 404 错误

我的应用程序包含 Angular 和 Php Yii2 框架。

我将我的应用程序托管到谷歌云平台的应用引擎上。

这是我的代码和 app.yaml 文件代码的屏幕截图。

threadsafe: true
runtime: php55
api_version: 2

handlers:

# The root URL (/) is handled by the Go application.
# No other URLs match this pattern.

- url: /(.+)
  static_files: \1
  upload: (.*)

- url: /web-service/*
  script: web-service/yii

- url: /
  static_files: index.html
  upload: index.html

在此处输入图片描述

我的 Yii2 库在 web-service 目录中可用,当我从 postman 调用 rest api 时,它返回 404 页面未找到错误。

文件中缺少什么东西app.yaml

帮我解决这个问题。

我的 Api 是这样调用的。

https://abcxyz.appspot.com/web-service/web/user-registration/login-user

答案1

您的 URL 处理程序的顺序不正确。

GAE 从上到下执行这些操作。您的第一个处理程序将匹配所有内容。它永远不会到达其他两个。

您需要更改 app.yaml 中的顺序:

threadsafe: true
runtime: php55
api_version: 2

handlers:

# The root URL (/) is handled by the Go application.
# No other URLs match this pattern.

- url: /
  static_files: index.html
  upload: index.html

- url: /web-service/*
  script: web-service/yii

- url: /(.+)
  static_files: \1
  upload: (.*)

建议始终将最宽的放在底部,将最严格的放在顶部。

请参阅 GAE app.yaml 文档中有关它的部分。

相关内容