【问题标题】:How to implement Dynamic url rewriting in asp.net [closed]如何在asp.net中实现动态url重写[关闭]
【发布时间】:2013-03-05 21:52:33
【问题描述】:

我正在使用 VS 2010。我创建了一个网站,我想在其中进行 url 重写。

我有我的所有文件,即 admin 和用户文件夹中的 aspx 文件。

在我的应用程序中,管理员创建用户,然后如果用户在地址栏中输入www.domian.com\[username]\,那么这应该会导致我的应用程序中的用户文件夹

我想要这种类型的url重写。

www.domain.com\\[Dynamic user]\login.aspx

如果这可以实现,请建议我。

任何建议将不胜感激。

【问题讨论】:

  • 是的,它是可以实现的,而且它被回答了很多次,我投票关闭这个副本。请在发布此类问题之前先使用谷歌并进行一些研究。不要为这里试图保持网站清洁的人创造更多的工作。
  • ASP.NET URL Rewriting的可能重复

标签: c# asp.net url url-rewriting


【解决方案1】:

查看这些文章,了解如何使用 UrlRoutingModule:

您可以使用在System.Web.Routing 命名空间中定义的内置路由来使用控制器,也可以构建自己的IRouteHandler : IHttpHandler 实现类。

基本上第一个定义它们的地方是Global.asax 或派生的System.Web.HttpApplication 类,处理Application_Start 事件。

void Application_Start(object sender, EventArgs e)
{
    // Code that runs on application startup
    RouteTable.Routes.MapPageRoute("routeName",
    "{controller}/{action}", "~/Store/View.aspx");
}

因为IRouteHandler 正在包装IHttpHandler.ProcessRequest,所以路由发生在Application_BeginRequest 事件之后。

如果您不想使用System.Web.Routing 命名空间,使用UrlRoutingModuleIRouteHandler,则只有IHttpHandlers,如StaticFileHandlerSystem.Web.Page(ASP.NET WebForm 'aspx' IHttpHandler )。

至少你可以创建一个简单的 ASP.NET WebHandler .ashx 文件(最简单的 IHttpHandler)。

所以你说实施......

值得注意的是,旧 .NET 框架和 IIS 上的 ASP.NET 无法重写任何内容。阅读“IIS ASP.NET 集成管道”。

也许您的问题的最佳答案可能是“不具建设性”、“重复”或简单地说使用搜索,执行 google 并说“asp.net url routing堆栈溢出”。

【讨论】:

  • 给出上面的链接说明你可以在应用程序开始时注册你想要路由的 url。Application_Start 事件在应用程序第一次运行时只运行一次。这是我的问题我不知道会发生什么是用户名,即 www.domain.com\cj 首先我需要检查用户 cj 是否存在于数据库中,如果是,则向他显示用户文件夹中的内容
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-07
  • 2010-09-12
  • 2018-12-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多