`
leiyinsu
  • 浏览: 30290 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

UrlRewrite 小结

    博客分类:
  • web
阅读更多

     UrlRewrite:UrlRewrite就是我们通常说的地址重写,用户得到的全部都是经过处理后的URL地址,类似于Apache的mod_rewrite。将我们的动态网页地址转化为静态的地址,如html、shtml,还可以隐藏网页的真正路径,比如:有时候需要将xxx.com/news/ type1/001.jsp 转化成显示路径为xxx.com/news_type1_001.html

     有点如下:

一:提高安全性,屏蔽内部的url结构.
二:美化URL
三:更有利于搜索引擎的收入,通过对URL的一些优化,可以使搜索引擎更好的识别与收录网站的信息.
【步骤一】下载文件
    在http://tuckey.org/urlrewrite/#download下载最新的jar文件,当前最新的是Beat3.2我用的是urlrewritefilter-2.6.zip。解压得到urlrewrite-2.6.0.jar 和 urlrewrite.xml
【步骤二】新建web项目TestUrlRewrite
    在WebRoot下新建index.jsp,修改其代码如下所示:
  1. <%@ page contentType="text/html; charset=UTF-8"%>    
  2. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">    
  3. <html>    
  4.        <head>    
  5.               <title>测试TestUrlRewrite</title>    
  6.        </head>    
  7.        <body>    
  8.               <%    
  9.                      String id = (String) request.getParameter("id");    
  10.                      out.println("<h3> the value is  : " + id +" </h3> ");    
  11.               %>      
  12. </body>    
  13. </html>   
【步骤三】添加urlrewrite文件
    将urlrewrite-2.6.0.jar复制到WebRoot\WEB-INF\lib下。

    将urlrewrite.xml复制到WebRoot\WEB-INF下,其中urlrewrite.xml代码如下所示:

    

  1. <?xml version="1.0" encoding="utf-8"?>    
  2. <!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 3.1//EN"   
  3.                         "http://tuckey.org/res/dtds/urlrewrite3.1.dtd">    
  4. <urlrewrite>  
  5.     <rule>  
  6.         <from>/(.*).html</from>  
  7.         <to>index.jsp?id=$1</to>  
  8.     </rule>  
  9. </urlrewrite>  

 

    *.html 是一个正则表达式的串。如果你对这个不理解可以学习一下java中正则表达式的应用。

    $1 也是一个正则表达式的语言匹配正则中的组捕获。

        【步骤四】修改web.xml 
  1. <filter>  
  2.     <filter-name>UrlRewriter</filter-name>  
  3.     <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>  
  4.     <init-param>  
  5.         <param-name>logLevel</param-name>  
  6.         <param-value>DEBUG</param-value>  
  7.     </init-param>  
  8. </filter>  
  9. <filter-mapping>  
  10.     <filter-name>UrlRewriter</filter-name>  
  11.     <url-pattern>/*</url-pattern>  
  12. </filter-mapping>  

 

【步骤五】重启tomcat

   访问http://localhost:8080/TestUrlRewrite/2.html,页面效果如图所示:

  

   注意:

 1.urlrewrite.xml是utf-8.所以如果你要在rule上加note标签为中文的话,也一定是要utf-8

 2.UrlRewriteFilter 最好是配置在web.xml的前面filter上,不然有可能对有些url转变失去作用.

 3.在写rule的时,如果有多个参数时,中间的连接符号&应该是&amp;

分享到:
评论
1 楼 zhangqi007 2013-09-03  

相关推荐

    ReWrite学习笔记小结

    比如,下面,我要实现这样的URL: http://xxx.com/0725 http://xxx.com/0726 http://xxx.com/0727 … 上面xxx.com是一个记录《今天是》这样的历史内容的一个测试站点。上面链接的意思,就是显示07月25日的历史...

    Bitrac单用户博客 v1.21.0.2300 bulid 090430.rar

    一定要确信 IIS 里面设置站点用的是 ASP.NET 2.0,还有就是一定记得修改 web.config 里 appSettings 小结内的相关内容。如果想把 BLOG 安装在子目录注意把 Bin,App_Data 目录和 Web.config 文件放到根文件夹,不过...

    Bitrac单用户博客 v1.21.0 bulid 090404 多国语版.rar

    一定要确信 IIS 里面设置站点用的是 ASP.NET 2.0,还有就是一定记得修改 web.config 里 appSettings 小结内的相关内容。如果想把 BLOG 安装在子目录注意把 Bin,App_Data 目录和 Web.config 文件放到根文件夹,不过...

    Bitrac单用户博客 v1.14 bulid 081006 多国语版

    一定要确信 IIS 里面设置站点用的是 ASP.NET 2.0,还有就是一定记得修改 web.config 里 appSettings 小结内的相关内容。如果想把 BLOG 安装在子目录注意把 Bin,App_Data 目录和 Web.config 文件放到根文件夹,不过...

    SEO编程PHP中文版

    1.4 小结 第2章 SEO基础知识 2.1 SEO概述 2.1.1 链接价值 2.1.2 Google PageRank 2.1.3 可用性和可达性 2.2 搜索引擎排名因素 2.2.1 页上因素 2.2.2 可见的页上因素 2.2.3 不可见的页上因素 2.2.4 基于...

    搜索引擎优化高级编程(PHP版)

    1.4 小结 第2章 SEO基础知识 2.1 SEO概述 2.1.1 链接价值 2.1.2 Google PageRank 2.1.3 可用性和可达性 2.2 搜索引擎排名因素 2.2.1 页上因素 2.2.2 可见的页上因素 2.2.3 不可见的页上因素 2.2.4 基于时间的因素 ...

    详解HTTP状态码

    您可能感兴趣的文章:Nginx下301重定向域名的方法小结Apache Rewrite实现URL的301跳转和域名跳转比较详细的win2003 IIS6.0 301重定向带参数的问题解决方法IIS7.5下301重定向的设置方法(及伪静态后301重定向出错案例)...

    设计REST风格的MVC框架

    本文内容包括:术语设计目标集成IoC设计请求转发集成模板引擎设计拦截器渲染扩展小结参考资料传统的JavaEEMVC框架如Struts等都是基于Action设计的后缀式映射,然而,流行的Web趋势是REST风格的架构。尽管使用Filter...

    HTTP错误500.19解决方法(定义了重复的节点)

    打开服务器的asp.net页面时出现这个错误: ...无法访问请求的页面,因为该页的相关配置数据无效。... 您可能感兴趣的文章:Nginx下301重定向域名的方法小结Apache Rewrite实现URL的301跳转和域名跳转比

Global site tag (gtag.js) - Google Analytics