`
huanglz19871030
  • 浏览: 248850 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

urlRewrite重写技术的运用(转)

 
阅读更多

如何增强你网站中地址的可读性和让搜索引擎快速的收录到你的站点,这就需要你美化你的网页的地址,也就是我们常说的Url重写技术,大家熟悉的可能有很多服务器都提供Url重写的技术,以前我们用的最多的就是Apache,Jboss这样一些服务器自带的一些Url重写,但是他们的配置比较麻烦,性能又不是太好,现在我们有专一的开源框架来完成Url重写任务,今天我要介绍的就是UrlRewriter。使用起来比较简单,配置是相当的简单明了。

     我们先简单的了解一下使用Url重写能给你网站带来哪些好处。
    第一:有利于搜索引擎的抓取,因为现在大部分的搜索引擎对动态页面的抓取还比较弱,它们更喜欢抓取一些静态的页面。而我们现在的页面大部分的数据都是动态的显示的。这就需要我们把动态页面变成静态的页面,有利于搜索引擎的抓取。
    第二:让用户更容易理解,很少有用户去关心你网站的页面的地址,但对一般的大中型网站增强可读性还是必须的。这样会让你的网站更加完美。
    第三:隐藏技术的实现,我们可以通过Url重写可以实现技术的隐藏。不至于暴露你所采用的技术,给一些想攻击你网站的爱好者提供方便。
    第四:可以很方便的重用,提高网站的移植性。如果我们后台方法改动的话,可以保证前台的页面部分不用改。这样就提高了网站的移植性。

   它虽然有这么多的优点,但是也有一点缺点的,因为它是通过过滤器原理来实现的,就以为着又多了一道访问,会多少影响点访问速度的,这个可以忽略不计的。
   现在UrlRewriter技术有两个技术平台的,一个就是在Java方向的,另一个就是.NET方向的。今天我们讲的是Java方向的应用。
   首先让我们了解它的工作原理,说白了它就是一个简单的过滤器(Filter) ,看看源码你就会很快的明白,它就是通过我们在jsp中常用的两个方法实现的forward(),sendRedirect().
   下面我们就快速的为你的网站搭建Url重写技术。
   第一步:下载urlrewrite-2.6.0.现在最新版本是3.1的。
   http://tuckey.org/urlrewrite/dist/urlrewritefilter-2.6.zip[/url
   http://urlrewritefilter.googlecode.com/files/urlrewritefilter-3.1.0.zip
   把urlrewrite-2.6.0.jar拷到classpath下。

   第二步:在WEB-INF目录下建一个urlrewrite.xml文件。

   第三步:在web.xml中初始化。加上下面的代码:

  1.   <!-- Set URL Rewrite-->  
  2. <filter>  
  3.  <filter-name>UrlRewriteFilter</filter-name>  
  4.  <filter-class>  
  5.   org.tuckey.web.filters.urlrewrite.UrlRewriteFilter   
  6.  </filter-class>  
  7. </filter>  
  8. <filter-mapping>  
  9.  <filter-name>UrlRewriteFilter</filter-name>  
  10.  <url-pattern>/*</url-pattern>  
  11. </filter-mapping>  

    最后我要简单的讲一下常用的两个配置规则.以下就是简单的urlrewrite.xml配置片段。不要习惯Java的命名法把它写成urlRewrite.xml,这样即使你加上

  1. <init-param>  
  2.    <param-name>confPath</param-name>  
  3.    <param-value>/WEB-INF/urlRewrite.xml</param-value>  
  4.  </init-param>  

  在启动的服务器的时候还是会报错的,因为源码中必须是全小写的(urlrewrite.xml)且只能放到WEB-INF下面。

  1.     <?xml version="1.0" encoding="utf-8"?>  
  2. !DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 2.6//EN"   
  3.        "http://tuckey.org/res/dtds/urlrewrite2.6.dtd">  
  4. urlrewrite>  
  5.  <rule>  
  6.  <from>^/(\w+)/(\w+)/page_(\d+)\.html$</from>  
  7.  <to type="forward">/$1.htm?category=$2&page=$3</to>  
  8. </rule>  
  9.  <rule>  
  10.     <from>^/rss/yahoo\.html$</from>  
  11.       <to type="redirect">    [url]http://add.my.yahoo.com/rss? url=http://feed.feedsky.com/W3CSSiteFeed[/url]   
  12.      </to>  
  13. </rule>  
  14. /urlrewrite>  

   所有的规则配置都写在这里。第一个常用个规则就是站内的简单重写。

  1. <rule>  
  2.   <from></from>  
  3.   <to type="forward></to>  
  4. </rule>  
  5.   <from></from>写上你自己定义的访问地址,<to type="forward></to>就是实际的访问地址。比如我们实际的访问地址是:http://yousite.com/entity.htm ?category=userpage=2.而我们想把它重写为http://yousite.com/entity/uesr/page_2.html。这样看起来比我们实际的要好看的多。我们就应该这样的写:     
  6. <rule>  
  7.   <from>^/(\w+)/(\w+)/page_(\d+)\.html$</from>  
  8.   <to type="forward">/$1.htm?category=$2&page=$3</to>  
  9.  </rule>  

 简单的介绍一下常用的正规表示式:  
代码 说明 
. 匹配除换行符以外的任意字符 
\w 匹配字母或数字或下划线或汉字 
\s 匹配任意的空白符 
\d 匹配数字 
\b 匹配单词的开始或结束 
^ 匹配字符串的开始 
$ 匹配字符串的结束

常用的&要用  &amp;来表示。$1,$2代表与你配置正规表达式/(\w+)/(\w+)/相对应的参数。<to type="forward">默认的是 type="forward".
  另一个常用的规则就是连接外部的网站。就要用到。<to type="redirect">

  1. <rule>  
  2.     <from>^/rss/yahoo\.html$</from>  
  3.       <to type="redirect">    [url]http://add.my.yahoo.com/rss? url=http://feed.feedsky.com/MySiteFeed[/url]   
  4.      </to>  
  5. </rule>  

   我们的网站用到最多的无非就这两种规则。至于正规表达式的写法很多种。希望对有感兴趣的朋友,可以试试。

分享到:
评论

相关推荐

    UrlRewrite域名重写

    UrlRewrite是一个强大的URL管理工具,常用于ASP.NET应用程序中,它允许开发者通过自定义规则对网站的URL进行重写和转换。这个技术的核心在于提供更友好的、搜索引擎优化(SEO)的URL,同时也可以帮助解决网站迁移或...

    urlrewrite重写URL伪静态请求路径.

    标题 "urlrewrite重写URL伪静态请求路径" 涉及到的是Web开发中的一个重要概念——URL重写,这是为了优化网站的SEO(搜索引擎优化)和用户体验而进行的一种技术手段。URL重写允许我们将复杂的动态URL转换为简洁、易于...

    urlrewrite重写demo

    **URLRewrite重写技术详解** 在Web开发中,URL重写是一种常用的技术,它能够帮助我们优化网站的URL结构,提高用户体验,并且对于搜索引擎优化(SEO)也具有积极影响。`URLRewrite`是Apache的开源项目Tuckey提供的一...

    urlrewrite url地址重写

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

    Asp.Net URL重写-URLReWrite

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

    使用urlrewrite重写struts2的action

    3. **创建urlrewrite.xml**:在你的项目的`WEB-INF`目录下创建`urlrewrite.xml`文件。这个文件将包含所有的URL重写规则。例如,如果你想将`/struts2示例.action?name=张三`重写为`/example/张三`,可以编写如下规则...

    url重写组件,URLRewrite

    “URLRewrite”再次确认我们讨论的是特定的URL重写技术;而“.net伪静态”则表示这是在.NET环境中实现的,用于创建静态URL外观的功能。 在压缩包的文件名称列表中,我们看到以下几个文件: 1. `RewriterTester.dll...

    UrlReWrite(Url重写或伪静态)

    在Web开发中,URL重写技术对于提升用户体验、优化搜索引擎排名(SEO)以及维护网站结构的整洁性具有重要意义。 **一、URL重写的基本原理** URL重写的核心是通过服务器端的规则配置,将用户请求的实际动态URL转换为...

    urlrewrite地址重写实例配置说明

    **URLRewrite地址重写**是Web开发中一个重要的技术,它主要用于优化和管理网站的URL,使得URL更友好、更具可读性,同时也能够实现动态URL到静态URL的转换,提升SEO效果。URLRewrite通常与Apache的mod_rewrite或者在...

    IIS Urlrewrite2

    1. **安装**:下载并安装IIS URL重写2的扩展,通常是`IIS Urlrewrite2.exe`文件,通过IIS Manager进行安装。 2. **添加规则**:在IIS Manager中选择目标站点,然后在“管理服务”下找到“URL重写”,点击“添加规则...

    URLRewrite URL重写组件

    URLRewrite是一款广泛应用于ASP.NET应用程序中的URL重写工具,它允许开发者通过修改HTTP请求的URL来实现各种功能,如优化SEO(搜索引擎优化)、隐藏内部结构、提供友好的URL以及实现负载均衡等。该组件基于IIS的URL...

    asp net UrlReWrite Url重写或伪静态 完美示例源码

    URL重写通常通过`UrlRewrite`模块来实现,这是一个由IIS(Internet Information Services)提供的组件。 在ASP.NET中,我们可以使用`HttpModule`和`RewriteRules`来创建自定义的URL重写规则。例如,我们可以将一个...

    urlrewrite2伪静态与使用文档(IIS)

    标题“urlrewrite2伪静态与使用文档(IIS)”涉及到的是在IIS(Internet Information Services)服务器环境中,使用urlrewrite2模块实现URL重写和伪静态功能的技术内容。URL重写是Web开发中的一项关键技术,它允许...

    urlrewrite技术研究总结成果

    3. URLRewrite的主要应用场景: - SEO优化:通过创建易于理解和记忆的URL,提升搜索引擎的排名。 - 动态网站静态化:隐藏真实的动态参数,使URL看起来更像静态页面,提高服务器性能。 - URL重定向:当网站结构...

    UrlRewrite.rar

    《URL重写技术详解——基于UrlRewrite工具的实践指南》 在Web开发领域,URL重写是一项重要的技术,它能够使网站的URL更加友好、简洁,提高用户体验,同时也有利于搜索引擎优化(SEO)。本篇文章将围绕“UrlRewrite....

    UrlReWrite(Url重写或伪静态)完美示例源码

    Url重写技术,通常以Apache的mod_rewrite模块和IIS的UrlRewrite模块为代表,是Web服务器中的一个重要功能,用于优化网站的URL结构,提高用户体验并有助于搜索引擎优化(SEO)。在本示例源码中,我们将深入理解Url...

    URLRewrite.dll

    本文将深入探讨`URLRewrite.dll`的工作原理、应用及其源码示例程序,以帮助开发者更好地理解和运用这一技术。 一、URL重写与伪静态技术 URL重写是通过服务器端的规则配置,将用户请求的实际URL(如包含参数的动态...

    urlrewrite-maven-example.zip

    《URLRewrite:掌握网页地址重写的关键技术》 URLRewrite是一款强大的URL管理工具,尤其在Java Web应用中广泛使用,它可以帮助开发者实现URL的重写和转换,以达到优化URL、隐藏真实路径、提高SEO效果等目的。在本篇...

    netcn_URLRewrite

    3 最重要的 在象Google Yahoo 和 Live 这样的搜索引擎中提高你网站上网页的搜索相关性 具体来说 URL重写经常能使你在你网站上"&gt;什么是UrlRewrite UrlRewrite 是 将动态页面转换为静态页面的一种技术 例如 您网站...

    URLrewrite-实例

    《URL重写技术详解——基于Java的URLrewrite实践》 在Web开发中,URL重写(URL Rewrite)是一项重要的技术,它允许我们以更友好、更可读的方式隐藏实际的URL路径,从而提升用户体验和搜索引擎优化(SEO)。本文将...

Global site tag (gtag.js) - Google Analytics