PHP App Engine Flex 服务于 SPA 和 API
PHP App Engine Flex serving SPA and API
我的目标是在同一站点上提供 SPA 和 PHP api。我希望能够浏览位于 mywebsite.com 的网站,并请求 api 调用 mywebsite.com/api/.
我的目录结构是:
public
|
+-- index.html
+-- api
|
index.php
我的app.yaml:
runtime: php
env: flex
runtime_config:
document_root: public
导航到 mywebsite.com 给出 404,因为 public/index。php 不存在。
所以我尝试了这个 app.yaml:
runtime: php
env: flex
runtime_config:
document_root: public
front_controller_file: index.html
而且我可以正常访问 mywebsite.com,因为 index.html 是默认文件,但是 api/index.php 仍然是 404.
在 App Engine php flex 上可以实现类似的功能吗?我已经阅读了文档- https://cloud.google.com/appengine/docs/flexible/php/configuring-your-app-with-app-yaml
谢谢!
删除 runtime_config
中的 front_controller_file
。
使用以下内容创建名为 nginx-app.conf
的文件:
location / {
try_files $uri $uri/ /index.html?$args;
}
location /api {
try_files $uri /api/index.php$is_args$args;
}
然后重新部署。 URL 都可以。
我的目标是在同一站点上提供 SPA 和 PHP api。我希望能够浏览位于 mywebsite.com 的网站,并请求 api 调用 mywebsite.com/api/.
我的目录结构是:
public
|
+-- index.html
+-- api
|
index.php
我的app.yaml:
runtime: php
env: flex
runtime_config:
document_root: public
导航到 mywebsite.com 给出 404,因为 public/index。php 不存在。
所以我尝试了这个 app.yaml:
runtime: php
env: flex
runtime_config:
document_root: public
front_controller_file: index.html
而且我可以正常访问 mywebsite.com,因为 index.html 是默认文件,但是 api/index.php 仍然是 404.
在 App Engine php flex 上可以实现类似的功能吗?我已经阅读了文档- https://cloud.google.com/appengine/docs/flexible/php/configuring-your-app-with-app-yaml
谢谢!
删除 runtime_config
中的 front_controller_file
。
使用以下内容创建名为 nginx-app.conf
的文件:
location / {
try_files $uri $uri/ /index.html?$args;
}
location /api {
try_files $uri /api/index.php$is_args$args;
}
然后重新部署。 URL 都可以。