根据 cookie 更改主机头

根据 cookie 更改主机头

$http_host如果请求中的 cookie SHOW_BETA 设置为 true,我想将 www 替换为 beta 。

我已将其放入我的主机块中,但不确定如何进行实际替换。

map $http_host $cookie_SHOW_BETA {
    // replace www with beta here if true.   <---- Question: what to put in here
    default $http_host;
}

此外,如果我想使用if可以轻松分割的地方,$http_host我不能使用并检查 cookie 的值。

答案1

您的使用map存在问题:

  • 地图的“来自”值应该是第一个,而要设置的变量应该是第二个
  • 用作$http_host变量来设置可能不起作用

我认为,在 中甚至不可能进行替换map

最好的办法是尝试添加一个前缀:

map $cookie_show_beta $http_host {
    true beta.$http_host;
    default $http_host;
}

相关内容