是否有必要像Google Developers Cloud Playground一样单独处理favicon.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
文件夹中,我有以下内容:
答案 0 :(得分:1)
这不是关于你的整个问题,只是一个特定的部分(当你问为什么不删除你的favicon.ico中的反斜杠时)。 url配置实际上是一个正则表达式(参见here)。你有反斜杠的原因是"。"在正则表达式中意味着任何字符。这仍然有效的原因是文字"。"将匹配任何匹配任何角色的东西。反斜杠"逃脱" "。" (把它变成文字"。"而不是任何字符)。你会发现没有" \"它会匹配,例如" faviconaico"。虽然这很少是一个实际问题,但最好还是逃避任何文字字符。
答案 1 :(得分:1)
没有必要在 app.yaml 中使用自己的处理程序单独处理favicon.ico
的请求。这仅仅是一种约定,因为favicons是最常请求的图标,并且通常在现代浏览器上默认请求。
可以使用所有 .ico 文件的通用处理程序,但鉴于来自浏览器的默认请求 favicon.ico 的某种特殊性质,使用它很常见一个独特的处理程序。
答案 2 :(得分: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
虽然,我更喜欢明确说明favicon处理程序:
- url: /favicon.ico
static_files: favicon.ico
upload: favicon.ico
而且,实际上,我会将favicon放在images_folder中,以获得更整洁的开发环境,但这是一个单独的讨论。