1

ASP.NET MVC 4でiisexpressを使用しており、robots.txtを次のようなカスタムアクションにマップしました。

        routes.MapRoute("Robots.txt",
            "robots.txt",
            new { controller = "Home", action = "Robots" });

IISExpressを使用するように開発サーバーを設定すると、標準のIIS404エラーページが表示されます。

Detailed Error Information:
Module     IIS Web Core
Notification       MapRequestHandler
Handler    StaticFile
Error Code     0x80070002
Requested URL      http://localhost:25315/robots.txt
Physical Path      c:\dev\myapp\myapp\robots.txt
Logon Method       Anonymous
Logon User     Anonymous

Visual Studio Development Serverを使用すると、これは正常に機能し、正しくルーティングされるようです。

これを機能させるために特にweb.configまたはその他の設定を行う必要がありますか?

4

2 に答える 2

2

これをIISまたはIISExpressで機能させるには、モジュールのweb.configでrunAllManagedModulesForAllRequests="true"が必要であることがわかりました。これは、新しいasp.netmvc4プロジェクトのデフォルトではありません

  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true">
    </modules>
  </system.webServer>
于 2012-11-24T20:11:58.647 に答える
0

ファイルの名前がrobots.txt.txtでないかどうかを確認する価値があります

于 2018-11-06T13:06:50.750 に答える