Nginx中IF語句實(shí)現(xiàn)數(shù)學(xué)比較功能
更新時(shí)間:2015年02月07日 20:24:41 投稿:junjie
這篇文章主要介紹了Nginx中IF語句實(shí)現(xiàn)數(shù)學(xué)比較功能,即在Nginx中用if判斷數(shù)字大小,類似編程語言中的邏輯比較,需要的朋友可以參考下
nginx的if支持=、!= 邏輯比較, 但不支持if中 <、<、>=、<= 比較.
本示例使用了set-misc-nginx-module
復(fù)制代碼 代碼如下:
location = /test/ {
default_type html;
set_random $a 0 9; #$a 隨機(jī) 從0-9取
if ( $a <= 4 ){ #$a 如果 < 4 這是錯誤的寫法
echo 'a: $a is lte 4';
}
if ( $a >= 5 ){ #$a 如果 > 5 這是錯誤的寫法
echo 'a: $a is gte 5';
}
}
上面的配置, 在啟動nginx時(shí)會報(bào)錯誤的.
即然不支持,那有沒有辦法小小地彌補(bǔ)下呢?
復(fù)制代碼 代碼如下:
location = /test/ {
default_type html;
set_random $a 0 9; #$a 隨機(jī) 從0-9取
if ( $a ~ [0-4] ){ #$a 如果 正則匹配 0-4
echo 'a: $a is lte 4';
}
if ( $a ~ [5-9] ){ #$a 如果 正則匹配 5-9
echo 'a: $a is gte 5';
}
}
測試10次:
復(fù)制代碼 代碼如下:
a: 8 is gte 5
a: 9 is gte 5
a: 2 is lte 4
a: 1 is lte 4
a: 8 is gte 5
a: 0 is lte 4
a: 9 is gte 5
a: 1 is lte 4
a: 4 is lte 4
a: 5 is gte 5
...
附:NGINX竟然不支持這樣的寫法....
復(fù)制代碼 代碼如下:
location = /test/ {
default_type html;
set_random $a 0 9; #$a 隨機(jī) 從0-9取
set_random $b 0 9; #$b 隨機(jī) 從0-9取
set $ereg "[0-$b]";
if ( $a ~ $ereg ){ #$a 如果 正則匹配 0-$b
echo 'a: $a is lte b: $b ereg: $ereg';
}
if ( $a !~ $ereg ){ #$a 如果 正則不匹配 0-$b
echo 'a: $a is gt b: $b ereg: $ereg';
}
}
求大牛來實(shí)現(xiàn)...
相關(guān)文章
Nginx服務(wù)器設(shè)置網(wǎng)站驗(yàn)證訪問的方法
這篇文章主要介紹了Nginx服務(wù)器設(shè)置網(wǎng)站驗(yàn)證訪問的方法,通過設(shè)置密碼來要求登錄網(wǎng)站目錄的用戶進(jìn)行驗(yàn)證,需要的朋友可以參考下2015-07-07HipChat上傳文件報(bào)未知錯誤的原因分析及解決方案
HipChat的功能類似于Campfire、Sazneo等在線協(xié)同工具,并且和Yammer以及Salesforce的Chatter等企業(yè)社交平臺有一定相似之處。你可以為單個項(xiàng)目或者小組搭建自有的聊天室,也可以很方便的發(fā)起一對一聊天2016-01-01詳解nginx rewrite和根據(jù)url參數(shù)location
本篇文章主要是介紹了nginx rewrite和根據(jù)url參數(shù)location,有興趣的同學(xué)可以了解以下。2016-11-11nginx添加http_ssl_module并且配置域名指定端口的操作方法
這篇文章主要介紹了nginx添加http_ssl_module并且配置域名指定端口的操作方法,文末附帶linux下防火墻和開放端口,需要的朋友可以參考下2023-11-11Nginx轉(zhuǎn)發(fā)丟失cookie表現(xiàn)形式及解決方案
本文主要介紹了Nginx轉(zhuǎn)發(fā)丟失cookie表現(xiàn)形式及解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01