ASP.NET隐藏主页扩展

时间:2014-04-07 07:07:43

标签: c# asp.net routing

我在ASP.NET 4.0项目中使用了URL重写来实现URL路由。以下是我的Global.asax示例代码:

protected void Application_Start(object sender, EventArgs e)
{
    RegisterRoutes(RouteTable.Routes);
}

private void RegisterRoutes(RouteCollection routes)
{
    routes.MapPageRoute("main", "Main", "~/Home.aspx");
    routes.MapPageRoute("aboutUs", "About-Us", "~/AboutUs.aspx");
    ...//so on and so forth
}

我还将此添加到Application_BeginRequest,以便将Home.aspx转发到同一Global.asax中的Main:

protected void Application_BeginRequest(object sender, EventArgs e)
{
    if (HttpContext.Current.Request.Url.AbsolutePath.Contains("Home.aspx"))
    {
        HttpContext.Current.Response.Redirect("~/Main");
    }
}

这样,任何尝试转到“Home.aspx”的请求都将路由到“Main”,这只在第一次加载时发生。路由适用于我项目中的所有页面。

现在,当我将代码发布到我的网站并启动网站时,这就是URL出现的地方:

www.MyWebSite.com/Main

如何隐藏URL末尾的“Main”并使其如下所示:

www.MyWebSite.com

〜谢谢

1 个答案:

答案 0 :(得分:0)

将Home.aspx配置为"默认页面"在Web服务器中。