首頁(yè)技術(shù)文章正文

Nginx if的使用教程

更新時(shí)間:2021-08-27 來(lái)源:黑馬程序員 瀏覽量:

if指令該指令用來(lái)支持條件判斷,并根據(jù)條件判斷結(jié)果選擇不同的Nginx配置。

語(yǔ)法  if (condition){...}
默認(rèn)值  —
位置 server、location


condition為判定條件,可以支持以下寫法:


1. 變量名。如果變量名對(duì)應(yīng)的值為空字符串或"0",if都判斷為false,其他條件為true。

if ($param){

}

2. 使用"="和"!="比較變量和字符串是否相等,滿足條件為true,不滿足為false

if ($request_method = POST){
	return 405;
}

注意:此處和Java不太一樣的地方是字符串不需要添加引號(hào),并且等號(hào)和不等號(hào)前后到需要加空格。


3. 使用正則表達(dá)式對(duì)變量進(jìn)行匹配,匹配成功返回true,否則返回false。變量與正則表達(dá)式之間使用"~","~*","!~","!~*"來(lái)連接。

"~"代表匹配正則表達(dá)式過(guò)程中區(qū)分大小寫,

"~*"代表匹配正則表達(dá)式過(guò)程中不區(qū)分大小寫

"!~"和"!~*"剛好和上面取相反值,如果匹配上返回false,匹配不上返回true

if ($http_user_agent ~ MSIE){
	#$http_user_agent的值中是否包含MSIE字符串,如果包含返回true
}

注意:正則表達(dá)式字符串一般不需要加引號(hào),但是如果字符串中包含"}"或者是";"等字符時(shí),就需要把引號(hào)加上。


4. 判斷請(qǐng)求的文件是否存在使用"-f"和"!-f",

if (-f $request_filename){
	#判斷請(qǐng)求的文件是否存在
}
if (!-f $request_filename){
	#判斷請(qǐng)求的文件是否不存在
}

5. 判斷請(qǐng)求的目錄是否存在使用"-d"和"!-d"


6. 判斷請(qǐng)求的目錄或者文件是否存在使用"-e"和"!-e"


7. 判斷請(qǐng)求的文件是否可執(zhí)行使用"-x"和"!-x"


將本頁(yè)面鏈接發(fā)送給QQ:435946716,免費(fèi)獲取上面課程全套視頻、筆記和源碼。



猜你喜歡:

Nginx rewrite常用全局變量詳細(xì)介紹

Nginx配置server_name詳細(xì)教程

如何配置Nginx為系統(tǒng)服務(wù)?

Nginx升級(jí)教程:兩種方案任你選

黑馬程序員java開發(fā)培訓(xùn)課程

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!