tomcat使用UrlRewriteFilter实现URL重写
有时候我们需要将网址中不带www的转向www的网站
比如本站,您输入028888.net 或自动转向到www.bugkong.com
由于tomcat没有像apache那样通过配置.htaccess来实现URL重写
如果我们也不想去修改代码,那么我们可以借助UrlRewriteFilter来实现
首先 http://tuckey.org/urlrewrite/ 这是他的官网,大家可以先看下
下面我们来进行简单的配置下
第一步,我们需要在我们的lib目录下增加urlrewritefilter-4.0.3.jar 包,目前最新版本是4.0.3
如果使用的maven,可以添加如下的依赖
<dependency> <groupId>org.tuckey</groupId> <artifactId>urlrewritefilter</artifactId> <version>4.0.3</version> </dependency>
第二步,我们在我们的web.xml中新增filter
在web.xml的filter下面,servlet的上面新增如下代码
<!-- url规则 重写--> <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>debug</param-value> </init-param> </filter> <filter-mapping> <filter-name>UrlRewriteFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
第三步,在web.xml的同级目录中新增urlrewrite.xml文件,其内容如下
<urlrewrite> <rule> <name>seo redirect</name> <condition name="host" operator="notequal">^www.bugkong.com</condition> <condition name="host" operator="notequal">^localhost</condition> <from>^/(.*)</from> <to type="permanent-redirect" last="true">https://www.bugkong.com/$1</to> </rule> </urlrewrite>
到这里我们就配置完了,大家可以测试下吧
另外,下面的连接提供了urlrewrite.xml的一些示例
http://cdn.rawgit.com/paultuckey/urlrewritefilter/master/src/doc/manual/4.0/urlrewrite.xml
爆款云服务器s6 2核4G 低至0.46/天,具体规则查看活动详情