9

我有一个 asp.net mvc web 应用程序,它使用一些 favicon.ico。现在,当我将它作为应用程序移至 IIS 7 时,即使我尝试输入 favicon 的完整地址,也会停止显示 favicon。图标还在;完整地址可以在浏览器中单独查找图标,但不能在应用程序母版页中查找。该代码是标准的,与我的其他一些应用程序相同,但它可以工作。

<head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title><asp:ContentPlaceHolder ID="TitleContent" runat="server" /></title>
    <link rel="shortcut icon" href="../../Content/Images/favicon.ico" />
    <link href="../../Content/Site.css" rel="stylesheet" type="text/css" />
    <script type="text/javascript" src="../../Scripts/jquery-1.3.2.min.js"></script>
    <script type="text/javascript" src="../../Scripts/Site.js"></script>
</head>

任何想法为什么会这样?

4

4 回答 4

8

如果我没记错的话,在 Internet Explorer 中,favicon 需要一个绝对URL。如果这没有帮助:

  • 也许 IIS 为图标文件提供了错误的内容类型?我认为正确的是image/vnd.microsoft.icon. 有关在 IIS 7 中设置内容类型的方法,请参阅此页面。
  • 此页面上有许多其他提示
于 2010-01-04T11:44:37.530 回答
6

尝试将您的链接标签更改为:

<link rel="shortcut icon" href="/Content/Images/favicon.ico" type="image/x-icon" />
于 2010-01-04T11:47:13.317 回答
2

浏览器对网站图标非常挑剔。他们不会总是在刷新时检索它们,并且经常会随意跳过它们。

最好的方法是将您的网站图标放在文档根目录中,以便链接为/favicon.ico. 还要确保它是一个真正的 Microsoft 格式的 .ICO 图标文件。通过带有父目录的路径查找它..- 就像你在这里做的那样 - 正在寻找问题。

没有正式的跨服务器和浏览器标准,更多信息参见: http ://en.wikipedia.org/wiki/Favicon

于 2010-01-04T11:49:16.543 回答
2

尝试添加

<link rel="shortcut icon" href="<full path to favicon.ico>" />

作为标记后的第一行<head>,这对我在 Chrome 和 IE10 中使用 IIS7 有效。

检查以确保您的站点没有多个 DOCTYPE 文件来分隔内容类型 IE 和 Chrome。找出答案的一种方法是检查源代码以查看 favicon 链接是否真的存在于<head>标签下。

如果一切都失败了,您可能想尝试清除浏览器缓存并仔细检查 favicon.ico 的文件权限 - 它应该具有世界读取访问权限。

于 2015-04-30T17:10:03.703 回答