关于如何在 ASP.NET MVC 中服务 favicon.ico 的最终/最佳建议是什么?
我目前正在执行以下操作:
在我的 RegisterRoutes 方法的 最开始 添加一个条目:
routes.IgnoreRoute("favicon.ico");
将 favicon.ico 放在我的应用程序的根目录中(这也将成为我的域的根目录)。
我有两个问题:
Content
Controllers
IgnoreRoute("favicon.ico")
routes.IgnoreRoute("{*favicon}", new {favicon=@"(.*/)?favicon.ico(/.*)?"});
将 favicon.ico 放在域的根目录中只会影响 IE5、IIRC。对于更现代的浏览器,您应该能够包含一个链接标记以指向另一个目录:
<link rel="SHORTCUT ICON" href="http://www.mydomain.com/content/favicon.ico"/>
您还可以将非 ico 文件用于 IE 以外的浏览器,为此我可能会使用以下条件语句将 PNG 提供给 FF 等,并将 ICO 提供给 IE:
<link rel="icon" type="image/png" href="http://www.mydomain.com/content/favicon.png" /> <!--[if IE]> <link rel="shortcut icon" href="http://www.mydomain.com/content/favicon.ico" type="image/vnd.microsoft.icon" /> <![endif]-->