tomcat使用UrlRewriteFilter实现URL重写

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/天,具体规则查看活动详情Blog Img