关于如何为favicon服务的最终/最佳建议是什么.ASP中的ico.网络MVC?

我目前正在做以下工作:

  • 向my RegisterRoutes方法的very beginning添加一个条目:

    routes.IgnoreRoute("favicon.ico");
    
  • 放置法维康.ico位于我的应用程序的根目录中(它也将是我的域的根目录).

我有两个问题:

  • 除了我的应用程序的根目录之外,是否没有其他方法可以将folicon.ico放在其他位置.与ContentControllers处于相同的水平,这是相当令人讨厌的.
  • IgnoreRoute("favicon.ico")条语句足够了吗?或者我应该按照a blog post from Phil Haack中讨论的那样做下面的事情吗.我不知道有没有见过法维康的请求.ico在除根目录之外的任何目录中,这将使它变得不必要(但知道如何做到这一点很好).

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

推荐答案

放置法维康.域根中的ico只会真正影响IE5,IIRC.对于更现代的浏览器,您应该能够包含指向另一个目录的链接标记:

<link rel="SHORTCUT ICON" href="http://www.mydomain.com/content/favicon.ico"/>

您也可以在IE以外的浏览器中使用非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]-->

Asp.net相关问答推荐

我们可以在一个网页中使用多个表单吗?

Web API Queryable - 如何应用 AutoMapper?

IIS Request.UserHostAddress 返回 IPV6 (::1),即使禁用了 IPV6

没有身份的 ASP.NET Core 2.0 承载身份验证

在每个控制器的 ASP.NET WebAPI 上强制使用 CamelCase

如何在 ASP.Net Core Razor 页面上重定向

无法复制文件.访问路径被拒绝

如何设置 CSS 切换器

如何获取 ActionLink 的工具提示?

在 ASP.NET 中实现 404 的最佳方法

DropDownList AppendDataBoundItems(第一项为空白且无重复项)

如何在 asp net core api 中使用 Created(或 CreatedAtAction / CreatedAtRoute)

ASP .NET Button 事件处理程序不会在第一次单击时触发,而是在 PostBack 后的第二次单击时触发

HttpContext.Current 在 MVC 4 项目中未解决

如何在 ASP.NET 中设置下拉列表项?

Fiddler 没有从 ASP.NET 网站嗅探 SOAP 流量

ASP.NET 按钮重定向到另一个页面

使用 Twitter Bootstrap 在 @html.actionlink 中显示 html

将对象传递给 HTML 属性

如何调试 w3wp clr.dll 错误