如何从ASP.NET MVC3应用程序中提供favicon.ico和robots.txt文件

时间:2013-09-24 15:47:43

标签: asp.net asp.net-mvc asp.net-mvc-3 mono

ASP.NET MVC3应用程序在Mono中作为虚拟主机托管在地址为http://www.mysite.com

的Apache中

对文件robots.txt,favicon.ico和apple-touch-icon.png的请求导致404错误 这些名称没有MVC3控制器。 如何服务这些文件?它可以强制Apache将它们作为常规文件提供,还是可以强制MVC3应用程序返回这些文件? 哪种方法可以实现呢?

System.Web.HttpException: The controller for path '/robots.txt' was not found or does not implement IController.
  at System.Web.Mvc.DefaultControllerFactory.GetControllerInstance (System.Web.Routing.RequestContext requestContext, System.Type controllerType) [0x00000] in <filename unknown>:0 
  at System.Web.Mvc.DefaultControllerFactory.CreateController (System.Web.Routing.RequestContext requestContext, System.String controllerName) [0x00000] in <filename unknown>:0 
  at System.Web.Mvc.MvcHandler.ProcessRequestInit (System.Web.HttpContextBase httpContext, IController& controller, IControllerFactory& factory) [0x00000] in <filename unknown>:0 
  at System.Web.Mvc.MvcHandler+<>c__DisplayClass6.<BeginProcessRequest>b__2 () [0x00000] in <filename unknown>:0 
  at System.Web.Mvc.SecurityUtil+<>c__DisplayClassb`1[System.IAsyncResult].<ProcessInApplicationTrust>b__a () [0x00000] in <filename unknown>:0 
  at System.Web.Mvc.SecurityUtil.<GetCallInAppTrustThunk>b__0 (System.Action f) [0x00000] in <filename unknown>:0 
  at System.Web.Mvc.SecurityUtil.ProcessInApplicationTrust (System.Action action) [0x00000] in <filename unknown>:0 
  at System.Web.Mvc.SecurityUtil.ProcessInApplicationTrust[IAsyncResult] (System.Func`1 func) [0x00000] in <filename unknown>:0 
  at System.Web.Mvc.MvcHandler.BeginProcessRequest (System.Web.HttpContextBase httpContext, System.AsyncCallback callback, System.Object state) [0x00000] in <filename unknown>:0 
  at System.Web.Mvc.MvcHandler.BeginProcessRequest (System.Web.HttpContext httpContext, System.AsyncCallback callback, System.Object state) [0x00000] in <filename unknown>:0 
  at System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest (System.Web.HttpContext context, System.AsyncCallback cb, System.Object extraData) [0x00000] in <filename unknown>:0 
  at System.Web.HttpApplication+<Pipeline>c__Iterator3.MoveNext () [0x00000] in <filename unknown>:0 
  at System.Web.HttpApplication.Tick () [0x00000] in <filename unknown>:0 

1 个答案:

答案 0 :(得分:4)

修复robots.txt:

右键单击项目名称,然后选择“添加 - >新项目”
选择“文本文件”并将其命名为“robots.txt”
您可以将此文件留空(

修复favicon.ico:

转到Global.asax.cs文件的RegisterRoutes方法并将其添加到顶部附近:您可以查看此页面以获取更多信息:Favicon Icon-MVC3 ASP.NET

routes.IgnoreRoute("{*favicon}", new { favicon = @"(.*/)?favicon.ico(/.*)?" });


修复apple-touch-icon.png:

看看这些网站
Why am I getting error for apple-touch-icon-precomposed.png
http://mathiasbynens.be/notes/touch-icons

相关问题