Tomcat URL重写
tomcat默认情况下不带www的域名是不会跳转到带www的域名的,而且也无法像apache那样通过配置.htaccess来实现。如果想要把不带“www'的域名重定向到带”www"域名下,又不想写代码,可以使用UrlRewriteFilter来实现。
一、前期准备
1.安装JDK
yum install java-1.8.0-openjdk-develvim /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/
转载于:https://www.cnblogs.com/aubin/p/8511936.html
Tomcat URL重写相关推荐
- 用自定义IHttpModule实现URL重写
在本人拙作<ASP.NET夜话>第十二章中探讨过ASP.NET底层运行机制的问题,在该书中本人也讲到过了解一些ASP.NET的低层机制对于我们灵活控制ASP.NET有很大帮助,在该书中本人 ...
- Session,Cookie,jsessionid,Url重写
在一些投票之类的场合,我们往往因为公平的原则要求每人只能投一票,在一些WEB开发中也有类似的情况,这时候我们通常会使用COOKIE来实现,例如如下的代码: < % cookie[]cookies ...
- java 重写session_关于session的实现:cookie与url重写
本文讨论的语境是java EE servlet. 我们都知道session的实现主要两种方式:cookie与url重写,而cookie是首选(默认)的方式,因为各种现代浏览器都默认开通cookie功能 ...
- Nginx 反向代理、负载均衡、页面缓存、URL重写、读写分离及简单双机热备详解...
大纲 一.前言 二.环境准备 三.安装与配置Nginx (windows下nginx安装.配置与使用) 四.Nginx之反向代理 五.Nginx之负载均衡 (负载均衡算法:nginx负载算法 up ...
- 关于URL重写的实现
对于session,我想大多学JAVAEE的同学都很清楚. 当一个客户请求一个页面时,服务器端会为该客户分配一个会话ID, 然后在返回给客户的响应头中添加一个头部: Set-Cookie:JSESSI ...
- java 泛域名_泛域名和URL重写
Apache与Tomcat的整合,以及Rewrite的使用 http://blog.niwota.com/a/163891.htm 1. 支持二级动态域名 a.首先需要域名提供商支持 泛域名解析. ...
- Servlet会话管理一(URL重写和表单隐藏域)
会话可以简单的理解为客户端用户打开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器的整个过程称为一个会话.即一个客户端用户和服务器端进行通讯的过程,也是客户端和服务器端之间的数据传 ...
- 配置伪静态(URL重写)
本篇借鉴了很多文章,这里做个记录. 有时我们的导航栏出现xx.aspx?id=x&name=xx 等等这样,会显得不好看,我们可以利用伪静态来美化我们的导航栏,伪静态的形式可以自己定义,本质还 ...
- ASP.net实现无扩展名的URL重写。简单、方便、无需ISAPI
URL重写已经有很多的方法,但是多数都有一个缺点,就是不支持无扩展名的网页.微软提供的方法需要在根目录里面建立jyk的文件夹,然后再建立一个default.aspx的文件,如果您有100名会员的话,这 ...
最新文章
- 图解支付宝钱包技术架构
- .vue文件_在idea中创建vue文件
- SpringBoot使用security和jwt进行鉴权设计
- 安装kilo版本openstack-dashboard时出现的python compress command not found错误解决办法
- 深度学习框架太抽象?其实不外乎这五大核心组件
- render与render_to_response的区别
- 数据结构 - 栈(数组模拟栈操作)
- 转载:使用Wireshark解密TLS 1.3流量
- python文件目录提取_python-按日志提取文件并创建相关目录
- 41. 和为s的两个数字VS和为s的连续正数序列(C++版本)
- 吊打Navicat?这款神器牛逼了~~ [ 必看 ]
- POI读取word文档后插入内容以及设置标题样式
- MacBook 自带输入法 中英文切换 搜狗输入法 安装 配置
- php 分享微博,PHP调用微博接口实现微博登录
- 在阿里云上搭建自己的虚拟机(学习笔记)
- R语言使用quantmod包的getSymbols函数从指定金融数据源获取指定时间段的股票数据、获取美国10年期债券收益率数据
- 广东高中生多少人_广东2016高考五大变化 考生总人数73.3万
- golang mysql 崩溃_使用GoLang与mysql连接失败
- CSS 学习笔记 - 盒模型
- 《如何五分钟创建自己的新币token 》Dapp开发 Web3+以太坊+智能合约开发 (一)
热门文章
- php高德地图坐标在多边形,多边形的绘制和编辑
- numpy.core.defchararray.join
- Java折叠_[Java教程]Jquery中菜单的展开和折叠
- python怎么用pip下载_python怎么用pip安装包
- php生成图片文件流,php 如何把图片转化为字节流存储到数据库?
- 使用 Hyper-v 虚拟化域控制器
- 阿里云容器服务飞天敏捷版详解
- Java Web学习总结(16)——JSP的九个内置对象
- Java基础学习总结(19)——Java环境变量配置
- mysql crc16_MySQL 5.6 中TIMESTAMP with implicit DEFAULT value is deprecated错误