py API文档引用了一个“web.SEE OTHER()”函数,该函数生成一个
'303 SEE OTHER'响应,将浏览器重定向到另一个位置。
(请参见http://webpy.org/docs/0.3/api#web.application)
这是一个服务器端的解决方案,它不需要在html文件中更改头;如果服务器实际上不处理html文件,则特别有用。
解决方案:
从default/favicon.ico映射url路由,并创建一个新类来处理此路由:# Define API Routes
urls = (
'/', 'index',
'/favicon.ico', 'icon'
)
创建包含favicon.ico的(web可访问的)静态目录
创建一个新类来处理此文件:# Process favicon.ico requests
class icon:
def GET(self): raise web.seeother("/static/favicon.ico")
以下是显示请求的服务器日志: - [18/Oct/2013 21:54:54] "HTTP/1.1 GET /favicon.ico" - 303 See Other
- [18/Oct/2013 21:54:54] "HTTP/1.1 GET /static/favicon.ico" - 200
- [18/Oct/2013 22:03:02] "HTTP/1.1 GET /favicon.ico" - 303 See Other
- [18/Oct/2013 22:03:03] "HTTP/1.1 GET /static/favicon.ico" - 304 Not Modified