【问题标题】:Google App Engine Static Files GET 404Google App Engine 静态文件 GET 404
【发布时间】:2011-07-18 00:08:50
【问题描述】:

以下 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;英美) 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] “获取 / HTTP/1.1" 404 0 - "Mozilla/5.0 (麦金塔;U;英特尔 Mac OS X 10_6_6; zh-CN)AppleWebKit/534.16(KHTML,如 壁虎)铬/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后的文件系统结构

【问题讨论】:

  • 如果将 yaml 上的 static_files 更改为 static_dir 会发生什么?
  • ./ 是多余的。我不确定它是否会导致您的问题,但我会尝试将其删除。
  • 我有点晚了,但我想指出,我在使用不同的解决方案时遇到了同样的问题。对于未来的读者:仔细检查以确保您的包含和文件名完全匹配(包括大小写)。我在 Windows 上开发(抱歉)并认为 image.PNG 会被识别为与 image.png 相同,但 GAE 的环境区分了两者。

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


【解决方案1】:

看看这个 gist 中的 app.yaml:

https://gist.github.com/873098

它成功地服务于一个静态网站。我看到的主要区别是缺少上面@Wooble 指出的“./”,以及使用 (.*) 而不是 (.+) 作为主要正则表达式。 (.+) 理论上应该可以工作。

【讨论】:

  • 工作就像魅力!谢谢 Calvin,这个 app.yaml 非常有用,涵盖了所有情况。 @Jorge @Wooble,谢谢大家的帮助
猜你喜欢
  • 1970-01-01
  • 2016-09-02
  • 1970-01-01
  • 1970-01-01
  • 2017-08-15
  • 1970-01-01
  • 2016-06-12
  • 2015-06-23
  • 2011-01-11
相关资源
最近更新 更多