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

UrlRewriter技术简单运用

    博客分类:
  • Java
阅读更多

如何增强你网站中地址的可读性和让搜索引擎快速的收录到你的站点,这就需要你美化你的网页的地址,也就是我们常 说的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
   第二步:在WEB-INF目录下建一个urlrewrite.xml文件。
   第三步:在web.xml中初始化。加上下面的代码:
   <!-- Set URL Rewrite-->
 <filter>
  <filter-name>UrlRewriteFilter</filter-name>
  <filter-class>
   org.tuckey.web.filters.urlrewrite.UrlRewriteFilter
  </filter-class>
 </filter>
 <filter-mapping>
  <filter-name>UrlRewriteFilter</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>
    最后我要简单的讲一下常用的两个配置规则.以下就是简单的urlrewrite.xml配置片段。不要习惯Java的命名法把它写成urlRewrite.xml, 这样即使你加上
<init-param>
   <param-name>confPath</param-name>
   <param-value>/WEB-INF/urlRewrite.xml</param-value>
 </init-param>
  在启动的服务器的时候还是会报错的,因为源码中必须是全小写的(urlrewrite.xml)且只能放到WEB-INF下面。
     <?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 2.6//EN"
        "http://tuckey.org/res/dtds/urlrewrite2.6.dtd ">
<urlrewrite>
  <rule>
  <from>^/(\w+)/(\w+)/page_(\d+)\.html$</from>
  <to type="forward">/$1.htm?category=$2&amp;page=$3</to>
 </rule>
  <rule>
     <from>^/rss/yahoo\.html$</from>
       <to type="redirect">    http://add.my.yahoo.com/rss? url=http://feed.feedsky.com/W3CSSiteFeed
      </to>
 </rule>
</urlrewrite>
   所有的规则配置都写在这里。第一个常用个规则就是站内的简单重写。
<rule>
  <from></from>
  <to type="forward></to>
</rule>
  <from></from>写上你自己定义的访问地址,<to type="forward></to>就是实际的访问地址。比如我们实际的访问地址是:http://yousite.com/entity.htm ?category=user&page=2.而我们想把它重写为http://yousite.com/entity/uesr/page_2.html 。这样看起来比我们实际的要好看的多。我们就应该这样的写:  
<rule>
  <from>^/(\w+)/(\w+)/page_(\d+)\.html$</from>
  <to type="forward">/$1.htm?category=$2&amp;page=$3</to>
 </rule>
   简单的介绍一下常用的正规表示式:
 
代码说明
. 匹配除换行符以外的任意字符
\w 匹配字母或数字或下划线或汉字
\s 匹配任意的空白符
\d 匹配数字
\b 匹配单词的开始或结束
^ 匹配字符串的开始
$ 匹配字符串的结束
常用的&要用  &amp;来表示。$1,$2代表与你配置正规表达式/(\w+)/(\w+)/相对应的参数。<to type="forward">默认的是 type="forward".
  另一个常用的规则就是连接外部的网站。就要用到。<to type="redirect">
 <rule>
     <from>^/rss/yahoo\.html$</from>
       <to type="redirect">    http://add.my.yahoo.com/rss? url=http://feed.feedsky.com/MySiteFeed
      </to>
 </rule>

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

2
0
分享到:
评论
2 楼 flyinglife 2008-07-28  
wuhua大牛谦虚。。。。。。。。


同样学习了。顶博主,谢谢博主
1 楼 wuhua 2008-07-26  
很好。学习了,不错的文章

相关推荐

    URLRewriter

    4. 变量隐藏:隐藏敏感信息或技术细节,如查询参数,增强网站安全性。 5. 路由管理:支持动态路由,使URL与后台处理逻辑更好地匹配。 四、URLRewriter的使用 在微软环境中,引入URLRewrite库后,开发者需要在Web....

    urlrewriter实例

    ASP.NET URLRewriter是一个强大的工具,它允许...从入门到精通,理解并熟练运用URLRewriter的各个层面,将使你的Web应用在可读性和功能性上都有显著提升。通过逐步学习和实践,你将能够充分利用这个工具带来的好处。

    UrlRewriter2_51

    《UrlRewriter2_51:理解与应用URL重写技术》 UrlRewriter2_51是一款专门用于处理和管理URL重写的工具,它基于ASP.NET环境,为开发者提供了强大的URL管理功能,使得网站的URL更加友好、简洁且易于理解。在本文中,...

    URLRewriter.rar

    《URLRewriter组件详解及其在...通过深入理解和合理运用URLRewriter,开发者可以创建出更高效、更易维护的Web应用程序。在实际项目中,我们需要根据具体需求,灵活配置和调整规则,以充分发挥URLRewriter组件的优势。

    UrlRewriter地址重写.NET源码.RAR

    《UrlRewriter:深入理解.NET中的URL重写技术》 URL重写是Web开发中一个重要的概念,它允许我们以更友好的、可SEO优化的形式来呈现...理解并熟练运用UrlRewriter,对于提升网站用户体验和搜索引擎优化具有深远意义。

    ASP.NET源码——UrlRewriter.NET地址重写示例程序3阶段.zip

    ASP.NET 是微软开发的一种用于构建动态网站、web应用程序和web服务的开源框架。在这个特定的压缩包中,我们关注的是UrlRewriter...在实践中,开发者可以根据项目的具体需求,灵活运用这些知识来定制自己的URL重写规则。

    URLRewriter.dll

    《ASP.NET URL重写技术与URLRewriter.dll的深度解析》 在ASP.NET开发中,URL重写是一项关键的技术,它...通过理解和熟练运用URL重写技术,开发者可以更好地控制和优化网站的URL结构,从而提高网站的整体性能和价值。

    UrlRewriter 伪静态

    UrlRewriter是一个强大的URL重写工具,常用于ASP.NET应用程序中,目的是为了实现更友好的SEO(搜索引擎优化)和用户体验。...对于新手开发者,理解并熟练运用这一技术能显著提升网站的质量和专业性。

    UrlRewriter.dll (Url重写)

    总结来说,URL重写是提升网站性能和用户体验的关键技术,`UrlRewriter.dll`和`ActionlessForm.dll`提供了在.NET环境中实现这一功能的工具。通过理解并熟练运用这些工具,开发者可以创建出更加高效、用户友好的网站。

    UrlRewriter Java v2.0 RC1-urlrewriterjava【计算机毕业设计】

    UrlRewriter Java v2.0 RC1 是一个用于Java Web应用程序的URL重写工具,它在Web开发中扮演着至关重要的角色,特别是在实现SEO...在进行计算机毕业设计时,熟练掌握并运用这种技术,可以显著提升项目的质量和专业性。

    PageAdmin伪静态组件及规则下载组件forv3.0版

    伪静态技术就是将动态URL转换为看似静态的URL,但实际网站内容仍然是动态生成的。这在PageAdmin系统中,通过UrlRewriter组件得以实现。 UrlRewriter.dll是这个组件的核心文件,它是一个.NET Framework下的DLL库,...

    BIN里的DLL文件

    在IT行业中,尤其是在Web开发领域,DLL(动态链接库)文件是至关重要的组成部分。这些文件包含可重用的代码和资源,多个应用程序可以...理解并熟练运用这些技术,能帮助开发者构建更高效、安全且用户友好的Web应用。

Global site tag (gtag.js) - Google Analytics