我在项目中有例外: 路径'/Content/Images/CustomFavicon.ico'的控制器未找到或未实现IController。
我在这里找到答案:I'm getting a "Does not implement IController" error on images and robots.txt in MVC2
它让我描述了我的问题和解决方案。
但是我对正则表达式很弱,所以也有同样的问题。 我如何修改此表达式以计算图标表达式的两个路径,例如:
(/.*)?CustomFavicon.ico?(/.*)
如果我的html链接文件看起来
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="ctl00_Head1">
<link rel="shortcut icon" HREF="/Content/Images/CustomFavicon.ico">
<link rel="icon" href="/Content/Images/CustomFavicon.ico" type="image/x-icon"><title>
Home Page
</title></head>
<body>
根据我的测试(见下文),它只找到一个匹配,其中也包含我不想要的HTML:
在这里看我的测试:http://regexr.com?2tl4a
这将在我的Global.aspx文件中使用:
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.IgnoreRoute("{resource}.aspx/{*pathInfo}");
//ignore route for ico files
routes.IgnoreRoute("{*favicon}", new { favicon = @"(.*/)?CustomFavicon.ico(/.*)?" });
答案 0 :(得分:0)
从你的正则表达式我不确定你想要匹配什么。我修改了一下,以便匹配两条路径。
(?:\/.*?)CustomFavicon.ico
如果您想在捕获组中使用它,请在其周围加上括号,例如:
((?:\/.*?)CustomFavicon.ico)