Google App Engine不会显示所有网址路由

时间:2015-12-24 01:39:15

标签: php google-app-engine xampp yaml app.yaml

我在使用Google App Engine上的服务器端口8080尝试将我的PHP应用程序转移并运行到本地环境时遇到问题。 我有app.yaml如何工作的问题。以下是y app.yaml的以下代码:

application: huge
version: 1
runtime: php55
api_version: 1


handlers:
 - url: /.*
 script: public/index.php

 - url: /login/index
 script: application/view/login/index.php

第一个网址和脚本工作。但是我的应用程序与XAMPP上的应用程序不同。 PHP应用程序结构化为MVC,这意味着PHP文件不在根目录中,而是在有组织的文件夹中,我在XAMPP中使用laravel和composer。我现在将此应用程序转移到GAE。主根文件位于public / index.html中,但所有其他文件都在文件夹中,您可以看到我尝试在第二个脚本调用中调用一个页面,如application/view/login/index.php。此外,public/css文件夹中的css也未加载,因此样式已从应用程序中删除。我是否必须告诉谷歌应用程序引擎每一条路线?如果是这样,有人可以告诉我一个例子,第二个调用将如何工作以及我如何调用我的CSS工作。

1 个答案:

答案 0 :(得分:0)

app.yaml文件中处理程序的顺序很重要,将使用第一个模式匹配。

在您的情况下/login/index实际上匹配/.*,因此它将传递给第一个处理程序。要做你期望的事情,你需要交换处理程序的顺序。

您可能还需要为非php文件添加静态文件/目录处理程序(例如,对于css文件)

您应该花一些时间熟悉配置php应用程序:https://cloud.google.com/appengine/docs/php/config/appconfig