由于没有/favicon.ico,我收到404错误。实际图标位于/content/favicon.ico。
我已将此设置为我的html页面:
<link rel="icon" href="@Url.Content("~/content/favicon.ico")" type="image/x-icon" />
它有效,但有些浏览器似乎忽略它,或者无论如何都要寻找/favicon.ico。
所以,我要求的是一条ASP路线转向&#34; /favicon.ico"进入&#34; /content/favicon.ico"。
答案 0 :(得分:0)
有些浏览器会在根目录中查找favicons,因为那是他们过去按惯例生活的地方。 由于路线不用于像favicon图像这样的静态内容,因此添加路线无济于事。您可以使用IIS重写模块重写这些请求,或者为这个特定情况实现自定义处理程序,但只需将基础知识放在根目录中就可以减少麻烦 - 保持简单。
答案 1 :(得分:0)
我通过直接在我的代码中重写目标位置来解决它。无需外部重写mod,如同类似问题所示。
// Register event-listener in Web-App constructor
this.PreRequestHandlerExecute += new EventHandler(MvcApplication_PreRequestHandlerExecute);
void MvcApplication_PreRequestHandlerExecute(object sender, EventArgs e)
{
string originalPath = HttpContext.Current.Request.Path.ToLower();
if (originalPath == "/favicon.ico")
{
Context.RewritePath("~/content/favicon.ico");
}
}
MSDN文档:http://msdn.microsoft.com/en-us/library/system.web.httpserverutility.mappath(v=vs.110).aspx