如何在nginx配置文件中实现函数Map

yebdmbv4  于 2023-03-29  发布在  Nginx
关注(0)|答案(1)|浏览(177)

我的nginx配置文件有问题。我如何在nginx.conf中做类似的事情:

if ($http_user_agent !~* (Googlebot|BingBot) ) {
    if ($cookie_currency = "") {
        rewrite ^/(?!currency) /currency redirect;   
    }
}

我试着在谷歌上找一些信息,试着为ChatGPT写一些东西,但是我不明白我怎么能写这个map函数。用这个代码,我有一个错误,我不能在if语句中使用if。我也试着写一些实现Map函数,但是我不明白如何连接所有这些语句

xxslljrj

xxslljrj1#

您可以使用Map简化逻辑:

map $http_user_agent $bot {
    ~*googlebot 1;
    ~*bingbot 1;
}

map $bot$cookie_currency $redirect_currency {
    "" 1;
}
if ($redirect_currency) {
    return 301 /currency;
}

相关问题