請利用子表示式建置器及 AND、OR、NOT 和括弧分組,從子表示式建置複式規則條件。規則建置器會在您套用變更時驗證規則,並在括弧不對稱及邏輯運算子不受支援時發出警示。
如果要檢視這個頁面,請按一下
。下列清單包括邏輯運算子選項:
運算子 | 說明 |
---|---|
OR | 邏輯 OR 運算子。 |
AND | 邏輯 AND 運算子。 |
NOT | 邏輯 NOT 運算子。 |
運算元是分類規則的一部分,供執行時期用來使規則與工作相符。例如, 如果您指定的通訊協定類型等於 HTTP, 則執行時期會搜尋其通訊協定類型是 HTTP 的工作。下列清單包括運算元選項:
運算元 | 語法 | 說明 |
---|---|---|
虛擬主機 |
virtualhost | 要求中的虛擬主機目標,用來將 Web 應用程式配置為特定的主機名稱。 |
虛擬埠 |
numeric | 要求中的虛擬埠目標,用來將 Web 應用程式配置為特定埠。 |
URI |
uri | 統一資源識別碼 協助您識別要求的路徑:如果 URL 是 http://host:port/path?p1=v1,則路徑是 path。 |
使用者 ID |
userid | 傳回傳送要求之已鑑別使用者的使用者 ID。 |
群組 ID |
groupingid | 傳回傳送要求之已鑑別使用者的群組名稱清單。 |
要求查詢參數名稱 |
queryparm$<name> | 標頭名稱和值。 例如,queryparm$timezone='EST' 表示式會測試要求,以瞭解要求是否包含名稱為 timezone、值為 EST 的 HTTP 查詢參數。如果要測試查詢參數是否存在,請使用下列其中一種格式:
|
要求標頭名稱 |
header$<name> | 標頭名稱和值。 例如,header$Host='localhost' 表示式會測試要求,以瞭解它是否包含值為 localhost 的 HTTP 主機標頭。如果要測試主機標頭是否存在,請使用下列其中一個表示式:
|
Cookie 標頭名稱 |
cookie$<name> | Cookie 名稱。 例如,cookie$My_Cookie_Name='My_Cookie_Value' 表示式會測試要求,
以瞭解它是否包含名稱為 My_Cookie_Name、值為 My_Cookie_Value 的 Cookie。如果要測試特定 Cookie 是否存在,請使用下列其中一個表示式:
|
HTTP 方法 |
HTTPMethod | 要求的 HTTP 方法。可能的值如下:POST、GET、PUT 和 DELETE。 |
用戶端主機 |
clienthost | 完整的用戶端主機名稱。此值是「網際網路通訊協定 (IP)」指令的主機名稱。這個運算元不支援 >、>=、<、<= 等數值運算子。 |
用戶端 IPV4 |
clientipv4 | 用戶端的 IP 位址,使用「網際網路通訊協定」第 4 版 (IPv4) 帶點四段式位址類型 n.n.n.n。 |
用戶端 IPV6 |
clientipv6 | 「網際網路通訊協定」第 6 版 (IPv6) 128 位元位址類型 x:x:x:x:x:x:x:x,遵循用戶端電腦的「意見請求 1924 (RFC 1924)」。 |
伺服器主機 |
serverhost | 伺服器的完整主機名稱。這個運算元不支援 >、>=、<、<= 等數值運算子。 |
伺服器 IPV4 |
serveripv4 | 伺服器電腦的 IP 位址,使用 IPv4 帶點四段式位址類型 n.n.n.n。 |
伺服器 IPV6 |
serveripv6 | IPv6 128 位元位址類型 x:x:x:x:x:x:x:x,遵循伺服器電腦的 RFC 1924。 |
埠 |
port | 收到要求的接聽埠。 |
通訊協定 |
protocol | 傳輸要求的通訊協定。目前支援的通訊協定如下:HTTP、HTTPS、SOAP 和 SOAPS。 |
時間 |
time | 用來定義必須允許使用特定要求的日期和時間。兩個選用欄位是 StartTime 和 EndTime。如果在所定義的時間範圍之外收到要求,則不會處理要求。 「開始時間」和「結束時間」欄位皆使用下列格式:dayOfWeek/dayOfMonth/month/year::hour:minute:second。 例如,2007 年 4 月 11 日星期四下午 1 點 3 分 45 秒指定為: Thu/11/Apr/2007::13:03:45 任何欄位都可以在值中使用萬用字元 *。 例如,每月的第一天可指定為 */1。 dayofWeek 值是 Sun、Mon、Tue、Wed、Thu、Fri、Sat, 而 dayOfMonth 值的範圍是 1 到 31。 month 值是非數值,代表 12 個月:Jan、Feb、Mar、Apr、May、Jun、Jul、Aug、Sep、Oct、Nov、Dec。 year 值是由年份的四位數字組成。例如,2007。 hour 值是當日時刻,24 小時表示法。例如, 上午 8 點表示為 ::8。minute 和 second 是範圍 0 到 59 的整數。 正斜線 (/) 是用來區隔日期參數,雙冒號 (::) 是用來區隔日期參數,冒號 (:) 是用來區隔時刻參數。使用 time 運算元之整個規則的布林結果會決定要採取的遞送動作。 |
百分比 |
percentage$<val> | 對於時間的固定百分比,percentage 運算元求值為 true。 例如,對於時間平均值 50%,percentage$50 求值為 true。 |
加速 |
rampup$<startTime>$<completionTime>
|
對於時間的可變百分比,
rampup 運算元求值為 true。如果在 <startTime> 之前,則 rampup 運算元一律求值為 false;如果在 <completionTime> 之後,則 rampup 運算元一律求值為 true。當時間以線性遞增百分比從 <startTime> 進展到 <completionTime> 時,rampup 運算元將求值為 true。 <startTime> 及 <completionTime> 的格式是 day/month/year::hour:min:sec。 其中,day 是月份中的日期,month 是 12 個月份之一: Jan、Feb、Mar、Apr、May、Jun、Jul、Aug、Sep、Oct、Nov、Dec,year 是 4 位數年份, hour 是 24 小時表示法的 2 位數小時, 而 min 及 sec 分別是表示分鐘及秒鐘的 2 位數值。例如, rampup$01/Jan/2007::08:00:00$01/Jan/2007::17:00:00 在 2007 年 1 月 1 日上午 8 點開始時,偶而求值為 true,但在同一天的加速完成時間下午 5 點,一律求值為 true。 |
視您選擇的運算子而定,輸入您要建立之子表示式的值。所有運算子會求值為布林值。運算子不區分大小寫:AND 等同於 AnD。
運算子 | 說明 |
---|---|
等於且不區分大小寫 (EQUALSIGNORECASE) | 「等於且不區分大小寫」運算子。會忽略字串的大小寫。'ABC' EQUALSIGNORECASE 'abc' 為 true。('ABC' = 'abc') 為 false。 |
不等於 (< >) | 不等於運算子表示運算元值不等於您輸入的值。 |
In (IN) |
|
類似 (LIKE) | 表示對字串運算元的值進行型樣比對。這個值在型樣比對的起始位置中,必須包含萬用字元 (%)。 例如,表示式:
host LIKE %blanca符合單字 blanca 和結尾是 blanca 的其他任何單字; 表示式: host LIKE blanca%符合單字 blanca 和開頭是 blanca 的其他任何單字。表示式: host LIKE %blanca%符合單字 blanca 和內嵌記號 blanca 的任何單字。 |
類似且不區分大小寫 (LIKEIGNORECASE) | 這個運算子表示對字串運算元值進行型樣比對。會忽略字串的大小寫。 |
非空值 (IS NOT NULL) | 查詢的驗證作業顯示所要求的參數存在。 |
連結 (+) | 這個運算子會將 'abc'+'def' 求值為 'abcdef'。 |
Like In (LIKEIN) | 這個運算子表示如果 likein 左側的字串符合一或多個字串 (stringN), 則 string likein (string1, string2, string3,...) 會求值為 true。 |
空值 (IS NULL) | 查詢的驗證作業顯示所要求的參數不存在。測試運算元是否有 NULL 值。 |
等於 ( = ) | 這個相等運算子表示一個區分大小寫的相符項目。 |
大於 (>) | 求值為標準邏輯結果。 |
大於或等於 (>=) | 求值為標準邏輯結果。 |
小於 (<) | 求值為標準邏輯結果。 |
小於或等於 (<=) | 求值為標準邏輯結果。 |
介於 (BETWEEN) | 與 AND 搭配使用, 以選取包含第一個值(低值)到最後一個值(高值)的值範圍。它們一起運作於數字和日期值。 |
請依所選的運算子,輸入選擇要建立之子表示式的值。
產生子表示式作為所指定運算元、運算子和值的結果。
請按一下這裡,在條件畫面上附加到此框。