`
liuwang126
  • 浏览: 180326 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

urlrewrite实现伪静态化

    博客分类:
  • java
 
阅读更多

1.示例

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

 

2.好处

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

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

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

       urlrewrite顾名思义,就是对URL进行重写,用户得到的全部都是经过处理后的URL地址,这样做我觉得好处有三:

一:提高安全性,可以有效的避免一些参数名、ID等完全暴露在用户面前,如果用户随便乱输的话,不符合规则的话直接会返回个404或错误页面,这比直接返回500或一大堆服务器错误信息要好的多
二:美化URL,去除了那些比如*.do之类的后缀名、长长的参数串等,可以自己组织精简更能反映访问模块内容的URL
三:更有利于搜索引擎的收入,通过对URL的一些优化,可以使搜索引擎更好的识别与收录网站的信息

 

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。

    <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>

  (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中配制

      <rule>
  <from>^/company/([0-9]+).html$</from>
  <to>/goods/company.jsp?companyId=$1</to>
  </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中配制 

      <outbound-rule>
  <from>^/urlrewriteDemo/goods/company.jsp\?companyId=([0-9]+)$</from>
  <to>/urlrewriteDemo/company/$1.html</to>
  </outbound-rule>

    同时页面中的超链接需经过response.encodeUrl(url)转化,或采用<C:URL>标签进行转化。如:  

    <c:url value="/goods/company.jsp?companyId=${goods.company.companyId }" var="tempUrl"></c:url>
<a href="${tempUrl }"> ${goods.company.companyName }</a>
    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.DEMO源码地址

  http://download.csdn.net/detail/junliu0930/3881220

 

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

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

 

分享到:
评论
1 楼 向奕昌 2012-06-13  
不错,很好的处理我的问题

相关推荐

    java urlrewrite 实现伪静态化 demo源码

    java urlrewrite 实现伪静态化 demo源码 http://www.cnblogs.com/liujun0930/archive/2011/12/05/2276553.html

    Url Rewrite 实现jsp页面伪静态化_凌风_.doc

    Url Rewrite 实现jsp页面伪静态化_凌风_.doc

    Url Rewrite Filter实现页面伪静态化,简单实例及步骤

    本例把它命名为:UrlRewrite,在创建的时候,选择勾选“Add JSTL libraries to WEB-INF/lib folder ”(注:因为项目中会用到jstl 核心标签库),然后再把urlrewrite-2.6.0.jar导入到项目Bulid Path路径下,最后再加入...

    Discuz!价值199元的SEO伪静态 商业版v1.3

    实现版块URL目录化伪静态; 实现帖子URL目录化伪静态; 支持将帖子标题写进URL,实现帖子URL中文化; 实现分区伪静态; 实现主题分类列表页伪静态; 实现分类信息列表页伪静态; 实现列表页帖子入口统一,比如主题...

    ASP.NET的UrlRewrite URL重写伪静态实例

    结构以上事实,然后伪静态技术产生了,规范的说就是URL重写技术,他对于ASPX格式支持最好,当然也可以重写HTML格式的文件,但这需要IIS的设置,相对比来说,ASPX格式的更方便,本站就是采用了该URL重写技术,这个...

    不用mod_rewrite直接用php实现伪静态化页面代码

    不用mod_rewrite直接用php代码实现伪静态效果,大家看后就会发现php真的很方便

    飞翔非主流伪静态缓存开源版 v2.0

    第二套开源非主流内容主题站,网站界面简洁美观...·实现全站URL路径伪静态功能,让各大搜索引擎收录更加友好; ·提供可根据栏目名称自动优化SEO功能,让你轻松拥有来自搜索引擎带来的自然流量。 使用方法:

    飞翔非主流伪静态缓存开源版 v2.0.rar

    ·实现全站URL路径伪静态功能,让各大搜索引擎收录更加友好; ·提供可根据栏目名称自动优化SEO功能,让你轻松拥有来自搜索引擎带来的自然流量。 使用方法: ·你可以下载IIS代替工具来本地修改这些信息,...

    spring+springmvc+mybatis项目案例实现用户角色权限管理

    使用spring+springmvc框架 ...使用了urlrewrite filter进行地址重写,实现伪静态页面 使用了sitemesh对网页进行布局和修饰 使用了loginFilter对访问进行登录过滤 使用了CheckCodeServlet生成验证码图片

    ASP经典下载系统Downplus v2.2 MSSQL商业版.zip

    支持软件和文章的动态列表页,可使用URLRewrite实现伪静态的列表页 自定义静态文件存放目录,自定义文件名的前缀和后缀(htm,shtml,asp).自定义生成静态文件时的模式(ASCII,Unicode). 后台管理员多级权限管理,允许...

    iCMS Plus (原DreamArticle) V5.1 Build 20110220.rar

    功能说明: 支持无限级的分类与子分类...增加伪静态模式生成伪静态规则 增加rewrite.php文件 增加模板文件 forum.bloglist.htm 更换默认模版样式 增强代码清理功能 iCMS:list TAG模式增加 [ indexId!= ] 方法

    MTCEO文库系统 v2.6.zip

    SEO:支持不同的SEO规则、SEO优化设置需求,支持多样化的Rewrite设计、URL网址规则; 3,无需转换软件 无论你是虚拟空间还是独立服务器,无需转换文档,只需要在官方的开放平台拥有appkey 就可以进行文档预览并...

    TXTCMS内容管理系统(不用数据库) x1.1

    常用的伪静态规则文件在 temp/rewrite 文件夹里,IIS或者apache直接复制里面的文件到根目录即可 注:temp文件夹要有读写权限 TXTCMS功能简介: 1.文章管理 2.缓存管理 3.广告管理 4.友情链接 5.搜索引擎爬行记录 6....

    PHPCMS 企业黄页模块 v9 UTF-8 正式版.zip

    15、启用/关闭伪静态时,支持批量更新商家主页导航菜单、分类、商家信息的URL地址; 16、商家按模型发布信息,支持无权模型提示并跳转到升级会员组页面; 17、支持商家完善商家资料、地图标注、资质证书添加、前台...

    PHPCMS 企业黄页模块 v9 GBK 正式版.zip

    15、启用/关闭伪静态时,支持批量更新商家主页导航菜单、分类、商家信息的URL地址; 16、商家按模型发布信息,支持无权模型提示并跳转到升级会员组页面; 17、支持商家完善商家资料、地图标注、资质证书添加、前台...

    UZCMS镜像采集系统(万能克隆小偷程序) v1.0.rar

    2. 全站伪静态.html结尾:无论您偷取什么样的网站,ASP,PHP,ASPX,本程序都会在内部自动转换参数,全部以.html伪静态方式结尾,如果您觉得我们默认的URL路径不好用或者不喜欢,没关系!我们为您准备了各种服务 器...

    v5shop V8.3源代码下载

    融合了全站生成HTML静态页面和URL伪静态全面整合同步登陆,让你可以更随意的选择适合你网站的静态化模式; 链接规划: 针对网站链接结构和目录构架多进行了系统的规划,让整套系统更符合搜索引擎智能机器人胃口; ...

    TXTCMS内容管理系统(不用数据库) x1.2

    常用的伪静态规则文件在 temp/rewrite 文件夹里,IIS或者apache直接复制里面的文件到根目录即可 注:temp文件夹要有读写权限 TXTCMS内容管理系统 x1.2更新日志: 1.修复父栏目列表不显示子栏目文章 2.后台编辑器...

    MTCEO文库系统 v2.6

    SEO:支持不同的SEO规则、SEO优化设置需求,支持多样化的Rewrite设计、URL网址规则; 3,无需转换软件 无论你是虚拟空间还是独立服务器,无需转换文档,只需要在官方的开放平台拥有appkey 就可以进行文档预览并生成...

Global site tag (gtag.js) - Google Analytics