我将此代码添加到我的Global.asax中,但是Url重写不起作用。
void RegisterRoutes(System.Web.Routing.RouteCollection routes)
{
routes.MapPageRoute("My-Account", "{page}", "~/myaccount.aspx");
routes.MapPageRoute("Login", "Login", "~/login.aspx");
}
void Application_BeginRequest(object sender, EventArgs e)
{
RegisterRoutes(System.Web.Routing.RouteTable.Routes);
}
答案 0 :(得分:0)
首先:确保web.config
中存在以下代码<system.webServer>
...
<modules runAllManagedModulesForAllRequests="true"></modules>
...
</system.webServer>
第二:确保您使用的是.NET Framework4.0的应用程序池
第三:确保aspx文件存在
答案 1 :(得分:0)
您需要在应用程序启动时注册路由,而不是开始请求!此外,你的第一条规则胜过任何其他规则。订单很重要。
答案 2 :(得分:0)
在system.web
下的网络配置中尝试此操作 <system.web>
<urlMappings enabled="true">
<add url="~/myaccount" mappedUrl="myaccount.aspx"/>
</urlMappings>
代码隐藏文件写入
Response.redirect("~/myaccount")`
这100%