致电favicon.ico的请求获得了使用MVC 3和Chrome的404 http状态

时间:2011-05-08 21:35:26

标签: asp.net asp.net-mvc asp.net-mvc-3

我在SO和博客上看到很多关于如何配置MVC以不将请求调用路由到favicon.ico文件的问题,但似乎没有人能为我工作。我读过的lates博客是Phil Haack http://haacked.com/archive/2008/07/14/make-routing-ignore-requests-for-a-file-extension.aspx,但我仍然看到对favicon.ico文件的调用导致404错误状态代码。

我知道有很多变通办法,但我想知道它为什么不适合这种说法:

routes.IgnoreRoute("{*favicon}", new { favicon = @"(.*/)?favicon.ico(/.*)?" });

这是在路线注册的开始。

我正在使用MVC 3,Chrome和IISExpress

我缺少什么?

1 个答案:

答案 0 :(得分:7)

favicon的IgnoreRoute使得.net在请求favicon时不会执行任何操作。您仍然需要在应用程序中包含favicon.ico文件,以防止请求返回404。

Google Chrome(among other browsers)会在您每次浏览网站时自动请求favicon,以便它可以在标签中显示。