未找到处理程序引用的静态文件:index.html

时间:2015-07-17 18:58:08

标签: google-app-engine

部署我的第一个应用引擎应用后,我在日志中收到Static file referenced by handler not found: index.html错误。这是我的yaml文件:

application: section-14
version: v1
api_version: 1
runtime: python27
threadsafe: yes

handlers:
- url: /bower_components
  static_dir: bower_components
- url: /general
  static_dir: general
- url: /projects
  static_dir: projects
- url: /js
  static_dir: js
- url: /styles
  static_dir: styles
- url: /elements
  static_dir: elements
- url: /images
  static_dir: images

#here's the problem
- url: /
  static_files: index.html
  upload: /
#------------------

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

我可以前往任何其他目录,以及位于这些目录中的文件,没有任何问题。此外,如果您查看index条目下方,elements.html路线也可以使用。

我在其他项目中注意到人们正在定义/static目录。这是一个要求吗?我的本地环境提供此应用程序没有任何问题。

1 个答案:

答案 0 :(得分:3)

不需要命名目录static。我这样做是因为它使布局的重要性显而易见(至少对我而言)。

以下是我的某个应用中的app.yaml片段,其中包含静态主页和静态资源。

handlers:
- url: /style/
  static_dir: static/style
- url: /js/
  static_dir: static/js
- url: /favicon.ico
  static_files: static/favicon.ico
  upload: static/favicon.ico
  mime_type: image/x-icon
- url: /.+
  script: main.app
- url: /
  static_files: static/index.html
  upload: static/index.html

订单很重要,使用/.+代替/.*使用后者,/的请求将被路由到main.app

编辑添加:拥有静态facicon.ico的网址映射对于阻止请求路由到您的应用非常有用,因为这会导致App Engine在不需要时启动实例。