UrlRewrite 重写url详解及实例
UrlRewrite 重写url详解
UrlRewrite就是我们通常说的地址重写,用户得到的全部都是经过处理后的URL地址。
urlrewrite顾名思义,就是对URL进行重写,用户得到的全部都是经过处理后的URL地址,这样做我觉得好处有三:
一:提高安全性,可以有效的避免一些参数名、ID等完全暴露在用户面前,如果用户随便乱输的话,不符合规则的话直接会返回个404或错误页面,这比直接返回500或一大堆服务器错误信息要好的多
二:美化URL,去除了那些比如*.do之类的后缀名、长长的参数串等,可以自己组织精简更能反映访问模块内容的URL
三:更有利于搜索引擎的收入,通过对URL的一些优化,可以使搜索引擎更好的识别与收录网站的信息
使用步骤
1下载jar
官方地址:http://tuckey.org/urlrewrite/
下载urlrewritefilter-4.0.3.jar,加入到工程lib目录下。
2配置web.xml
<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>
3 配置urlrewrite.xml
添加urlrewrite.xml 到工程的WEB-INF目录下。
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 3.1//EN" "http://tuckey.org/res/dtds/urlrewrite3.1.dtd"> <urlrewrite> <rule> <note> The rule means that requests to /test/status/ will be redirected to /rewrite-status the url will be rewritten. </note> <from>^/vweb/view/index\-([0-9]+)$</from> <to>/vweb/view/index.shtml?_vwebid=$1&type=show</to> </rule> </urlrewrite>
小结:
urlrewrite是个过虑器,它将会过虑用户的所有请求,符合规则的便对其进行重定向。rule结点中from的规则默认使用的是正则表达式来匹配的,
当用户访问服务器时的URL会与该配置相比较,如果符合规则就会按照下面to结点中的配置对其进行跳转,其默认是forward跳转。
简单分析一下上面的正则表达式“^/vweb/view/index-([0-9]+)”:“”匹配输入字符串的开始位置“”匹配输入字符串的结束位置
“\”转义字符,表示后面的“-”不具有特殊含义,只是一个简单的字符串。
“([0-9]+)”:
“[0-9]”:由0到9中任何数据组成的字符串
“+”匹配1或多个正好在它之前的那个字符。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
- nginx rewrite 实现URL跳转的方法
- IIS 7.5 使用URL Rewrite模块的简单设置实现网页跳转
- IIS下配置页面重写(配合插件url-rewrite2去除页面后缀名)的实现方法
- Windows Server 2016中安装PHP Manager、ARR3.0或者URL Rewrite 2.0无法成功的解决办法
- IIS8中安装和使用URL重写工具(URL Rewrite)的方法
- 详解nginx rewrite和根据url参数location
- windows server 2008R2系统 IIS7.5配置伪静态的方法(urlrewrite)
- Nginx服务器下使用rewrite重写url以实现伪静态的示例
- UrlRewrite概念原理及使用方法解析
相关文章
Java简单使用EasyExcel操作读写excel的步骤与要点
相信现在很多搞后端的同学大部分做的都是后台管理系统,那么管理系统就肯定免不了Excel的导出导入功能,下面这篇文章主要给大家介绍了关于Java简单使用EasyExcel操作读写excel的步骤与要点,需要的朋友可以参考下2022-09-09Java synchornized与ReentrantLock处理并发出现的错误
synchronized机制提供了对每个对象相关的隐式监视器锁,并强制所有锁的获取和释放都必须在同一个块结构中。当获取了多个锁时,必须以相反的顺序释放。即synchronized对于锁的释放是隐式的2023-01-01详解JDK自带javap命令反编译class文件和Jad反编译class文件(推荐使用jad)
这篇文章主要介绍了JDK自带javap命令反编译class文件和Jad反编译class文件(推荐使用jad),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2022-09-09
最新评论