更新時間:2021-08-27 來源:黑馬程序員 瀏覽量:
if指令該指令用來支持條件判斷,并根據條件判斷結果選擇不同的Nginx配置。
語法 | if (condition){...} |
默認值 | — |
位置 | server、location |
condition為判定條件,可以支持以下寫法:
1. 變量名。如果變量名對應的值為空字符串或"0",if都判斷為false,其他條件為true。
if ($param){ }
2. 使用"="和"!="比較變量和字符串是否相等,滿足條件為true,不滿足為false
if ($request_method = POST){ return 405; }
注意:此處和Java不太一樣的地方是字符串不需要添加引號,并且等號和不等號前后到需要加空格。
3. 使用正則表達式對變量進行匹配,匹配成功返回true,否則返回false。變量與正則表達式之間使用"~","~*","!~","!~*"來連接。
"~"代表匹配正則表達式過程中區分大小寫,
"~*"代表匹配正則表達式過程中不區分大小寫
"!~"和"!~*"剛好和上面取相反值,如果匹配上返回false,匹配不上返回true
if ($http_user_agent ~ MSIE){ #$http_user_agent的值中是否包含MSIE字符串,如果包含返回true }
注意:正則表達式字符串一般不需要加引號,但是如果字符串中包含"}"或者是";"等字符時,就需要把引號加上。
4. 判斷請求的文件是否存在使用"-f"和"!-f",
if (-f $request_filename){ #判斷請求的文件是否存在 } if (!-f $request_filename){ #判斷請求的文件是否不存在 }
5. 判斷請求的目錄是否存在使用"-d"和"!-d"
6. 判斷請求的目錄或者文件是否存在使用"-e"和"!-e"
7. 判斷請求的文件是否可執行使用"-x"和"!-x"
將本頁面鏈接發送給QQ:435946716,免費獲取上面課程全套視頻、筆記和源碼。
猜你喜歡: