1

我将 iisexpress 与 ASP.NET MVC 4 一起使用,并将 robots.txt 映射到自定义操作,如下所示:

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

当我将开发服务器设置为使用 IISExpress 时,我收到标准的 IIS 404 错误页面:

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 开发服务器时,这似乎工作正常并且路由正确。

是否需要特别设置 web.config 或其他设置才能使其正常工作?

4

2 回答 2

2

原来你需要 runAllManagedModulesForAllRequests="true" 在模块上的 web.config 中才能在 IIS 或 IIS Express 中工作。这不是新的 asp.net mvc 4 项目的默认设置

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

值得检查您的文件是否未命名为 robots.txt.txt

于 2018-11-06T13:06:50.750 回答