我只是在我的_Layout.cshtml的head
中添加它。
<head>
<link rel="shortcut icon" type="image/ico" href="~/Images/favicon.ico">
</head>`
图标显示但仅在主页中显示,原因是什么?
答案 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?
答案 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>