【问题标题】:How to get base URL to redirect to url/home?如何获取基本 URL 以重定向到 url/home?
【发布时间】:2019-05-07 03:12:36
【问题描述】:

当我运行我的网络应用程序时,它不起作用,因为它打开的默认 URL 是 http://localhost/WTM/。出于某种原因,url 给出了错误,但 http://localhost/WTM/Home/ 工作正常,即使它似乎试图打开同一页面。

如何让标准 url 自动重定向到 url/home?或者我该如何做相反的事情?将我的默认设置为不带 /home 的 url)

这是我的路由配置代码:

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

    routes.MapRoute(
        name: "Default",
        url: "{controller}/{action}/{id}",
        defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
    );
}

【问题讨论】:

  • 这不是 ASP.NET Core 代码。看起来像 ASP.NET MVC,这不是一回事。
  • 哎呀,更正了。

标签: asp.net asp.net-mvc model-view-controller routing


【解决方案1】:

在这里你需要添加另一个看起来像这样的路线

routes.MapRoute(
            name: "WTM",
            url: "WTM/{id}",
            defaults: new { controller = "WTM", action = "Home"}
        );

现在,如果您尝试 http://localhost/WTM/,这会将您重定向到该控制器的 Home 操作。

【讨论】:

  • 感谢您的提示。但是,它不起作用。使用该代码,我在localhost/WTM 上收到一条“禁止”消息,在localhost/WTM/Home 上收到一条“未找到”消息
【解决方案2】:

您能否提供有关该错误的更多信息?

正如您所提供的路线所见;控制器(如果未指定)将默认为 Home,操作为 Index。

考虑到这一点,http://localhost/WTMhttp://localhost/WTM/Homehttp://localhost/WTM/Home/Index 都应该执行相同的控制器操作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-22
    • 2019-05-31
    • 2016-12-16
    • 2015-06-11
    • 1970-01-01
    • 2015-09-24
    • 2014-07-04
    • 2011-03-22
    相关资源
    最近更新 更多