• Tomcat URL重写


    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://central.maven.org/maven2/org/tuckey/urlrewritefilter/4.0.3/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>
    

    参考
    http://tuckey.org/urlrewrite/

  • 相关阅读:
    【2019牛客暑期多校第三场】J题LRU management
    【2019多校第一场补题 / HDU6582】2019多校第一场E题1005Path——最短路径+网络流
    【bzoj2049】[Sdoi2008]Cave 洞穴勘测——线段树上bfs求可撤销并查集
    《DSP using MATLAB》Problem 8.36
    《DSP using MATLAB》Problem 8.35
    《DSP using MATLAB》Problem 8.34
    《DSP using MATLAB》Problem 8.33
    《DSP using MATLAB》Problem 8.32
    《DSP using MATLAB》Problem 8.31
    《DSP using MATLAB》Problem 8.30
  • 原文地址:https://www.cnblogs.com/aubin/p/8511936.html
Copyright © 2020-2023  润新知