Asp.net mvc mvc robots.txt路由不工作
这是我的RouteConfig文件: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" });
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文件。