β

nginx if 语句

PHPor 的Blog 443 阅读

相对简单可行的办法:

set $condition "$uri&&$arg_var";
if ($condition = "/abc&&xyz") {
    return 200 "good";
}

还有不太严谨的做法:

if ($request_uri = "/abc?var=xyz") {
    return 200 "good";
}

因为对于多数程序来讲, /abc?var=xyz  与 /abc?var=xyz&_=123456   是一样的,但是后者就不能被不严谨的nginx写法匹配到

实际用例:

set $changePassWordUrl "$uri&&$arg__fromURL";
            if ($changePassWordUrl = "/hrm/HrmTab.jsp&&HrmResourcePassword") {
                return 302 "https://staff.beebank.com/password/forget";
            }
作者:PHPor 的Blog
PHP+Mysql+Apache+Linux
原文地址:nginx if 语句, 感谢原作者分享。

发表评论