NGINX 1.9x/RHELNGINX在if塊中使用自定義/映射變量
我試圖在未設置cookie的情況下爲某個請求返回204。我無法讓nginx.conf文件通過配置測試或重新啓動。嘗試對創建的MAP變量進行測試時,第一個IF塊失敗。
http block...
map $http_cookie $my_login_cookie {
default 0;
"~hello_logged_in" 1;
}
Server Block....
location ~ /$ {
if ($my_login_cookie = 0) { <<<<<< Statement is not working
if ($args ~ "^Blah=(.*)") {
return 204;
}
}
}
我發現很多代碼示例顯示這種事情應該是可行的。我失去了什麼?!?!
< < < < < <更新後的最終工作代碼>>>>>>
http block...
map $http_cookie $my_login_cookie {
default 0;
"~hello_logged_in" 1;
}
Server Block....
location ~ /$ {
set $my_redirect y;
if ($my_login_cookie = 0) {
set $my_redirect "${my_redirect}e";
}
if ($args ~ "^blah=(.*)") {
set $my_redirect "${my_redirect}s";
}
if ($my_redirect = "yes") {
return 204;
}
}
我張貼惡意代碼applogizes。當我添加註釋(<<<<<聲明不起作用)時,我的花括號會被吃掉。正確的代碼現在在那裏。歡呼 – SmileIT