urlrewriteFilter condition----reference
src:http://tuckey.org/urlrewrite/manual/2.6/
<condition> element
An element that lets you choose conditions for the rule. Note, all conditions must be met for the rule to be run (unless "next" is set to "or" obvoiusly).
Value can be any Regular Expression (Perl5 style).
| Attribute | Possible Value | Explanation |
|---|---|---|
| type (optional) |
header (default) | If used, the header name must be specified in the "name" attribute. |
| method | The method of the request. GET, POST, HEAD etc. | |
| port | The port that the web application server is running on. | |
| time |
Current time at the server (this will be the number of seconds since 00:00:00 1970-01-01 UTC otherwise known as unix time). i.e. (new Date()).getTime()This can be used for making sure content goes live only at a time you set. |
|
| year |
Current year at the server. i.e. (Calendar.getInstance()).get(Calendar.YEAR)
|
|
| month |
Month at the server. January is 0 i.e. (Calendar.getInstance()).get(Calendar.MONTH)
|
|
| dayofmonth |
Day of the month at the server. March first is 1 i.e. (Calendar.getInstance()).get(Calendar.DAY_OF_MONTH)
|
|
| dayofweek |
Day of the week at the server. Saturday is 1, Sunday is 7 i.e. (Calendar.getInstance()).get(Calendar.DAY_OF_WEEK)
|
|
| ampm |
AM or PM time at the server. i.e. (Calendar.getInstance()).get(Calendar.AM_PM)
|
|
| hourofday |
The hour of the day (24 hour clock) at the server. 10pm is 22 i.e. (Calendar.getInstance()).get(Calendar.HOUR_OF_DAY)
|
|
| minute |
The minute field of the current time at the server. i.e. (Calendar.getInstance()).get(Calendar.MINUTE)
|
|
| second |
The second field of the current time at the server. i.e. (Calendar.getInstance()).get(Calendar.SECOND)
|
|
| millisecond |
The millisecond field of the current time at the server. i.e. (Calendar.getInstance()).get(Calendar.MILLISECOND)
|
|
| attribute |
Will check the value of a request attribute (don't confuse this with parameter!), name must be set whenusing this type. i.e. request.getAttribute([name])
|
|
| auth-type |
Will check the value of a request attribute (don't confuse this with parameter!) i.e. request.getAuthType()
|
|
| character-encoding |
The character encoding of the imcoming request. i.e. request.getCharacterEncoding()
|
|
| content-length |
The length of the imcoming request (can be useful if you want to deny large requests). i.e. request.getContentLength()
|
|
| content-type |
The type of the imcoming request. (this is probably not that useful) i.e. request.getContentType()
|
|
| context-path |
The context path of the imcoming request. i.e. request.getContextPath()
|
|
| cookie |
The value of a cookie, note, name must be specified to use thisi.e. request.getCookies() the find we the one with [name] specified and check the value.
|
|
| parameter |
A tidier way of checking request parameters than looking for them in the query string. This will check for the parameter in GET or POST, note, name must be specified.i.e. request.getParameter([name])
|
|
| path-info |
i.e. request.getPathInfo()
|
|
| path-translated |
i.e. request.getPathTranslated()
|
|
| protocol | The protocol used to make the request, e.g. HTTP/1.1 i.e. request.getProtocol()
|
|
| query-string | The query string used to make the request (if any), e.g. id=2345&name=bob i.e. request.getQueryString()
|
|
| remote-addr | The IP address of the host making the request, e.g. 123.123.123.12 i.e. request.getRemoteAddr()
|
|
| remote-host | The host name of the host making the request, e.g. 123qw-dsl.att.com (note, this will only work if your app server is configured to lookup host names, most aren't). i.e. request.getRemoteHost()
|
|
| remote-user | The login of the user making this request, if the user has been authenticated, e.g. bobt i.e. request.getRemoteUser()
|
|
| requested-session-id | Returns the session ID specified by the client, e.g. 2344asd234sada4 i.e. request.getRequestedSessionId()
|
|
| request-uri | Returns the part of this request's URL from the protocol name up to the query string in the first line of the HTTP request i.e. request.getRequestURI()
|
|
| request-url | Reconstructs the URL the client used to make the request. The returned URL contains a protocol, server name, port number, and server path, but it does not include query string parameters. i.e. request.getRequestURL()
|
|
| session-attribute |
(note, name must be set) i.e. session.getAttribute([name])
|
|
| session-isnew |
Weather the session is new or not. i.e. session.isNew()
|
|
| server-name |
The host name of the server to which the request was sent (from the host header not the machine name). i.e. request.getServerName()
|
|
| scheme |
The scheme used for the request, e.g. http or https i.e. request.getScheme()
|
|
| user-in-role |
(Note, the value for this cannot be a regular expression) i.e. request.isUserInRole([value])
|
|
| name (optional) |
(can be anything) | If type is header, this specifies the name of the HTTP header used to run the value against. |
| next (optional) |
and (default) | The next "rule" and this "rule" must match. |
| or | The next "rule" or this "condition" may match. | |
| operator (optional) |
equal (default) | Equals. The operator to be used when the condition is run. |
| notequal | Not equal to. (i.e. request value != condition value). Note, this operator only work with numeric rule types. |
|
| greater | Greater than. (i.e. request value > condition value). Note, this operator only work with numeric rule types. |
|
| less | Less than. (i.e. request value < condition value). Note, this operator only work with numeric rule types. |
|
| greaterorequal | Greater to or equal to. (i.e. request value >= condition value). Note, this operator only work with numeric rule types. |
|
| lessorequal | Less than or equal to. (i.e. request value <= condition value). Note, this operator only work with numeric rule types. |
Examples:
<condition name="user-agent" operator="notequal">Mozilla/[1-4]</condition>
<condition type="user-in-role" operator="notequal">bigboss</condition>
<condition name="host" operator="notequal">www.example.com</condition>
<condition type="method" next="or">PROPFIND</condition>
<condition type="method">PUT</condition>
urlrewriteFilter condition----reference的更多相关文章
- CRM 价格批导
日了,好多代码....COPY别人的,懒得改了 *----------------------------------------------------------------------* *** ...
- 在 Target 中获取项目引用的所有依赖(dll/NuGet/Project)的路径
原文:在 Target 中获取项目引用的所有依赖(dll/NuGet/Project)的路径 在项目编译成 dll 之前,如何分析项目的所有依赖呢?可以在在项目的 Target 中去收集项目的依赖. ...
- Conditional project or library reference in Visual Studio
Conditional project or library reference in Visual Studio In case you were wondering why you haven’t ...
- [MySQL Reference Manual] 8 优化
8.优化 8.优化 8.1 优化概述 8.2 优化SQL语句 8.2.1 优化SELECT语句 8.2.1.1 SELECT语句的速度 8.2.1.2 WHERE子句优化 8.2.1.3 Range优 ...
- UrlRewriteFilter
UrlRewriteFilter是一个改写URL的Java Web过滤器,可见将动态URL静态化.适用于任何Java Web服务器(Resin,Jetty,JBoss,Tomcat,Orion等).与 ...
- What is a heap?--reference
A heap is a partially sorted binary tree. Although a heap is not completely in order, it conforms to ...
- Oracle Global Finanicals Technical Reference(一个)
Skip Headers Oracle Global Finanicals Oracle Global Financials Technical Reference Manual Release 11 ...
- Oracle Global Finanicals Technical Reference(二)
Skip Headers Oracle Global Finanicals Oracle Global Financials Technical Reference Manual Release 11 ...
- Oracle Global Finanicals Technical Reference(一)
Skip Headers Oracle Global Finanicals Oracle Global Financials Technical Reference Manual Release 11 ...
- Hibernate Validator 6.0.9.Final - JSR 380 Reference Implementation: Reference Guide
Preface Validating data is a common task that occurs throughout all application layers, from the pre ...
随机推荐
- Java中HTTP通信
Java自带的get.post请求: get请求方式: package com.java; import java.io.BufferedReader; import java.io.IOExcept ...
- delphi 动态加载dll
引入文件 DLL比较复杂时,可以为它的声明专门创建一个引入单元,这会使该DLL变得更加容易维护和查看.引入单元的格式如下: unit MyDllImport; {Import unit for MyD ...
- C# InDepth 第一章
深入理解C#第一部分,第一章介绍了C#开发得进化史. 1 从数据类型定义引入c#1到4中得改变 c#2:强类型集合(泛型) c#3:自动实现得属性和简化得初始化 c#4:命名实参 2 排序和过滤 排序 ...
- CSS3 & 页面布局
相关链接 视频链接: CSS3 & 页面布局 CSS3与页面布局学习总结(一) CSS3与页面布局学习总结(二) CSS3与页面布局学习总结(三) CSS3与页面布局学习总结(四) CSS3与 ...
- [Xamarin]我的Xamarin填坑之旅(二)
上一篇交代了我Xamarin填坑的背景,大概聊了聊第一步环境配置,第二步创建项目和开发框架选择.如果有一个可用的梯子,这部分基本不会出错. 接下来就具体聊一聊写代码的过程中遇到的一些事儿. 第三步是码 ...
- LOJ#3087. 「GXOI / GZOI2019」旅行者(最短路)
题面 传送门 题解 以所有的感兴趣的城市为起点,我们正着和反着各跑一边多源最短路.记\(c_{0/1,i}\)分别表示正图/反图中离\(i\)最近的起点,那么对于每条边\((u,v,w)\),如果\( ...
- python django 更改模型字段出错时的一个解决办法
python/django 框架自带的 orm 无疑是django框架最拿得出手的一个亮点,orm无疑极大的方便了项目的开发,提高了开发的效率. 在实际的项目开发过程中,我们有时候需要修改模型的字段, ...
- Good Bye 2017(送命场)
9815人数场,9500+围观神仙打架...断断续续打Codeforces也快有一年啦,第一次打Good Bye场,满怀前排膜tourist的心愿参加了这场送命场,虽然没看到tourist.不过还是得 ...
- 数组内数据不使用for循环实现多个移动
题目: 有序数组中加入一个新的数据,需保持数组有序,如何操作? 方式A :for循环将后续数组依次后移. 方式B :内存拷贝 代码: /******************************** ...
- webpack快速入门——配置文件:服务和热更新
1.在终端安装 cnpm i webpack-dev-server --save-dev 2.配置好后执行 webpack-dev-server,这时候会报错 出现错误,只需要在pagejson里配置 ...