Favicon 仅显示在首页 ASP.NET MVC

Favicon only shows in Homepage ASP.NET MVC

我只是将其添加到我的 _Layout.cshtml 的 head 中。

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

有图标但只出现在首页,请问是什么原因?

一般来说,将所有与网站图标相关的文件都放在网站的根目录中是一种很好的做法。某些浏览器将始终检查根文件夹中的 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

无需将 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>