以下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
答案 0 :(得分:7)
在这个要点中查看app.yaml:
https://gist.github.com/873098
它成功地为静态网站提供服务。我看到的主要区别是缺少上面@Wooble所指出的'./',而使用(。*)代替(。+)作为主正则表达式。 (。+)应该在理论上有效。