阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

使用UrlRewriteFilter实现Tomcat重定向

126次阅读
没有评论

共计 1662 个字符,预计需要花费 5 分钟才能阅读完成。

Tomcat 默认情况下不带 www 的域名是不会跳转到带 www 的域名的,而且也无法像 Apache 那样通过配置.htaccess 来实现。如果想要把不带“www’ 的域名重定向到带”www” 域名下,又不想写代码,可以使用 UrlRewriteFilter 来实现。

一、前期准备

1. 安装 JDK
yum install java-1.8.0-openjdk-devel

vim /etc/profile.d/jdk.sh
export JAVA_HOME=/usr/java/latest                  # 首先定义 JAVA_HOME 的环境变量
export PATH=$JAVA_HOME/bin:$PATH                    # 然后追加

.  /etc/profile.d/jdk.sh

2. 安装 tomcat
yum install tomcat tomcat-admin-webapps.noarch \
tomcat-webapps.noarch tomcat-docs-webapp.noarch

二、urlRewriteFilter 实现重定向

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

1. 下载 UrlRewriteFilter

UrlRewriteFilter 的官方网站 http://tuckey.org/urlrewrite/

jar 包要放在应用的 WEB-INF/lib 目录中
yum install wget -y
cd /usr/share/tomcat/webapps/ROOT/WEB-INF/lib/wget http://urlrewritefilter.googlecode.com/files/urlrewritefilter-4.0.3.jar

2. 配置过滤规则

在应用的./WEB-INF/ 目录下创建一个名为 urlrewrite.xml 规则文件,名称千万不能出错!!
vim ./WEB-INF/urlrewrite.xml
    <urlrewrite>
      <rule>
          <name>seo redirect</name>
          <condition name=”host” operator=”notequal”>^www.example.com</condition>
          <condition name=”host” operator=”notequal”>^localhost</condition>
          <from>^/.*</from>
          <to type=”redirect” last=”true”>http://www.example.com/$1</to>
      </rule>
    </urlrewrite>

3. 配置 tomcat

在应用的 `./WEB-INF/ 中的 web.xml 中添加
vim ./WEB-INF/web.xml
<web-app>          # 要在 web-app 中,在其它 servlet mapping 前加入
……
      <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>
      <dispatcher>REQUEST</dispatcher>
      <dispatcher>FORWARD</dispatcher>
    </filter-mapping>
</web-app>

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计1662字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中