我正在使用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或其他设置才能使其正常工作?
答案 0 :(得分:2)
原则上,在模块的web.config中需要runAllManagedModulesForAllRequests =“true”才能在IIS或IIS Express中工作。这不是新的asp.net mvc 4项目的默认值
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
</modules>
</system.webServer>
答案 1 :(得分:0)
值得检查您的文件是否未命名为robots.txt.txt