`
xiaoboss
  • 浏览: 642396 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

URLRewirte实现url地址伪静态化

    博客分类:
  • java
阅读更多

满足搜索引擎的要求
某些搜索引擎不能支持动态页面的抓取,大量的信息就不能被潜在用户搜索到。用UrlRewrite 技术你可以把 http://server/news.asp?id=111 变成 http://server/news/111.htm 这样他们就会被搜索引擎收录了。google虽然可以抓取动态页面,但是google对动态页面的评分一般低于静态页面。所以,对大量信息发布的网站,把网站地址改变成静态的绝对是值得的。

2、隐藏技术实现,提高网站的移植性
每个页面都挂着鲜明的.asp/.jsp这种开发语言的标记,可以一眼让人看出你的网站使用什么语言做的。而且在改变网站的语言的时候,你需要改动大量的链接。而且,一个页面修改了扩展名,他的pagerank也会随之消失,从头开始。我们可以用UrlRewrite技术隐藏我们的实现细节,这样修改移植都很方便,而且完全不损失pagerank。

3、满足美感的要求
对于追求完美主义的网站设计师,即使是网页的地址也要看起来简洁明快。形如 http://server/news.asp?channel=3&id=111 的网页地址,肯定是上不了完美主义者的法眼的,用UrlRewrite技术,你可以把他变成 http://server/news/3/111.htm

 

部署

1.首先在http://tuckey.org/urlrewirte/ 下载urlrewirtefilter
2.解压所下载的文件,把urlrewrite-2.6.0.jar复制到项目的WebRoot/WEB-INF/lib/目录下,然后编译
3.把urlrewrite.xml复制到项目的WebRoot/WEB-INF/目录下
4.在web.xml文件中加入filter
<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
1.普通url静态化 例如:
要把http://localhost/prjtest/user/list.jsp 转换成http://localhost/prjtest/user/list.html 这种是最简单的,当一个servlet跳转到list.jsp页面列出user列表时,在urlrewrite.xml中这样配置:
<rule>
<from>^/user/list.html</from>
   <to>/user/list.jsp</to>
</rule>
  当请求/user/list.html这个页面时,实际上相当于请求/user/list.jsp页面
在servlet的跳转要这样写:
response.sendRedirect("./user/list.html");
2.带参数的url静态化 例如:
要把http://localhost/prjtest/user/view.jsp?cid=1&cname=admin 转换成http://localhost/prjtest/user/view/1_admin.html 在urlrewrite.xml中这样配置:
<rule>
<from>^/user/view/([0-9]+)_([a-z]+).html$</from>
<to>/user/view.jsp?cid=$1&cname=$2</to>
</rule>
当请求/user/view/1_admin.html这个页面时,实际上相当于请求/user/list.jsp?cid=1&cname=admin页面在servlet的跳转要这样写(cid,cname为变量):response.sendRedirect("./user/view/"+ cid +"_"+ cname +".html");
注意:配置文件中用"&amp;"来代替"&"
maven 中配置:
      <dependency> 
            <groupId>org.tuckey</groupId> 
            <artifactId>urlrewritefilter</artifactId> 
            <version>3.2.0</version> 
        </dependency>
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics