`

UrlRewrite Filter下载 配置及如何使用【转】

 
阅读更多
1 下载地址:http://tuckey.org/urlrewrite/#download

下载的文件(Binary
的)结构简单:urlrewrite.xml和lib文件夹下的一个.jar


2 .jar文件放入项目的lib库中,urlrewrite.xml和web.xml放在一块。修改web.xml,添加以下配置:
<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>


我觉得
/*这样的通配,并不符合我的预期,我只想对部分路径进行URL的重写,/*可能会造成我想象不到的或者是许微不足道的性能浪费.我把它改成了我需要的:
<filter-mapping>
    <filter-name>UrlRewriteFilter</filter-name>
    <url-pattern>/member/*</url-pattern>
</filter-mapping>

<filter-mapping>
    <filter-name>UrlRewriteFilter</filter-name>
    <url-pattern>/article/*</url-pattern>
</filter-mapping>

等...

3 .urlrewriter.xml的配置
先提一下urlrewriter.xml中原有的几个例子:
<rule>
     <from>/some/old/page.html</from>
     <to type="redirect">/very/new/page.html</to>
</rule>

/**从一个文件到另一个文件的转发   如果不使用正则表达式,这样的配置真是把简单的问题复杂化了**/
<rule>
      <from>/some/olddir/(.*)</from>
      <to type="redirect">/very/newdir/$1</to>
</rule>

/**重定向到一个目录 我觉得实际应用中可能用得不多**/
<rule>
       <from>/products/([0-9]+)</from>
       <to>/products/index.jsp?product_id=$1</to>
</rule>

/**这种是最常用的,通过正则对请求路径进行匹配,并把分组作为参数 ,实际转到到<to>的路径**/

说明一下,如果你在Filter配置中使用了所有路径通配符<url-pattern>/*</url-pattern>
在配置
urlrewriter.xml中的<from>时,随便怎么写路径无所谓,但若象我一样使用了
<url-pattern>/memeber/*</url-pattern>,那么在<from>标签中也要写上
/memeber/(你的正则分组)
以便在访问与<from>匹配的路径时,Filter能够执行


最后一点,不得不说,举个例子
<rule>
   <from>/member/(.*)</from>
   <to>/html/member.do?username=$1</to>
</rule>

<rule>
   <from>/article/(.*)</from>
   <to>
/html/article.do?articleid=$1</to>
</rule>
<rule>
   <from>/member/article/(.*)</from>
   <to>
/html/another/article.do?articleid=$1</to>
</rule>

当你访问http://localhost/member/article/1111 会显示哪一个页面呢?
结果应该不是意想中的/html/another/article.do?articleid=1111.
我想大概是因为<from>中的路径,相当于filter中的
<url-pattern>

 

分享到:
评论

相关推荐

    urlrewrite包和配置文件

    urlrewritefilter-4.0.3.jar urlrewrite.xml举例 web.xml(filter的配置)

    Url_Rewrite_Filter

    主要用于在web应用中配置,进行url的重写,美化网站链接

    VC编写的URL Rewrite dll,支持 asp和asp.net

    与使用正则表达式的ISAPI Filter(简称IF)Rewrite产品不同,本IF用简单配置实现虚拟URL与实际处理的Web程序映射,优劣自鉴。以下为配置示例: [bbsfiles] ext = /bbsfiles/[*] mapto = /printinfo1.asp [aspx] ext=/...

    超级注意复杂整合环境中的Filter-Mapping的顺序--配置单点登陆及UrlRewrite有感

    博文链接:https://davylee.iteye.com/blog/157550

    urlrewritefilter-4.0.3.jar

    urlrewrite是个过虑器,它将会过虑用户的所有请求,符合规则的便对其进行重定向。rule结点中from的规则默认使用的是正则表达式来匹配的,当用户访问服务器时的URL会与该配置相比较,如果符合规则就会按照下面to结点...

    UrlRewriter Java v2.0 RC1

    而且使用本组件,您无需安装任何类似于ISAPI Rewrite filter的ISAPI组件。本组件是免费开源的,遵循MIT-style licence开源协议。 UrlRewriter.NET是一个非常棒的搜索引擎优化(Search Engine Optimization,简称SEO...

    服务器iis安全专家.zip

    URLRewrite 目前,大部份站点采用,isapi-rewrite litte与Asp.net来实现URL重写,MYIIS-VIF能提供细化到域名站点的重写策略,一次加载,多次使用,使URL 的内部转化接近0,同时能不重新启动IIS的情况下使配置生效...

    MVC学习资料

    要解决这个问题,一个办法是使用IIE URL Rewrite Extension,但是它配置起来挺复杂的,所以在这里我们来利用MVC自己的特性来解决这一问题(通过注册全局的filter),添加如下class: public class ...

    C#(asp.net)的域名重写

    UrlRewriter.NET是一个开源的、轻量级、高配置的URL重写组件,支持ASP.NET 1.1 和ASP...而且使用本组件,您无需安装任何类似于ISAPI Rewrite filter的ISAPI组件。本组件是免费开源的,遵循MIT-style licence开源协议。

    Apache HTTP Server Version 2.2 文档(2013.4.10最新)

    mod_rewrite mod_setenvif mod_so mod_speling mod_ssl mod_status mod_suexec mod_unique_id mod_userdir mod_usertrack mod_version mod_vhost_alias mpmt_os2(MPM) Apache MPM 公共指令 mpm_netware(MPM) winnt...

    ZendFramework中文文档

    1. Introduction to Zend Framework 1.1. 概述 1.2. 安装 2. Zend_Acl 2.1. 简介 2.1.1. 关于资源(Resource) 2.1.2. 关于角色(Role) 2.1.3. 创建访问控制列表(ACL) ...14.5.5. Adding Filter ...

    webx3框架指南PDF教程附学习Demo

    这个优势主要是针对阿里巴巴及属下网站而言。因为Webx在阿里巴巴和淘宝用了很多年。对于这种超大访问量的电子商务网站,Webx经受了考验,被证明是成熟可靠的。 开放和扩展性 • 对Spring的直接支持 —— Spring是...

Global site tag (gtag.js) - Google Analytics