先看两种URL的写法:
[quote]http://www.xxx.com/page.html?id=1001&pageid=2
http://www.xxx.com/page/1001_2.html[/quote]
目前很多网站喜欢用第二种写法来代替前面一种!
说到这里,很多人都知道用Apache URL Rewrite可以做。对于租用虚拟主机或者不容易修改Web服务器的用户来说,或许比较麻烦。
这里说另外个方法,通过UrlRewriteFilter插件,一个jar包和一个urlrewrite.xml配置文件就搞定。
下载地址:[url]http://tuckey.org/urlrewrite/#download[/url]
配置web.xml
配置urlwrite规则文件WEB-INF/urlrewrite.xml
注意:有多个参数时,中的连接符号&应该是&
[quote]http://www.xxx.com/page.html?id=1001&pageid=2
http://www.xxx.com/page/1001_2.html[/quote]
目前很多网站喜欢用第二种写法来代替前面一种!
说到这里,很多人都知道用Apache URL Rewrite可以做。对于租用虚拟主机或者不容易修改Web服务器的用户来说,或许比较麻烦。
这里说另外个方法,通过UrlRewriteFilter插件,一个jar包和一个urlrewrite.xml配置文件就搞定。
下载地址:[url]http://tuckey.org/urlrewrite/#download[/url]
配置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>
配置urlwrite规则文件WEB-INF/urlrewrite.xml
<urlrewrite>
<rule>
<from>/page/([0-9]+)_([0-9]+).html</from>
<to type="forward">/page.html\?id=$1&pageid=$2</to>
</rule>
</urlrewrite>
注意:有多个参数时,中的连接符号&应该是&