如何管理mvc4中的URL路由?

时间:2015-02-22 12:09:58

标签: asp.net-mvc-4 url asp.net-mvc-routing

我正在处理网址

  1. 我想重定向页面而不更改网址。
  2. 当键入url www.example.com/Default.aspx时,url显示为相同但返回页面Home / Index(Controller / Action)

    1. 我想用实际网址重定向页面。
    2. 第二个要求是当输入www.example.com/Default.aspx时,在地址栏主页/索引中显示网址并返回此页

      如何可能请详细说明。

      提前谢谢。

1 个答案:

答案 0 :(得分:0)

我认为最简单的方法是在IIS中使用URL Rewrite模块。但是,正如你在MVC中提到的那样,我将首先介绍它:

要达到1(当请求/default.aspx时返回/ home / index。 将以下内容添加到路由表中:

routes.MapRoute("HomepageDefault", "default.aspx", new { controller = "Home", action = "Index" });

要实现2,您需要重定向请求 - 最简单的方法是将路由设置为actionresult,然后重定向它:

routes.MapRoute("RedirectRoute", "default.aspx", new { controller = "Home", action = "Redirect" });

然后在ActionResult中:

    public ActionResult Redirect()
    {
        return RedirectToAction("Index", "Home");
    }

另一种方法是使用URL Rewrite Module in IIS

执行此操作

实现1:

    <rewrite>
      <rules>
        <rule name="Rewrite rule">
          <match url="^default.aspx$" />
          <action type="Rewrite" url="/home/index" />
        </rule>
      </rules>
    </rewrite>

实现2:

    <rewrite>
      <rules>
       <rule name="redirect">
         <match url="^default.aspx$" />
         <action type="Redirect" url="/home/index" />
        </rule>
      </rules>
    </rewrite>