`

urlrewrite可以将动态的URL进行伪静态

 
阅读更多

urlrewrite可以将动态的URL进行伪静态,比如把
xxxx.jsp?id=1转为http://xxxx/xxx/1
这里发现一个好工具:tuckey urlrewrite,使用方法如下:

1 下载urlrewrite,官方下载地址:http://tuckey.org/urlrewrite/dist/urlrewritefilter-2.6.zip

2 放到项目的LIB包中
3 建立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">    
  
<!--    
  
Configuration file for UrlRewriteFilter    
http://tuckey.org/urlrewrite/    
  
-->    
<urlrewrite>    
    <rule>    
        <from>^/([a-z]+)$</from>    
        <to type= "forward" >/world.jsp?id=$1</to>    
    </rule>    
    <rule>  
        <from>^/world/(.*)$</from>  
        <to>/world.jsp?tid=$1</to>  
    </rule>  
    <rule>  
        <from>^/(.*).html$</from>  
        <to>/test1/$1.jsp</to>  
    </rule>  
       
    <outbound-rule>    
        <note>    
        The outbound-rule specifies that when response.encodeURL is called (if you are using JSTL c:url)    
        the url /rewrite-status will be rewritten to /test/status/.    
           
        The above rule and this outbound-rule means that end users should never see the    
        url /rewrite-status only /test/status/ both in thier location bar and in hyperlinks    
        in your pages.    
        </note>    
        <from>/rewrite-status</from>    
        <to>/test/status/</to>    
    </outbound-rule>  
</urlrewrite>  
<?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">

<!--

Configuration file for UrlRewriteFilter
http://tuckey.org/urlrewrite/

-->
<urlrewrite>
<rule>
<from>^/([a-z]+)$</from>
<to type= "forward" >/world.jsp?id=$1</to>
</rule>
<rule>
    <from>^/world/(.*)$</from>
    <to>/world.jsp?tid=$1</to>
</rule>
<rule>
<from>^/(.*).html$</from>
<to>/test1/$1.jsp</to>
</rule>

<outbound-rule>
<note>
The outbound-rule specifies that when response.encodeURL is called (if you are using JSTL c:url)
the url /rewrite-status will be rewritten to /test/status/.

The above rule and this outbound-rule means that end users should never see the
url /rewrite-status only /test/status/ both in thier location bar and in hyperlinks
in your pages.
</note>
<from>/rewrite-status</from>
<to>/test/status/</to>
</outbound-rule>
</urlrewrite>


  rule是url重写规则,from是显示出来的地址,to是映射的实际地址,$1是重写参数,可以为多个,()里是匹配的正则表达式.
  比如:
  <rule>  
        <from>/(.*)/login.htm</from>  
        <to type="forward">/yui/login.htm?name=$1</to>  
    </rule>

  http://localhost:8080/app/abc/login.htm其实际请求的url为http://localhost:8080/app/yui/login.htm?name=abc

4 配置WEB.XML
  <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>
<listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/urlrewrite.xml </param-value>
</context-param>

分享到:
评论

相关推荐

    UrlRewrite实现伪静态

    在本文中,我们将深入探讨如何使用UrlRewrite来实现伪静态,并了解其配置过程。 1. **什么是URL重写**: URL重写是指将动态URL转换为静态或者看似静态的URL,以提升网站的可读性和美观性。动态URL通常包含多个参数...

    URLRewrite.dll 伪静态

    要使用URLRewrite.dll实现伪静态,你需要进行以下步骤: 1. **安装URLRewrite模块**:首先确保你的IIS服务器已经安装了URLRewrite模块,如果没有,可以通过Web Platform Installer进行安装。 2. **配置rewrite规则*...

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

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

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

    在ASP.NET中,`UrlRewrite`模块同样可以用于实现伪静态。例如,可以设置规则将`/product.aspx?id=123`转换为`/product/123.html`。这样做不仅可以优化SEO,还可以避免用户看到带有`.aspx`扩展名的URL,提升用户体验...

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

    描 述:UrlReWrite(Url重写或伪静态)完美示例源码 UrlReWrite(Url重写或伪静态)完美示例源码,已利用ActionlessForm解决原始地址form回传的问题 例如:/products.aspx?category=books 转换为/products/Books....

    Url Rewrite伪静态组件64位

    伪静态是一种技术手段,通过URL重写规则将动态网址转换成静态网址的外观,但实际上服务器处理的仍然是动态请求。这种技术在不改变原有动态网站架构的情况下,可以提高网页的加载速度,同时对搜索引擎更加友好。 `...

    UrlReWrite(Url重写或伪静态)

    UrlRewrite是一个强大的URL管理工具,它主要用于将复杂的URL转换为简单、易记且友好的形式,这个过程被称为URL重写或伪静态处理。在Web开发中,URL重写技术对于提升用户体验、优化搜索引擎排名(SEO)以及维护网站...

    Discuz! X2 配置URL伪静态Rewrite规则

    Discuz! X2 配置URL伪静态Rewrite规则,里面详细讲解了apache服务器下 Discuz! X2 配置URL伪静态Rewrite规则和IIS下得Discuz! X2 配置URL伪静态Rewrite规则

    伪静态 urlrewrite

    `URLRewrite`是一个基于Apache开源项目Tuckey开发的过滤器,它可以方便地对URL进行重写,实现动态请求到静态URL的转换。 1. **什么是伪静态**: 伪静态是一种技术手段,通过将动态网页的URL转换为类似静态页面的...

    java urlrewrite 实现伪静态化 demo源码

    URLRewrite的核心概念是规则配置,通过定义一系列规则,可以将带有参数的动态URL转换成看似静态的URL。例如,将一个动态的URL "/product?id=123" 转换为更直观的 "/product/123"。这种转换不仅有利于搜索引擎爬虫的...

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

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

    伪静态URLRewrite实例解析

    ### 伪静态URLRewrite实例解析 #### 一、伪静态URLRewrite概念与作用 在Web开发领域,为了提高用户体验、便于搜索引擎抓取以及优化网站结构,常常需要对URL进行美化处理,这就是所谓的“伪静态”。通过将动态URL...

    netcn_URLRewrite

    UrlRewrite 是 将动态页面转换为静态页面的一种技术 例如 您网站页面是 http: www yourdomain com news docread aspx id 123 为什么使用UrlRewrite: 1 处理这样的情形:你要更改你的web应用中网页的结构 但你...

    用urlrewrite实现实现伪静态的例子

    在本例子中,我们将探讨如何使用URLRewrite模块来为ASP.NET网站实现实现伪静态。 首先,我们需要理解为什么需要伪静态。静态网页易于被搜索引擎抓取,而动态网页往往因为参数过多、变化频繁而不利于爬虫。因此,将...

    伪静态_URLRewrite实例解析

    UrlRewrite Filter是一个开源的URL重写过滤器,它可以对HTTP请求的URL进行修改,从而实现伪静态效果。它是基于Tuckey组织开发的,适用于Java Web应用。 3. **配置Web工程**: - 创建一个新的Web项目,并添加JSTL...

    伪静态组件Rewrite

    总的来说,"伪静态组件Rewrite"是网站优化的重要组成部分,通过灵活运用RewriteRule和RewriteCond,我们可以定制出满足各种需求的URL重写策略,以达到提升网站性能和SEO效果的目的。在实际操作中,需要对正则表达式...

    使用URL Rewrite实现网站的伪静态实例(urlrewritefilter-4.0.3)

    在这个实例中,我们将深入探讨如何利用`URL Rewrite`工具,特别是`UrlRewriteFilter 4.0.3`版本,来实现网站的伪静态功能。 `UrlRewriteFilter`是一个基于Apache开源项目Tuckey的Java过滤器,用于在Web应用中执行...

    IISURL伪静态下载 rewrite_2.0_rtw_x64.msi

    IIS URL重写模块则是一个用于实现URL伪静态化的重要工具,它可以改善网站的SEO优化,提升用户体验,并简化网站的管理。"rewrite_2.0_rtw_x64.msi" 是IIS URL重写模块的安装包,专为64位系统设计,是实现IIS伪静态...

Global site tag (gtag.js) - Google Analytics