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