Google App Engine静态文件GET 404

San*_*osh 9 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
Run Code Online (Sandbox Code Playgroud)

这是日志中的错误

2011-03-18 01:18:07.033/404 21ms 0cpu_ms 0kb Mozilla/5.0(Macintosh; U; Intel Mac OS X 10_6_6; zh-CN)AppleWebKit/534.16(KHTML,与Gecko一样)Chrome/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; zh-CN)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

在此输入图像描述

Cal*_*vin 7

看看这个要点中的app.yaml:

https://gist.github.com/873098

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