Google App Engine 静态文件获取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; Intel Mac OS X 10_6_6; en-US) AppleWebKit/534.16 (KHTML, like 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; en-US) AppleWebKit/534.16 (KHTML, like 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
后的文件系统结构:
1 个回答
看看这个链接里的 app.yaml 文件:
https://gist.github.com/873098
这个文件成功地提供了一个静态网站。我注意到的主要区别是,@Wooble 提到的没有 './',还有使用了 (.*) 这个正则表达式,而不是 (.+)。不过理论上 (.+) 也应该可以用。