Asp.net mvc 4 如何在mvc4中管理url路由?
我正在研究url路由Asp.net mvc 4 如何在mvc4中管理url路由?,asp.net-mvc-4,url,asp.net-mvc-routing,Asp.net Mvc 4,Url,Asp.net Mvc Routing,我正在研究url路由 我想重定向页面而不更改url 当键入url www.example.com/Default.aspx时,url显示相同,但返回主页/索引(控制器/操作) 我想用实际的url重定向页面 第二个要求是键入www.example.com/Default.aspx,此时在地址栏Home/Index中显示url并返回此页面 如何可能请详细描述 提前谢谢。我认为最干净的方法是在IIS中使用URL重写模块。但是,当您询问如何在MVC中实现这一点时,我将首先介绍: 要达到1(当请求/def
提前谢谢。我认为最干净的方法是在IIS中使用URL重写模块。但是,当您询问如何在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");
}
另一种方法是使用
要实现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>