1

ASP.NET MVC3 アプリケーションは、Mono の Apache でアドレスhttp://www.mysite.comの仮想ホストとしてホストされます。

ファイル robots.txt 、 favicon.ico 、および apple-touch-icon.png に対するリクエストは、これらの名前の MVC3 コントローラがないため、以下の 404 エラーを引き起こします。それらのファイルをサーバーする方法は? 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 
4

1 に答える 1

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 の修正:

これらの Web サイトを見てください。apple-touch-icon-precomposed.png http://mathiasbynens.be/notes/touch-icons
でエラーが発生するのはなぜですか

于 2013-09-24T17:06:00.843 に答える