鉴于默认路由,以下任一URL都将导航到Index
控制器的Home
方法:
1. http://localhost
2. http://localhost/Home/Index
我想这样做,以便当用户导航到localhost/Home/Index
时,他们将被重定向到localhost
或,并显示未找到的结果。
`
我的目的是在不删除默认路由的情况下禁用Home/Index
地址(因为它在其他地方很有用。
我想要实现这一点,因为我的JS中有一些硬编码的相对URL,只有在它们相对于localhost
时才有效。
顺便说一下,默认路由如下:
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
答案 0 :(得分:3)
在您的路线文件中,添加以下内容:
routes.MapRoute(
name: "HomeRedirect",
url: "Home/Index",
defaults: new { controller = "Home", action = "Index", redirect = true }
);
在你的HomeController中
public ActionResult Index(bool? redirect)
{
if (redirect.HasValue && redirect.Value)
return RedirectToActionPermanent("Index", new { redirect = null as object });
return View();
}
答案 1 :(得分:0)
在HomeController的Index()方法中,只需添加:
Redirect("~/");