1

是否需要像Google Developers Cloud Playgroundfavicon.ico一样单独处理:

- url: /favicon\.ico
  static_files: favicon.ico
  upload: favicon\.ico

如果是这样,为什么不:

- url: /favicon.ico
  static_files: favicon.ico
  upload: favicon.ico


在我的真实情况下app.yaml,我没有favicon.ico单独处理,它似乎正在工作:

application: myAppName
version: 1
runtime: python27
api_version: 1
threadsafe: true

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

- url: /
  static_dir: website

website文件夹中,我有以下内容:

  • 图像文件夹
  • favicon.ico
  • 索引.html
4

3 回答 3

1

这不是关于你的整个问题,只是一个特定的部分(当你问为什么不删除 favicon.ico 中的反斜杠时)。url 配置实际上是一个正则表达式(参见此处)。你有反斜杠的原因是“。” 在正则表达式中表示任何字符。这仍然有效的原因是文字“。” 将匹配匹配任何字符的东西。反斜杠“转义”了“。” (将其转换为文字“。”而不是任何字符)。您会发现如果没有“\”,它会匹配,例如“faviconaico”。虽然这很少会成为实际问题,但最好的做法是转义任何文字字符。

于 2014-11-11T01:12:50.880 回答
0

看起来您正在尝试提供静态网站。我会使用:

application: myAppName
version: 1
runtime: python27
api_version: 1
threadsafe: true

handlers:
- url: /images
  static_dir: website/images_folder/

- url: /.+     # this should handle the favicon.ico, but see below
  static_dir: website/

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

虽然,我更愿意明确说明网站图标处理程序:

- url: /favicon.ico
  static_files: favicon.ico
  upload: favicon.ico

而且,实际上,我会将 favicon 放在 images_folder 中,以获得更整洁的开发环境,但这是一个单独的讨论。

于 2014-06-28T16:24:30.330 回答
0

无需在app.yamlfavicon.ico中使用自己的处理程序单独处理请求。这只是一个约定,因为网站图标是最常被请求的图标,并且通常在现代浏览器上默认请求。

可以改为使用所有.ico文件的通用处理程序,但考虑到favicon.ico具有来自浏览器的默认请求的一些特殊性质,使用唯一处理程序是很常见的。

于 2016-12-16T22:01:37.980 回答