java urlrewrite实现伪静态化

转载 2016年05月31日 16:26:34

1.示例

  http://www.onlyfun.com/goods/company.jsp?companyId=455326 ==> http://www.onlyfun.com/company/455326.html

 

2.好处

  (1)更好满足搜索引擎要求;

  (2)更美观,给用户带来更良好的体验;

  (3)安全性(页面,参数,技术)。

 

3.实现

  (1)第三包urlrewrite;(2)Apache HTTP Server 2.x配制mod_proxy,Rewrite;(3)struts、springMVC reset风格等。

 

4.urlrewrite示例

  (1)下载2.6或3.X版jar包导至项目。下载地址:http://www.tuckey.org/urlrewrite/ (以3.2为示例)。

  (2)解压下载文件,将urlrewritefilter-3.2.0\WEB-INF\lib\ urlrewrite-3.2.0.jar,导入工程。

  (3)将urlrewritefilter-3.2.0\WEB-INF\ urlrewrite.xml,加入至工程WEB-INF目录下。

  (4)web.xml添加如下代码(在urlrewrite.xml中可找到),拦截请求,对匹配的请求进行rewrite。

Xml代码 复制代码 收藏代码
  1. <filter>  
  2.       <filter-name>UrlRewriteFilter</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>WARN</param-value>  
  7.       </init-param>  
  8.  </filter>  
  9.  <filter-mapping>  
  10.       <filter-name>UrlRewriteFilter</filter-name>  
  11.       <url-pattern>/*</url-pattern>  
  12. </filter-mapping>  

  

  (5)urlrewrite.xml中配制需实现静态化的请求。

 

5.urlrewrite.xml配制

  (1)rule配制

    处理伪静态化地址。如

    将请求为http://www.onlyfun.com/company/455326.html转至http://www.onlyfun.com/goods/company.jsp?companyId=455326进行处理,

    地址栏中仍显示为http://www.onlyfun.com/company/455326.html,在urlrewrite.xml中配制

Xml代码 复制代码 收藏代码
  1. <rule>   
  2.          <from>^/company/([0-9]+).html$</from>   
  3.          <to>/goods/company.jsp?companyId=$1</to>  
  4. </rule>  

 

    <from>通过正则表达式对请求进行匹配</from>

    <to>实际请求地址</to>

 

  (2)outbound-rule配制 

    将页面的超链接选项转化为伪静态化,如:

    http://www.onlyfun.com/goods/company.jsp?companyId=455326 转化为 http://www.onlyfun.com/company/455326.html,在urlrewrite.xml中配制 

Xml代码 复制代码 收藏代码
  1. <outbound-rule>  
  2.           <from>^/urlrewriteDemo/goods/company.jsp\?companyId=([0-9]+)$</from>  
  3.           <to>/urlrewriteDemo/company/$1.html</to>  
  4. </outbound-rule>  
  
    同时页面中的超链接需经过response.encodeUrl(url)转化,或采用<C:URL>标签进行转化。如:  
    
Java代码 复制代码 收藏代码
  1. <c:url value="/goods/company.jsp?companyId=${goods.company.companyId }" var="tempUrl"></c:url>  
  2. <a href="${tempUrl }"> ${goods.company.companyName }</a>  
 
Java代码 复制代码 收藏代码
  1. response.encodeURL(URL);  
 

  

  (3)注意:转义&=>&amp;  ?=>/?等。

 

6.参考资料

  urlrewrite.xml配置http://www.tuckey.org/urlrewrite/manual/2.6/#filterparams

  正则表达式http://download.oracle.com/javase/1.4.2/docs/api/java/util/regex/Pattern.html

  本地查看示例http://localhost:8080/projectname/rewrite-status


 

7.apache整合404找不到地址问题

  httpd.conf中配制,伪路径由tomcat进行处理。

java项目——URLRewrite实现url地址伪静态化

大部分搜索引擎都会优先考虑收录静态的HTML页面,而不是动态的*.jsp、*.php页面。但实际上绝大部分网站都是动态的,不可能全部是静态的HTML页面,因此互联网上 大部分网站都会考虑伪静态——就...

java学习笔记--springboot集成UrlRewrite实现URL伪静态化[jar包和war包]

前言 最近项目seo那边提出,要将所有的URL都做成伪静态的URL,虾米?有木有搞错!?项目都完成了好不好?改需求项目还不延期? 而且,我还是一个刚毕业的两百斤的宝宝好不好,我不会呀。。。 于是,我...

【项目实战】——Java实现伪静态——urlrewrite

记得在大学《网页设计》一课上,写过不少网页,最后结课时,还为我的家庭和大学宿舍各做了一个小型静态网站《MyFamily》和《七匹狼与一头猪》,都是用记事本写的纯html,期间做过不少修修改改,比如嫌这...

使用UrlRewrite实现URL伪静态化

1.首先在下载urlrewirtefilter 2.解压所下载的文件,把urlrewrite-2.6.0.jar复制到项目的WebRoot/WEB-INF/lib/目录下 3.把urlrewr...
  • thjnemo
  • thjnemo
  • 2011年11月15日 13:45
  • 322

jsp使用URLRewrite实现url地址伪静态化

1.1URLRewirte的用处 1.满足搜索引擎的要求。 2.隐藏技术实现,提高网站的移植性。 3.满足美感的要求(个人感觉这个用处太牵强)。 1.2项目部署 1.首先在http://tu...

URLRewrite实现url地址伪静态化

一般在java项目开发中,我们采用struts或者spring作为MVC框架,这两种框架在使用上都是通过配置文件或注解或约定规则来根据url匹配到相应的java类方法,一般情况下,我们采用包名+类名+...

URLRewrite 实现URL地址伪静态化

UrlRewrite    A Java Web Filter for any compliant web application servers (such as Tomcat,JBoss, Je...
  • jj88888
  • jj88888
  • 2014年12月03日 17:23
  • 1354

JSP页面静态化总结之一使用URLRewrite实现url地址伪静态化

1使用URLRewrite实现url地址伪静态化1.1URLRewirte的用处 1.满足搜索引擎的要求。 2.隐藏技术实现,提高网站的移植性。 3.满足美感的要求(个人感觉这个用处太牵强)。 1....

UrlRewrite实现伪静态

  • 2011年08月22日 17:08
  • 23KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java urlrewrite实现伪静态化
举报原因:
原因补充:

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