scribble

守望的麦子

About Projects Tool Guestbook

30 Apr 2009
Google App Engine 添加 Favicon 和 robots.txt 的方法

1. 添加 Favicon 的方法

一般情况下,Google App Engine 上传的是应用程序文件(如:Python 的 .py 文件),如果你要上传静态文件(如图片、Javascript、css),就得把它们放到一个静态目录里,并在 app.yaml 配置文件(详细的解说)里做类似下面的定义:

handlers:
- url: /images
  static_dir: images
- url: /css
  static_dir: css

Favicon.ico 文件同样可以放到 images 目录下,上传后就可以通过地址 http://application-id.appspot.com/images/favicon.ico 访问了。

然后在 HTML 文件的 Head 里头添加

就可以让别人浏览你的网站时,看到你的 Favicon 了。(考虑到兼容问题,我没有用 type=”image/vnd.microsoft.icon” )

但是,人家 favicon 默认都是放在网站的根目录下的,在 Google App Engine 里怎么实现呢?

方法是在 app.yaml 配置文件内添加如下语句:(紧跟 handlers: 下面就好了)

  • url: /favicon.ico
      static_files: images/favicon.ico
      upload: images/favicon.ico
      mime_type: image/x-icon

意思就是,当别人访问 http://application-id.appspot.com/favicon.ico 时,我就用 images/favicon.ico 来代替输出。又因为 Google App Engine 不能根据 .ico 的后缀正确判断这个图标文件的 mime 类型,所以我们可以在这里明确指定了它的 mime_type 是 image/x-icon 。一方面,可以避免上传应用程序时出现“错误”提示;另一方面,可以直接在浏览器中打开这个文件,而不至于提示下载这个文件。(原来我是用  mime_type: image/vnd.microsoft.icon 的,但发现在 IE 下面,直接打开 icon 的地址,图标不能正常显示,所以还是用 x-icon 算了。)

当把 favicon.ico 文件“放”到根目录之后,那句

就可以省略不用了。因为现在的浏览器都知道默认从网站根目录找 favicon.ico 文件。  

2. 添加 robots.txt 的方法

有了上面的经验,添加 robots.txt 就易如反掌了。我们同样可以把 robots.txt 放在 images 目录下,跟其它图片一起上传。只要在 app.yaml 配置文件中加上下面几句就好了:

  • url: /robots.txt
      static_files: images/robots.txt
      upload: images/robots.txt  

OK. 祝大家玩 Google App Engine 玩得开心!我的GAE:http://weblog.crazyenglish.info

Til next time,
Jason at 00:00

scribble

About Projects Tool Guestbook