我在我的asp.net网站上使用url路由。我把colde放在glocal.asax Application_Start事件中,无效
Application_Start(object sender, EventArgs e)
{
// Code that runs on application startup
RouteTable.Routes.MapPageRoute("routedetail",
"alllist/special/{Name}",
"~/sub/mydetail.aspx");
RouteTable.Routes.MapPageRoute("routelist",
"alllist/special",
"~/sub/mylist.aspx");
RouteTable.Routes.MapPageRoute("routehtml", "alllist/myhtml.html", "~/sub/to.aspx");
}
在我的本地开发和iis7中,每件事情都可以。错误在于在线托管 “routehtml”不起作用。访问被拒绝封闭。它是否为.html扩展名?我怎样才能解决这个问题。任何建议......
答案 0 :(得分:0)
尝试将其放入global.asax
void Application_BeginRequest(object sender, EventArgs e)
{
HttpApplication app = sender as HttpApplication;
if(app.Request.Path.IndexOf("FriendlyPage.html") > 0)
{
app.Context.RewritePath("/UnfriendlyPage.aspx?SomeQuery=12345");
}
}
答案 1 :(得分:0)
您可能需要检查主机服务器上的IIS 7应用程序池是否处于集成模式。如果不是,它将无法工作。 虽然您不需要它,但您也可以在Application_Start事件的顶部将RouteExistingFiles属性设置为false。