我认为最简洁的方法是使用 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");
}
另一种方法是使用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>