urlRewriteFilter地址重写

原创 2013年12月04日 11:49:55

这里只说明一点,先看如下xml代码:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 3.2//EN"
        "http://tuckey.org/res/dtds/urlrewrite3.2.dtd">
<!--
    Configuration file for UrlRewriteFilter
    http://tuckey.org/urlrewrite/
-->

<urlrewrite>
   
    <rule>
        <from>/noParams.html</from>
        <to type="forward">noParams.action</to>
    </rule>
    
    <rule>
        <from>^/withParams/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/withParams.html</from>
        <to type="forward">withParams.action?username=$1&offset=$2&pageSize=$3&fieldName=$4</to>
    </rule>
    
    <rule>
        <from>^/withParams2/([a-zA-Z0-9]+).html$</from>
        <to type="redirect">%{context-path}/withParams.action?username=$1</to>
    </rule>
    
    <rule>
		<note>admin by user</note>
		<from>/admin/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/index.html</from>
		<to type="forward">/admin/index.jsp?username=$1&offset=$2&pageSize=$3&fieldName=$4</to>
	</rule>
    
</urlrewrite>

发送的请求地址:<from>/noParams.html</from>
被隐藏的地址:<to type="forward">noParams.action</to>

请求地址应该是:

noParams.html
也就是先请求noParams.html,会跳转到noParams.action,这个逻辑感觉有点反。输入之前需要先记住规则。

web.xml

<!-- urlRewriteFilter -->
    <filter>
        <filter-name>UrlRewriteFilter</filter-name>
        <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
        <init-param>
            <param-name>logLevel</param-name>
            <param-value>WARN</param-value>
        </init-param>
    </filter>
    
    <filter-mapping>
        <filter-name>UrlRewriteFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    
	<!-- struts filter -->
	<filter>
		<filter-name>struts2</filter-name>
		<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>struts2</filter-name>
		<url-pattern>*.action</url-pattern>
        <dispatcher>REQUEST</dispatcher>
        <dispatcher>FORWARD</dispatcher>
        <dispatcher>INCLUDE</dispatcher>
 	</filter-mapping>





SpringMVC框架下使用UrlRewrite实现地址重写

做伪静态的好处有哪些? 1.最主要的是为了搜索引擎方便搜索引擎蜘蛛(Spider)来抓取主页上的相关内容; 2.提高用户对主页的信任度; 3.影响网站在搜索引擎的排名中...
  • LOVELONG8808
  • LOVELONG8808
  • 2017年10月30日 10:51
  • 326

Urlrewritefilter——Url重写过滤器

作用     Urlrewritefilter,通过java的Filter过滤器对URL进行重写,用户得到的全部都是经过处理后的URL地址,本质上通过伪地址进行页面跳转,隐藏真实地址,提高网...
  • akkzhjj
  • akkzhjj
  • 2015年04月30日 23:09
  • 2077

URL(基础三) UrlRewriteFilter的使用注意事项

2,在web.xml中添加过滤器,如下所示:              UrlRewriteFilter         org.tuckey.web.filters.urlrewrite.Url...
  • zengdeqing2012
  • zengdeqing2012
  • 2014年05月14日 16:30
  • 1275

java使用urlrewritefilter实现网站伪静态

什么是伪静态? 伪静态字面理解就是假的静态,说的官方点就是“地址重写,用户得到的全部地址都是经过处理后的URL地址”。 为什么要伪静态呢? 提高安全性,可以有效的避免一些参数名、ID...
  • kite30
  • kite30
  • 2016年07月31日 22:54
  • 3124

Nginx配置URL重写

Nginx, URL重写
  • dutsoft
  • dutsoft
  • 2017年02月14日 19:14
  • 3170

web访问中Urlrewritefilter 对url进行替换配置

1.Urlrewritefilter说明 2.网络资源 3.使用步骤 (1)导入urlrewrite-2.6.0.jar ,配置web.xml (2)WEB-INF里面新建urlrewrite.x...
  • fujunsfzh
  • fujunsfzh
  • 2016年10月24日 13:31
  • 1378

URLRewrite地址重定向的实现

UrlRewrite就是我们通常说的地址重写,用户得到的全部都是经过处理后的URL地址。其优点有: (1)提高安全性,可以有效的避免一些参数名、ID等完全暴露在用户面前,如果用户随便乱输的话,不符合规...
  • haishu_zheng
  • haishu_zheng
  • 2016年06月03日 17:00
  • 12596

Nginx实战(二) URL重写

Rewrite主要的功能就是实现URL的重写,Nginx的Rewrite规则采用PCRE Perl兼容正则表达式的语法规则匹配,如果需要Nginx的Rewrite功能,在编译Nginx之前,需要编译安...
  • u012486840
  • u012486840
  • 2016年10月11日 13:25
  • 1895

什么是url重写

什么是url重写? URL 重写是拦截客户端传入 Web 请求URL并自动将其定向到到规则指定的 URL 的过程。比如浏览器发来请求 http://blog.mocoder.com/hello.ht...
  • zhangxtn
  • zhangxtn
  • 2015年10月30日 18:34
  • 6617

c#中获取URL重写前的原始地址

在ASP.NET中,如果你使用了URL重写,通过HttpContext.Request获取到的是重写后的地址。如果这个地址要返回给客户端(比如Redirect),我们一般希望是重写前的友好地址。 通...
  • hezudao25
  • hezudao25
  • 2013年08月19日 17:55
  • 2254
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:urlRewriteFilter地址重写
举报原因:
原因补充:

(最多只允许输入30个字)