php app.yaml google app engine launcher

时间:2015-08-07 14:39:30

标签: php google-app-engine

我不是开发人员,最近分配了一项任务,试图在谷歌网络托管上放置一个简单的静态网站。我被困在app.yaml部分。该网站在服务器上工作正常,我无法让它在GAE上工作。

handlers:

- url: /stylesheets
  static_dir: css

- url: /img
  static_dir: img

- url: /js
  static_dir: js

- url: /(.+\.php)$
  script: \1

- url: .*
  script: index.php 

folder
\css
\img
\js
about.php
footer.php
header.php
home.php
index.php
links.php
menu.php

如果我在app.yaml中保留静态目录行,则该站点将无法启动。如果我只留下脚本:index.php页面加载但只有主页工作,页眉和页脚或CSS不起作用。

我已多次阅读google文档,并在我的计算机上运行hello world无法让这个简单的网站工作。

1 个答案:

答案 0 :(得分:1)

欢迎来到SO。

注意缩进,yaml对此很敏感 - 结果可能有不正确的配置(例如static_dir: css相对于url: /stylesheets没有正确缩进,这可能就是为什么你的CSS是不工作)。

我认为问题中代码部分的下半部分实际上是你的dir结构的一个例子,而不是app.yaml.file本身的一部分(这将是不正确的yaml语法)。

我没有在您的目录结构中看到favicon.ico文件,app.yaml文件中的相应部分目前无用(或者,如果该文件位于其他位置,则需要更正该部分)。

您没有处理其他.php个文件的处理程序,它们是通过.*处理程序处理的,该处理程序是index.php(不确定这是否是您的意图)。

您可能需要查看此文档,其中包含许多示例:https://cloud.google.com/appengine/docs/php/config/appconfig

更新

假设您要为所有.php个文件添加脚本处理程序,其中一个appconfig doc示例显示:

# Serve php scripts.
- url: /(.+\.php)$
  script: \1

您需要将其置于catch-all .*处理程序之上(使用第一个匹配处理程序,订购事项)。