什么是最终/最佳建议,为如何服务图标。ico在ASP.NET 视?

我目前正在做如下:

  • 添加一个条目的 非常的开始 我RegisterRoutes方法:

    routes.IgnoreRoute("favicon.ico");
    
  • 把图标。ico在根的我的程序(这也是要根我域)。

我有两个问题:

  • 有没有办法把图标。ico其他地方比根的我的应用程序。这是很讨厌被有权利的水平相同 ContentControllers.
  • 是这样的 IgnoreRoute("favicon.ico") 声明足够了-或者我应该还做了以下所讨论的 一篇博客从菲尔*哈克.我不知道还有没有看到一个请求以图标。ico在任何目录的其他根,这将使这种不必要的(但这是很好的知道如何做到这一点).

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

解决方案

把图标。ico在根域唯一真正影响IE5,请参考.更多的现代浏览器您应该能够包括一个链接标指向另一个目录:

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

你也可以使用非ico文件的浏览器比其他即,为此,我想也许使用下列条件的发言作一PNG FF等和ICO即:

<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 视问题,它将更好地使用剃刀的语法:

<link rel="icon" href="@Url.Content("~/content/favicon.ico")"/>

或传统

<link rel="icon" href="<%= Url.Content("~/content/favicon.ico") %>"/>

而不是

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

1)你可以把你的图标在哪里你想要加入这个标记你的页头

<link rel="shortcut icon" href="images/favicon.ico" type="image/x-icon" />

虽然一些浏览器会试图获得的图标从图标。ico通过默认,因此应使用的IgnoreRoute.

2)如果浏览器发出请求的图标在另一个目录,它将得到一个404错误,这是好的,如果你有链接标记在回答1在你主页面浏览器将获得的图标你想要的。

我认为, 图标。ico 应该在根文件夹。它只属于那里。

如果你想的发球不同的图标-把它变成智能控制器.你可以做到这一点。如果没有-只是把它留在根文件夹。

以上都不是为我工作。我最后解决这个问题由重命名的图标。ico myicon.ico,并参考其中的头 <link rel="icon" href="~/myicon.ico" type="image/x-icon" />

它也应该能够创建一个控制器,返回ico文件和登记册的路线/图标。ico指向这个控制器。

使用此而不仅仅是图标。ico其倾向于搜索的最爱的图标文件

> <link rel="ICON" 
> href="@System.IO.Path.Combine(Request.PhysicalApplicationPath,
> "favicon.ico")" />

使用所要求的道路,并结合的最爱的图标文件,以便它得到精确的地址,其搜索

使用这种解决的最爱.图标错误,这是提高总是在Application_Error

所有你需要做的是增加 app.UseStaticFiles(); 在你的启动。cs-> public void Configure(IApplicationBuilder app, IHostingEnvironment env).

ASP.net 核心提供一个很好的方式,获得静态的文件。这是使用入口脚本的目录的文件夹。请阅读 静态的文件ASP.NET 核心.

使用 <Link /> 是不是一个很好的想法。为什么会有人增加链接标签上的每个HTML或cshtml的图标。ico?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top