欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報激活碼778899分享:運維 nginx if 指令

柚子快報激活碼778899分享:運維 nginx if 指令

http://yzkb.51969.com/

目錄

nginx if 指令直接判斷變量判斷是否等于字符串判斷變量是否匹配正則表達(dá)式文件及目錄判斷示例1:判斷index.html是否存在示例2:判斷URL中是否存在某個參數(shù)Parameter示例3:判斷URI中是否為某個特定路徑示例4:開放白名單內(nèi)的功能,其余功能禁止訪問示例5:if-else示例6:多重if判斷參考

nginx if 指令

參考這里

Syntax: if (condition) { ... }

Default: —

Context: server, location

直接判斷變量

如果變量值是空字符串或者"0"時,判定為false;否則,判定為true。1.0.1版本前,任何以"0"開頭的字符串,判定為false。

if ($slow) {

limit_rate 10k;

}

if ($invalid_referer) {

return 403;

}

判斷是否等于字符串

使用 “=” 和 “!=” 操作符判斷是否等于字符串

if ($request_method = POST) {

return 405;

}

判斷變量是否匹配正則表達(dá)式

使用 “~” 和 “!~” 操作符判斷變量是否匹配正則表達(dá)式。

~:判斷時區(qū)分字符大小寫~*:判斷時不區(qū)分字符大小寫!~:判斷時區(qū)分字符大小寫!~*:判斷時不區(qū)分字符大小寫

if ($http_user_agent ~ MSIE) {

rewrite ^(.*)$ /msie/$1 break;

}

if ($http_cookie ~* "id=([^;]+)(?:;|$)") {

set $id $1;

}

文件及目錄判斷

“-f”, “!-f”:判斷指定的路徑是否為存在且為文件;“-d”, “!-d”:判斷指定的路徑是否為存在且為目錄;“-e”, “!-e”:判斷指定的路徑是否存在,文件或目錄均可;“-x”, “!-x”:判斷指定路徑的文件是否存在且可執(zhí)行;

示例1:判斷index.html是否存在

location =/index.html {

if (!-f "$document_root/index.html") {

rewrite ^(.*)$ /index2.html;

}

}

示例2:判斷URL中是否存在某個參數(shù)Parameter

if ($query_string ~* ".*(?:^|\?|&)method=autoGenerateIndex(?:(?:&.*)|$)") {

...

}

示例3:判斷URI中是否為某個特定路徑

if ($request_uri ~* "^/app/stat/"){

...

}

示例4:開放白名單內(nèi)的功能,其余功能禁止訪問

# 白名單開關(guān)。false,打開;true,關(guān)閉。

set $isInWhiteList 'false';

# 白名單1:統(tǒng)計

if ($request_uri ~* "^/app/stat/"){

set $isInWhiteList 'true';

}

# 白名單2:ajax接口

if ($request_uri ~* "^/app/ajax/"){

set $isInWhiteList 'true';

}

# 采用白名單方式放行功能

location /app {

if ($isInWhiteList != 'true') {

rewrite ^/ /deny;

}

proxy_pass http://127.0.0.1:8080;

}

# 禁止訪問

location =/deny {

deny all;

}

示例5:if-else

# 條件:if

if ($request_uri ~* "abc"){

set $flag '${flag}1';

}

# 條件:else

if ($request_uri !~* "abc"){

set $flag '${flag}2';

}

示例6:多重if判斷

server {

...

set $flag "";

# 條件1:if

if ($request_uri ~* "abc"){

set $flag '${flag}1';

}

# 條件1:else

if ($request_uri !~* "abc"){

set $flag '${flag}2';

}

# 條件2:if

if ($query_string ~* ".*(?:^|\?|&)method=autoGenerateIndex(?:(?:&.*)|$)") {

set $flag '${flag}1';

}

# 條件2:else

if ($query_string !~* ".*(?:^|\?|&)method=autoGenerateIndex(?:(?:&.*)|$)") {

set $flag '${flag}2';

}

# 多重if完了,根據(jù)結(jié)果做相應(yīng)處理

if ($flag = '11') {

...

}

if ($flag = '12') {

...

}

if ($flag = '21') {

...

}

if ($flag = '22') {

...

}

location / {

...

}

}

參考

https://nginx.org/en/docs/http/ngx_http_rewrite_module.html#if Nginx的多重if判斷

柚子快報激活碼778899分享:運維 nginx if 指令

http://yzkb.51969.com/

參考閱讀

評論可見,查看隱藏內(nèi)容
大家都在看:

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。

轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/18815000.html

發(fā)布評論

您暫未設(shè)置收款碼

請在主題配置——文章設(shè)置里上傳

掃描二維碼手機訪問

文章目錄