我在研究url路由
当键入url www.example.com/Default.aspx时,该时间url显示为相同,但返回页主页/索引(Controller/Action)
第二个要求是,当输入www.example.com/Default.aspx时,在地址栏Home/Index中显示url并返回此页面。
如何可能,请详细描述。
提前谢谢你。
发布于 2015-02-24 13:06:28
我认为最干净的方法是在IIS中使用URL重写模块。但是,当您询问如何在MVC中执行此操作时,我将首先讨论这一点:
实现1(当请求/default.aspx时,返回/home/index。在路由表中添加以下内容:
routes.MapRoute("HomepageDefault", "default.aspx", new { controller = "Home", action = "Index" });
要实现2,您需要重定向请求--最简单的方法是设置一条路由,直到执行结果,然后重定向:
routes.MapRoute("RedirectRoute", "default.aspx", new { controller = "Home", action = "Redirect" });
然后在ActionResult中:
public ActionResult Redirect()
{
return RedirectToAction("Index", "Home");
}
另一种方法是使用IIS中的URL重写模块来实现这一点。
为实现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>
https://stackoverflow.com/questions/28657627
复制