Tomcat配置301重定向(http跳转https)教程

有时候为了SEO,甚至是公司要求让域名统一,就需要把其他的域名跳转到 www.xxxxx.com 上,由于现在又非常的流行https,更加的需要让 http 跳转到 https 上面,因此:我们就更迫切的需要做301重定向。具体操作如下:

 

1、urlRewriteFilter简介

urlRewriteFilter是一个用于改写URL的Web过滤器,类似于Apache的mod_rewrite。适用于任何Web应用服务器(如Tomcat、jboss、jetty、Resin、Orion等)。其典型应用就把动态URL静态化,便于搜索引擎爬虫抓取你的动态网页。

 

2、下载urlRewriteFilter

wget http://urlrewritefilter.googlecode.com/files/urlrewritefilter-4.0.3.jar

并放入tomcat的 WEB-INF/lib下;

 

3、配置tomcat

编辑WEB-INF/web.xml,在其它servlet mapping前加入以下代码:

<!--301地址重定向-->
  <filter>
  <filter-name>UrlRewriteFilter</filter-name>
  <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
<init-param>
        <param-name>confReloadCheckInterval</param-name>
        <param-value>60</param-value>
    </init-param>
<init-param>
        <param-name>confPath</param-name>
        <param-value>/WEB-INF/urlrewite.xml</param-value>
    </init-param>
 
    <!-- sets up log level (will be logged to context log)
    can be: slf4j, TRACE, DEBUG, INFO (default), WARN, ERROR, FATAL,
    sysout:{level} (ie, sysout:DEBUG)
    if you are having trouble using normal levels use sysout:DEBUG
    (default WARN) 设置日志的等级-->
    <init-param>
        <param-name>logLevel</param-name>
        <param-value>DEBUG</param-value>
    </init-param>
 
    <!-- you can change status path so that it does not
    conflict with your installed apps (note, defaults
    to /rewrite-status) note, must start with /设置状态目录,必须以/开始,默认为/rewrite-status -->
    <init-param>
        <param-name>statusPath</param-name>
        <param-value>/status</param-value>
    </init-param>
 
    <!-- you can disable status page if desired
    can be: true, false (default true) 是否允许状态页面,默认为true-->
    <init-param>
        <param-name>statusEnabled</param-name>
        <param-value>true</param-value>
    </init-param>
 
</filter>
<filter-mapping>
  <filter-name>UrlRewriteFilter</filter-name>
  <url-pattern>/*</url-pattern>
  <dispatcher>REQUEST</dispatcher>
  <dispatcher>FORWARD</dispatcher>
</filter-mapping>

 

4、添加跳转规则

配置文件规则:跳转规则是在condition匹配前提下才进行重定向,在WEB-INF下新建urlrewite.xml文件,加入如下跳转规则代码:

<urlrewrite>
  <rule>
      <name>seo redirect</name>
      <condition name="host" operator="notequal">^123.*.*.18</condition>
      <condition name="host" operator="notequal">^www.xxxxx.com</condition>
      <from>^/(.*)</from>
      <to type="permanent-redirect" last="true">https://www.xxxxx.com/$1</to>
  </rule>
</urlrewrite>

以上配置说明可以通过 123.*.*.18 和 www.xxxxx.com 不跳转以外,其余的url输入都会跳转到 https://www.xxxxx.com/上;

 

5、重启Tomcat

 

注意:第四步骤的 * 和 x 请替换成你自己的,如果你不想有IP直接访问,可以删除IP那一行代码的配置即可!重要的是大家一定要懂原理。

    A+
发布日期:2018年12月25日 13:29:04  所属分类:经验
最后更新时间:2018-12-25 13:29:04
标签:
付杰
  • ¥ 29.0元
  • 市场价:99.0元
  • ¥ 15元
  • 市场价:15元
  • ¥ 298.0元
  • 市场价:398.0元
  • ¥ 298.0元
  • 市场价:498.0元

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:2   其中:访客  0   博主  0

  1. 头像 JJK 1

    很好的文章,周末还要上班解决301的问题,烦人!

    • 头像 涂涂 4

      @JJK 我也一样在上班,周末都没假的,调休而已,不用担心。