0

我将此代码添加到我的 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);
}
4

3 回答 3

1

在 system.web 下的 web config 中试试这个

  <system.web>
    <urlMappings enabled="true">
      <add url="~/myaccount" mappedUrl="myaccount.aspx"/>
    </urlMappings>

在文件后面的代码中写入

Response.redirect("~/myaccount")`

这工作 100%

于 2014-02-26T12:25:09.277 回答
0

首先:确保 web.config 中存在以下代码

<system.webServer>
    ...
    <modules runAllManagedModulesForAllRequests="true"></modules>
    ...
</system.webServer>

第二:确保您使用的是.NET Framework4.0 的应用程序池

第三:确保aspx文件存在

于 2012-12-15T13:18:08.057 回答
0

您需要在应用程序开始时注册路线,而不是开始请求!此外,您的第一条规则胜过任何其他规则。订单很重要。

于 2012-12-15T13:20:23.207 回答