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 when
using 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 this

i.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的更多相关文章

  1. CRM 价格批导

    日了,好多代码....COPY别人的,懒得改了 *----------------------------------------------------------------------* *** ...

  2. 在 Target 中获取项目引用的所有依赖(dll/NuGet/Project)的路径

    原文:在 Target 中获取项目引用的所有依赖(dll/NuGet/Project)的路径 在项目编译成 dll 之前,如何分析项目的所有依赖呢?可以在在项目的 Target 中去收集项目的依赖. ...

  3. 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 ...

  4. [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优 ...

  5. UrlRewriteFilter

    UrlRewriteFilter是一个改写URL的Java Web过滤器,可见将动态URL静态化.适用于任何Java Web服务器(Resin,Jetty,JBoss,Tomcat,Orion等).与 ...

  6. What is a heap?--reference

    A heap is a partially sorted binary tree. Although a heap is not completely in order, it conforms to ...

  7. Oracle Global Finanicals Technical Reference(一个)

    Skip Headers Oracle Global Finanicals Oracle Global Financials Technical Reference Manual Release 11 ...

  8. Oracle Global Finanicals Technical Reference(二)

    Skip Headers Oracle Global Finanicals Oracle Global Financials Technical Reference Manual Release 11 ...

  9. Oracle Global Finanicals Technical Reference(一)

    Skip Headers Oracle Global Finanicals Oracle Global Financials Technical Reference Manual Release 11 ...

  10. 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 ...

随机推荐

  1. html.EditorForModel自定义模版

    https://www.cnblogs.com/lori/p/5969658.html  http://www.cnblogs.com/yinzixin/archive/2012/12/18/2821 ...

  2. Java子父类中的构造函数实例化过程

    其实我们发现子类继承父类操作很简单,如果要是去深入的研究下会发现,实例化过程并非是我们看到的那样,我们就以代码举例来说明: 问大家,以下代码执行会输出什么呢? package com.oop; /** ...

  3. 【Win10】一些零碎不好归档的小总结(原谅我这个该死的标题吧)

    一.同步方式获取设备的屏幕分辨率 public static class ScreenResolution { /// <summary> /// 获取屏幕高度. /// </sum ...

  4. Regex Golf练习笔记(1)

    正则表达式进阶练习:https://alf.nu/RegexGolf  (此练习笔记) 正则表达式验证:https://regexr.com/ (1) (2) 注释:每个词的三个字母在后面重复出现了一 ...

  5. CSS/CSS3

    CSS/CSS3 选择器. 选择器 例子 例子描述 CSS 说明 .class .intro 选择 class="intro" 的所有元素. 1 #id #firstname 选择 ...

  6. leetcode 第三大的数

    给定一个非空数组,返回此数组中第三大的数.如果不存在,则返回数组中最大的数.要求算法时间复杂度必须是O(n). 示例 1: 输入: [3, 2, 1] 输出: 1 解释: 第三大的数是 1. 示例 2 ...

  7. sharepoint 2013 office web app 2013 文档在线浏览 IE11 浏览器不兼容解决方法

    昨晚配置完成office web apps 2013的外部网络访问之后,今天发现了一个很奇怪的问题,就是IE 11不支持文档在线浏览,找了很多方法,打补丁什么的,都不管用,最后在预览文件的页面,看到& ...

  8. 关于在C++中调用R函数以及RCpp使用

    最近因为项目要用到,所以在想办法把R语言用到C++中. 网上查了看到有一个Rcpp的工具.所以在这里总结一下. 现在能想到的几种在C++中调用R语言的方法如下: 1. 使用Rcpp R高级编程技巧及R ...

  9. 深入学习c++--左值引用和右值引用

    #include <iostream> #include <string> #include <vector> using namespace std; int m ...

  10. jzoj5950

    我們發現如下結論: 1.只有編號小的點才會對編號大的點產生影響 2.當當前點的y坐標大小為1~i最大的,則不會被以前的點影響 於是,維護一個斜率單調遞增的隊列 當當前點的y坐標大小為1~i最大的,則這 ...