Google App Engine静态文件GET 404

时间:2011-03-18 08:40:17

标签: python google-app-engine http-status-code-404

以下app.yaml在我的本地开发服务器上工作得很好..但是当我将它部署到生产环境时,所有静态文件都会抛出404.服务器无法找到任何静态文件。一直在搜索几个小时找不到有效的解决方案。

注意:我正在使用mac进行开发,因此了解系统的区分大小写的特性。

application: dev-scanner
version: 1
runtime: python
api_version: 1

handlers:
- url: /(.+)
  static_files: static_files/\1
  upload: ./static_files/(.+)

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

以下是日志中的错误

  

2011-03-18 01:18:07.033 / 404 21ms   0cpu_ms 0kb Mozilla / 5.0(Macintosh; U;   英特尔Mac OS X 10_6_6; EN-US)   AppleWebKit / 534.16(KHTML,和Gecko一样)   镀铬/ 10.0.648.134   Safari浏览器/ 534.16,gzip的(GFE),gzip的(GFE),gzip的(GFE)   76.126.174.202 - - [18 / Mar / 2011:01:18:07 -0700]“GET /   HTTP / 1.1“404 0 - ”Mozilla / 5.0   (Macintosh; U; Intel Mac OS X 10_6_6;   en-US)AppleWebKit / 534.16(KHTML,喜欢   Gecko)Chrome / 10.0.648.134   Safari浏览器/ 534.16,gzip的(GFE),gzip的(GFE),gzip的(GFE)”   “dev.app-scanner.com”ms = 21 cpu_ms = 0   api_cpu_ms = 0 cpm_usd = 0.000053 W   2011-03-18 01:18:07.012静态文件   未找到处理程序引用:   static_files / index.html中

使用appcfg.py download_app -A

后,这是文件系统结构

enter image description here

1 个答案:

答案 0 :(得分:7)

在这个要点中查看app.yaml:

https://gist.github.com/873098

它成功地为静态网站提供服务。我看到的主要区别是缺少上面@Wooble所指出的'./',而使用(。*)代替(。+)作为主正则表达式。 (。+)应该在理论上有效。