Google App Engine:app.yaml文件问题

时间:2016-03-12 05:02:55

标签: html google-app-engine localhost

我正在尝试将基于HTML的网站发布到我的Google App Engine服务。我没有在这个项目中使用任何PHP代码,因为它只是一个登陆页面。

这是我的项目结构:

enter image description here

我相信我需要一个app.yaml文件发布到GAE? 这是我的app.yaml文件:

application: earthling-app
version: 1
runtime: php55
api_version: 1

handlers:
- url: /js
  static_dir: js
- url: /images
  static_dir: images
- url: /css
  static_dir: css

但是,当我在Google App Engine Launcher中运行我的应用程序时,这就是它所显示的内容:

enter image description here

我收到“网址”/index.html“与任何处理程序都不匹配。”,“未找到”错误。

我的结构和app.yaml是否正确且安全地发布到GAE服务?为什么我没有正确看到我的网站?

修改

在Amber的建议之后,这是我的app.yaml:

application: earthling-app
version: 1
runtime: python
api_version: 1

handlers:
- url: /.*
  static_dir: static

我将所有静态文件移动到名为“static”的文件夹

2 个答案:

答案 0 :(得分:1)

您定义了3个处理程序:/js/images/css。这些都不匹配/index.html,因此当您尝试访问包含/index.html的路径时,应用程序会抛出错误,因为它不知道该怎么做。

您需要定义一个或多个与您要提供的实际页面匹配的处理程序,而不仅仅是js / images / css路径。

对于像你这样的完全静态的网站,最简单的方法可能是只定义一个处理程序:

handlers:
- url: /.*
  static_dir: static

然后将整个网站(包括css / images / js)放在static目录中:

earthling/
  app.yaml
  static/
    css/
      ...
    images/
      ...
    js/
      ...
    index.html
    favicon.ico
    ...

如果你这样做,你甚至不需要任何python文件,因为整个网站将由static_dir规则逐个文件地提供(/.*匹配任何路径,因为.*匹配任何字符串)。

答案 1 :(得分:0)

另一种方法是使用Google Clould Storage为您的网站提供服务。它有一个服务静态网站的功能。它作为CDN使用,您只需为传输的数据付费。