Favicon只在主页ASP.NET MVC

时间:2016-05-31 04:55:48

标签: asp.net asp.net-mvc-5 favicon

我只是在我的_Layout.cshtml的head中添加它。

<head>  
    <link rel="shortcut icon" type="image/ico" href="~/Images/favicon.ico">
</head>` 

图标显示但仅在主页中显示,原因是什么?

2 个答案:

答案 0 :(得分:5)

通常,将所有与favicon相关的文件放在网站的根目录中是一种很好的做法。有些浏览器会一直在根文件夹中检查favicon.ico。

<head>  
    <link rel="shortcut icon" type="image/ico" href="~/favicon.ico">
</head>

另外,请看一下这些帖子

Is putting your favicon.ico file in a non-root path a bad idea?

Serving favicon.ico in ASP.NET MVC

答案 1 :(得分:2)

不是将favicon.ico文件移动到根目录中,而是可以使用IIS IRL rewrite module轻松添加重写规则,这将使其像在根目录中一样,即使它在您所在的位置而不是保留它。

只需安装重写模块,然后将其放入根web.config文件中。

<configuration>
  <system.webServer>
    <rewrite>
        <rule name="Rewrite favicon.ico location from root to physical">
          <match url="^favicon\.ico$"/>
          <action type="Rewrite" url="images/favicon.ico"/>
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>

当然,您还可以在_Layout.cshtml文件中为那些尊重快捷方式图标标记的浏览器指定文件的实际位置。

<head>  
    <link rel="shortcut icon" type="image/ico" href="@Url.Content("~/Images/favicon.ico")">
</head>