`
isiqi
  • 浏览: 16341709 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

神马是url重写?

 
阅读更多

通常情况下服务器在处理浏览器端请求的时候都是通过浏览器发送的url路径来处理的,习惯上人们喜欢以“/”来分割url中的信息,比如:http://www.chepinhui.com/UserIndex/yinhuichao,而我们开发人员在开发的时候处理的url地址是这样的:http://www.chepinhui.com/UserIndex.aspx?un=yinhuichao

所以,为了迎合用户的喜好,并且方便用户记忆url地址,我们开发人员在开发的时候最好使用url重写技术。

还是拿前面那两个url地址来举例子,当用户在浏览器端输入第一个url地址请求的时候,我们服务器需要分析用户的url并且对用户的url进行处理,最后成为第二种url的形式,这样就可以访问到用户想要访问的页面,并且会把参数也一并传递给目的页面。

理解了什么是url重写,那么url重写技术到底怎么实现呢?

下面通过一个简单的例子来介绍url重写的具体用法:

1.首先添加一个名字为“UrlReWriterModule”项目类库。

2.在此类库中添加“System.Web”的引用。

3.添加一个名为“UrlReWriter”类,并实现IHttpModule接口。

4.在HttpApplication管道的BeginRequest 事件中注册方法,在此方法中分析用户的url并对url进行处理,最后返回通过处理后的url(即把请求交给特定的页面路径)。

5.具体代码如下:

class UrlReWrite : IHttpModule
    {
        public void Init(HttpApplication context)
        {
            //向请求管道里的第一个事件 BeginRequest 注册方法
            context.BeginRequest += BeginRequestChuLi;
        }
        void BeginRequestChuLi(object sender, EventArgs e)
        { 
            //完成url分析和url重写
            //1.获得执行当前页面请求管道的 httpApplication对象
            HttpApplication application = sender as HttpApplication;
            //2.获得上下文对象
            HttpContext context = application.Context;
            //3.获得当前请求的url(不包含域名和请求参数)
            string urlWithoutPara = context.Request.Url.LocalPath;

            //4.分析请求 url
            //4.1准备一个正则表达式   WebSite1/UserIndex/yinhuichao
            Regex reg = new Regex("/WebSite1/UserIndex/[A-Za-z0-9_]+");
            //4.2判断是否满足上面的正则表达式
            if (reg.IsMatch(urlWithoutPara))
            {
                //4.3截取用户名参数   WebSite1/UserIndex?un=yinhuichao
                string userName = urlWithoutPara.Substring(urlWithoutPara.LastIndexOf('/') + 1);
                //4.4进行重写
                context.RewritePath("../UserIndex.aspx?un=" + userName);
            }

        }

        public void Dispose()
        {

        }
    }

6.在要使用url重写的网站中添加上面项目类库的引用。

7.修改网站的配置文件(Web.config):在system.web节点下的httpModules节点下添加子节点:

<add neme=”urlReWriter” type=” UrlReWriterModule.UrlReWriter,UrlReWriterModule”/>

上面就是所谓的url重写的用法了,其使用到的原理就是在httpApplication请求管道中对用户输入的的url请求做相应的处理,最后把用户的请求url交给特定的页面(带上参数)。

分享到:
评论

相关推荐

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

    ASP.NET C# URL重写和无扩展名URL重写是两个关键的Web开发技术,用于改进网站的用户体验和搜索引擎优化(SEO)。它们涉及到对应用程序内部请求处理的方式,使得用户可以使用更加友好、易于记忆的URL,同时保持后端...

    URL重写URL重写URL重写

    **URL重写技术详解** URL重写是Web开发中一种重要的技术,主要用于优化网站的URL结构,使其更符合用户友好性和搜索引擎优化(SEO)的要求。简单来说,URL重写就是将用户请求的实际复杂URL转换为更加简洁、易读的...

    URL重写URL重写URL重写URL重写

    URL重写是Web开发中的一种技术,主要用于优化和管理网站的URL结构,使其更符合搜索引擎优化(SEO)标准,提高用户体验,并便于服务器管理和应用程序处理。这个技术主要涉及到服务器配置、HTTP请求处理以及URL路径与...

    URL重写URL重写

    URL重写是Web开发中的一种技术,主要用于优化和简化网站的访问URL,使其更符合用户的记忆习惯和搜索引擎的友好性。在本主题中,我们将深入探讨URL重写的概念、原理以及在实际应用中的常见方法。 一、URL重写概念 ...

    Url重写示例(无后缀Url重写)

    Url重写是Web开发中的一个重要概念,主要用于优化和管理网站的网址结构,使其更符合搜索引擎优化(SEO)标准,同时也可提升用户体验。无后缀Url重写是指在URL中不显示传统的文件扩展名,如.aspx、.html等,使网址看...

    C# url重写 C# url重写

    在IT行业中,URL重写是一项重要的技术,尤其是在Web开发领域,它可以帮助我们创建更美观、更易读且更友好的URL。C#是.NET框架下的主要编程语言,它提供了多种方式来实现URL重写。本篇文章将深入探讨C#中URL重写的...

    URL重写DEMOURL重写DEMO

    URL重写是Web开发中的一个重要概念,主要用于优化网站的URL结构,提高用户体验,以及更好地适应搜索引擎优化(SEO)的需求。在ASP.NET环境中,一个常用的URL重写库是UrlRewriting.Net,它允许开发者通过配置规则来...

    全球最著名的Url重写组件 UrlRewriter.NET

    灵活的URL重写可以让你的网站增加可用性和专业性。在帮助网站更好的被搜索引擎索引收录方面,这也是一个重要的...什么是URL重写? URL重写就是首先获得一个进入的URL请求然后把它重新写成网站可以处理的另一个URL的过程

    URL重写的一个例子

    URL重写是Web开发中的一种技术,主要用于优化和简化用户访问网站时的URL结构,使其更易读、更友好。这种技术通常与动态网站或基于框架的应用程序配合使用,例如ASP.NET、PHP、Java等。在本例中,我们将探讨URL重写的...

    java中的url重写

    Java 中的 URL 重写 Java 中的 URL 重写是一种常用的技术,它可以将原始的 URL 转换为另一个 URL,以便达到特定的目的。例如,隐藏真实的 URL、实现 URL 的加密、实现 URL 的重定向等。在 Java 中,有多种方式可以...

    Asp.Net URL重写-URLReWrite

    ASP.NET的URL重写(URLRewrite)是一个强大的功能,它允许开发者隐藏实际的Web页面地址,提供更友好的、可读性强的URL,从而提高用户体验和搜索引擎优化(SEO)。在本文中,我们将深入探讨ASP.NET URL重写的核心概念...

    自己写的url重写

    URL重写是Web开发中的一种技术,主要用于优化和简化用户在浏览器中输入的网址,使其更易读、更美观。这种技术通常与服务器配置、尤其是Apache HTTP Server或IIS等Web服务器上的设置密切相关。在本案例中,"自己写的...

    url重写工具,重写二级域名

    标题中的“url重写工具”指的是用于转换或重新映射网站URL的一种技术,它能够将不友好的、复杂的URL转化为用户友好的、简洁的形式。在.NET环境中,这通常通过使用IIS(Internet Information Services)的扩展性来...

    IIS URL 重写模块工具

    **IIS URL重写模块工具详解** IIS(Internet Information Services)是微软公司提供的一款强大的Web服务器,广泛应用于各类网站的部署与管理。在实际应用中,为了优化网站的URL结构,提高搜索引擎优化(SEO)效果,...

    URL 重写类 url class

    标题 "URL 重写类 url class" 涉及的核心技术是 URL 重写,这是一种优化网站 URL 结构,使其更美观、更易读的方法。在网页开发中,URL 重写通常用于实现 SEO(搜索引擎优化)友好和用户友好的网址。通过 URL 重写,...

    url重写软件rewrite规则

    标题中的“url重写软件rewrite规则”涉及到的是网站优化和管理的一个重要概念——URL重写。URL重写是通过特定的规则(通常基于HTTP服务器的模块,如IIS的URL Rewrite模块)将用户请求的不友好的、动态的或者包含查询...

    URL重写概念和例子

    ### URL重写概念和例子 #### 一、URL重写定义与作用 **URL重写**(Uniform Resource Locator Rewriting),是指在服务器端对原始的URL请求进行转换,使其变为另一种形式,以便更好地满足网站设计的需求。这种转换既...

    URLRewrite URL重写组件

    URL重写是将用户请求的实际URL转换为另一种形式,这个过程对用户透明,但服务器会根据新的URL执行不同的处理逻辑。这有助于提高网站的可访问性,同时使URL更具可读性和可记忆性。 ### 二、URLRewrite组件安装与配置...

    微软URL重写文件

    在IT行业中,URL重写是一项重要的技术,尤其在构建高效、友好的Web应用程序时。微软提供了多种工具和技术来实现URL重写,其中一个常见的方法是通过使用HttpModule。本篇文章将深入探讨URL重写的基本概念,以及如何在...

    urlrewrite url地址重写

    **URL重写技术详解** URL重写是一种在Web开发中常用的技术,主要用于优化网站的URL结构,提升用户体验,以及搜索引擎优化(SEO)。标题中的“urlrewrite”指的是使用特定的工具或框架来实现这一功能,例如Apache的...

Global site tag (gtag.js) - Google Analytics