`
yangle926
  • 浏览: 58355 次
  • 性别: Icon_minigender_1
  • 来自: 洛阳
社区版块
存档分类
最新评论

在ASP.NET中重写URL

    博客分类:
  • .NET
 
阅读更多
目标:将网页地址伪静态
实现:在Global.asax中改写:
protected void Application_BeginRequest(object sender, EventArgs e)
{    
    string pattern = @"(MagazineContent)(\d+)(.aspx)";
    MyRewritePatht(pattern);//将MagazineContentAjax.aspx?id=n改写为MagazineContentn.aspx的形式(n为参数,注意调用的方法为MyRewritePatht,与下面的不同)
    string pattern1 = @"(Dynamiccontend)(\d+)(.aspx)"; 
    MyRewritePath(pattern1);//将Dynamiccontend.aspx?id=n改写为Dynamiccontendn.aspx的形式
    string pattern2 = @"(MagazineCategoryList)(\d+)(.aspx)"; 
    MyRewritePath(pattern2);//将Dynamiccontend.aspx?id=n改写为Dynamiccontendn.aspx的形式
    string pattern3 = @"(MagazineCategoryList1)(\d+)(.aspx)";
    MyRewritePath(pattern3); //将MagazineCategoryList1.aspx?id=n改写为MagazineCategoryList1n.aspx的形式
    string pattern4 = @"(MagazineCategoryList2)(\d+)(.aspx)"; 
    MyRewritePath(pattern4);//将MagazineCategoryList2.aspx?id=n改写为MagazineCategoryList2n.aspx的形式
}

protected void MyRewritePath(string pattern) 
{
    string oldUrl = HttpContext.Current.Request.RawUrl;
    Match m = Regex.Match(oldUrl, pattern, RegexOptions.IgnoreCase | RegexOptions.Compiled);
    if (m.Success)
    {
        string newUrl = Regex.Replace(oldUrl, pattern, "$1$3?id=$2", RegexOptions.Compiled | RegexOptions.IgnoreCase);
        this.Context.RewritePath(newUrl);
    }
}

protected void MyRewritePatht(string pattern)
{
    string oldUrl = HttpContext.Current.Request.RawUrl;
    Match m = Regex.Match(oldUrl, pattern, RegexOptions.IgnoreCase | RegexOptions.Compiled);
    if (m.Success)
    {
        string newUrl = Regex.Replace(oldUrl, pattern, "$1Ajax$3?id=$2", RegexOptions.Compiled | RegexOptions.IgnoreCase);
        this.Context.RewritePath(newUrl);
    }
}

前台页面:
将原有的代码做相应的修改(注意参数位置的变化),如:
<a href='MagazineContent.aspx?id=<%# Eval("id") %>' target="_blank">详细...</a>
改为:<a href='MagazineContent<%# Eval("id") %>.aspx' target="_blank">详细...</a>
分享到:
评论

相关推荐

    ASP.NET中重写URL

    以下将详细介绍四种在ASP.NET中实现URL重写的方法。 ### 方法一:Web.config配置 在ASP.NET中,最常用且基础的URL重写方式是通过修改`Web.config`文件来实现。在`&lt;system.webServer&gt;`节点下添加`&lt;rewrite&gt;`节点,...

    Asp.Net URL重写-URLReWrite

    在本文中,我们将深入探讨ASP.NET URL重写的核心概念、工作原理以及如何配置和使用。 **1. URL重写的基本概念** URL重写是一种技术,它允许服务器在接收到客户端请求时改变请求的目标URL,而不会影响客户端浏览器...

    asp.net url重写 demo

    在这个“asp.net url重写 demo”项目中,我们看到使用了Intelligencia.UrlRewriter.dll组件来实现这一功能,这是一个广泛使用的开源URL重写库,适用于.NET Framework 3.5。 首先,让我们了解URL重写的基本原理。URL...

    asp.net 实现对url的重写

    在ASP.NET中,URL重写是指在内部处理请求时,将用户输入的原始URL转换为不同的内部处理URL。这主要通过IIS服务器模块或ASP.NET应用程序中的HTTP模块来实现。URL重写的核心在于创建一个规则集,这些规则定义了如何将...

    asp.net 中的url重写

    下面将详细探讨URL重写的概念、原因、实现方法以及在ASP.NET中的应用。 1. **URL重写概念**: URL重写是Web应用程序的一种技术,它允许服务器根据预定义的规则将请求的URL转换为另一个URL。这种转换在后台发生,...

    asp.net Url重写与动态生成静态页面

    在提供的压缩包文件"UrlRewrite"中,可能包含了ASP.NET URL重写的配置示例或者相关的代码实现,可以帮助你更好地理解和应用这些技术。学习并熟练掌握这些知识,对于提升ASP.NET应用的性能和SEO优化有着极大的帮助。...

    ASP.NET URL重写示例

    开发者可以参考这个博客,了解如何在自己的ASP.NET项目中实现URL重写,提升用户体验并优化网站的搜索引擎可见性。 总之,ASP.NET URL重写是通过自定义URL规则改善网站架构和用户体验的重要技术。通过URLRewriter库...

    ASP.NET MVC URL重写与优化

    在ASP.NET MVC框架中,URL重写和优化能够使应用程序的网址更加美观、可读,同时还能帮助隐藏技术细节,提高网站的SEO(搜索引擎优化)效果。 **URL重写** 1. **原理**:URL重写是指在服务器端将用户请求的实际URL...

    asp.net url重写

    在ASP.NET中,可以通过URL重写将带有参数的动态URL转换为没有扩展名或看起来像目录结构的静态URL。这样不仅可以提高用户体验,还能帮助搜索引擎更好地理解和索引网页。 四、SEO优化 搜索引擎更喜欢简洁、语义明确...

    asp.net2.0的URL重写例子

    URL 重写技术在 ASP.NET 中主要通过 `HttpModule` 和 `UrlRoutingModule` 类实现。下面将详细介绍 ASP.NET 2.0 的 URL 重写机制及其应用。 1. **URL 重写原理**: URL 重写是服务器端的一种技术,当用户请求一个...

    在ASP.NET中重写URL的代码

    **原理介绍**:`Request.PathInfo` 是ASP.NET中一个相对较少被提及的功能,它返回URL中位于文件名后的部分路径信息。通过这种方式,我们可以构造出不含查询字符串的URL,使得每个类别看起来像是独立的URL。 **示例*...

    asp.net c# Url重写和无扩展名Url重写

    无扩展名URL重写则是URL重写的一个特殊形式,它消除了URL中的文件扩展名,如`.aspx`或`.ashx`。这种重写方式可以使URL看起来更加简洁,同时也可能提高SEO效果,因为搜索引擎往往更喜欢没有扩展名的URL。在实现无扩展...

    ASP.NET URL重写示例-vs2010

    在本文中,我们将深入探讨ASP.NET URL重写技术,以及如何在Visual Studio 2010环境下进行实现。 首先,让我们理解URL重写的基本原理。URL重写技术主要涉及改变用户请求的实际URL,而服务器内部处理的却是不同的地址...

    asp.net url重写(URLRewriter)

    3. 网站迁移:在网站结构发生变化时,通过重写URL可以保证旧链接仍然有效。 4. 重定向:将不再使用的URL重定向到新的位置,避免404错误。 五、实现方式 在ASP.NET中,URL重写可以通过以下几种方式实现: 1. 使用...

    在asp.net 中使用URL重写向(重写)技术

    在ASP.NET中,实现URL重写主要依赖于`System.Web.Routing`命名空间中的`Route`类。下面将详细介绍如何使用`Route`类进行URL重写,以及相关的源码实例。 1. **安装和配置** 首先,确保你的项目引用了`System.Web....

    asp.net url 重写组件

    在ASP.NET中,URL重写规则通常在`Global.asax.cs`文件的`Application_Start`方法中配置。开发者可以通过添加`Route`对象到`RouteTable.Routes`集合来定义规则。例如: ```csharp void Application_Start(object ...

    用ASP.NET实现URL重写

    用ASP.NET实现URL重写 用ASP.NET实现URL重写 用ASP.NET实现URL重写 用ASP.NET实现URL重写 用ASP.NET实现URL重写 用ASP.NET实现URL重写 用ASP.NET实现URL重写 用ASP.NET实现URL重写

    asp.net url重写实例

    在ASP.NET中,这通常是通过IIS(Internet Information Services)的URL重写模块或者第三方库如UrlRewriter完成的。 首先,让我们深入了解一下ASP.NET中的URL重写原理。在默认情况下,ASP.NET应用程序处理请求时,...

Global site tag (gtag.js) - Google Analytics