c# - 如何使/Home/Index重定向到/

标签 c# asp.net-mvc routes

给定默认路由,以下任一 URL 将导航到 Home Controller 的 Index 方法:

 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 }
);

最佳答案

在您的路线文件中,添加以下内容:

 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();
    }

关于c# - 如何使/Home/Index重定向到/,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25353924/

相关文章:

c# - 如何最好地在多个应用程序中重用 MVC3 Controller / View ?

javascript - Express - 将 JavaScript 数据传递给客户端,无需 View 引擎

java - Camel 路由如何调用在不同 Camel 上下文中运行的另一条路由

c# - 如何从主线程的后台线程调用方法?

c# - 在 .NET Core 2.0 中合并 PDF 并将 PDF 转换为 PNG 图像

c# - 运行 Fixtures 但不是并行 NUnit 中的方法

c# - ASP.NET MVC Windows Authentiaction 和 DirectoryServices - 获取当前用户的邮件地址引发 InvalidCastException

c# - 为什么 .Net 中的泛型类对它们的泛型参数是不变的?

asp.net mvc - View 和 Controller

ruby-on-rails - 尽管在 rake 路由中可用,但出现奇怪的路由错误