现在做的项目中需要对需要跳转的url,比如用的是struts2的话都是.action现在要改成html结尾的。例如现在有一个这样的url: http://localhost/tologin.action?name=java 我们需要转换成这样的url:http://localhost/tologin--name--java.html 。这个url和淘宝上的是不是有一点像啊。
要的就是这个效果。因为这样的话一些搜索引擎能比较容易搜到,也就是你的网页的曝光率也就高,随之带来的也就是你的网站访问量也会变高。
那我们就来做这个。
1. 首先下一个urlrewrite-3.2.0.jar 并将其复制到WEB-INF/lib目录。
2.配置你的web.xml文件:
<filter> <filter-name>UrlRewriteFilter</filter-name> <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class> </filter> <filter-mapping> <filter-name>UrlRewriteFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
也就是加个过滤器,注意这个过滤器要加在配置文件的开始,为什么,我想大家都知道吧。
然后要写一个urlrewrite.xml。
<rule> <from>^/([a-zA-Z0-9\-]{36}).shtml$</from> <to>/News.do?method=view&uuid=$1</to> </rule>
这个是核心配一下,其他的一些标签自己看一下,上面的正则表达式可以研究一下。
不过在和struts2或者sitemesh一起使用的时候注意一下。因为在mapping中把几种请求方式都添加进去。以防没有过滤器没有效果。这个谁是默认的请求,经过过滤后是什么请求,我也不是很请求,但是我知道如果没有过滤的话,我知道是与请求的方式有关。还请高手在指教!~