Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc mvc robots.txt路由不工作_Asp.net Mvc - Fatal编程技术网

Asp.net mvc mvc robots.txt路由不工作

Asp.net mvc mvc robots.txt路由不工作,asp.net-mvc,Asp.net Mvc,这是我的RouteConfig文件: public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute("Robots.txt", "robots.txt", new { controller = "Home", action = "Robots" });

这是我的RouteConfig文件:

public static void RegisterRoutes(RouteCollection routes)
{
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

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

    routes.MapRoute(
        name: "Default",
        url: "{controller}/{action}/{id}",
        defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
    );
}
当进入
www.mysite.com/Robots.txt
时,我得到404

在我的家庭控制器中,我有一个机器人()动作

我可能做错了什么

编辑:转到
www.mysite.com/Robots
会给我一个服务器错误404。转到
www.mysite.com/Robots.txt
会给我一个IIS 404错误。这可能与此有关吗


进入
www.mysite.com/Home/Robots
是可行的,但是
www.mysite.com/Home/Robots.txt
提供了IIS 404。

除了www.mysite.com/Robots.txt,您真的需要Robots.txt吗

否则,只需:

public static void RegisterRoutes(RouteCollection routes)
{
    routes.IgnoreRoute("robots.txt");
}

并将该文件放在Visual Studio的根文件夹中。

这是一个有点迟的答复,但如果其他人遇到它,IIS会选择扩展名并尝试将其作为静态文件进行管理。它没有到达路由模块

您可以使用runAllManagedModulesForAllRequests禁用此功能,但会影响性能。Andy Brown在这里列出了许多解决方案和详细说明:

“在我的HomeController中,我有一个Robots()操作”-我猜OP需要一个动态生成的Robots.txt文件。