【发布时间】:2011-01-30 20:10:33
【问题描述】:
我有一个需要添加 Favicon.ico 的网站。该站点是使用带有路由的 ASP.NET 3.5 Web 窗体编写的。问题是 Favicon 链接总是返回一个找不到页面的错误。这是因为路由不知道 Favicon.ico 的链接应该去哪里,所以它返回 Not Found 页面。
我尝试为网站图标添加 StopRoutingHandler,但它们似乎都不起作用。以下是我迄今为止尝试过的:
routes.Add(new Route("MasterPages/{favicon}.ico", new StopRoutingHandler()));
routes.Add(new Route("{favicon}.ico", new StopRoutingHandler()));
routes.Add(new Route("favicon.ico", new StopRoutingHandler()));
routes.Add(new Route("favicon.ico/{*pathInfo}", new StopRoutingHandler()));
有人知道我应该使用什么吗?我尝试过的 favicon.ico 链接如下所示:
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
<link rel="icon" href="/favicon.ico" type="image/x-icon" />
它们在我的<html><head> 标签内。
另外,作为最后一点,我没有使用 MVC,因为如果我可以使用它:
routes.IgnoreRoute("{*favicon}", new {favicon=@"(.*/)?favicon.ico(/.*)?"});
很遗憾,IgnoreRoute 不适用于路由 Web 表单,因为它不是 MVC 应用程序。
【问题讨论】: