我在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
〜谢谢
答案 0 :(得分:0)
将Home.aspx配置为"默认页面"在Web服务器中。