gpt4 book ai didi

部分 URI 的 Nginx 映射

转载 作者:行者123 更新时间:2023-12-05 09:12:12 33 4
gpt4 key购买 nike

我想要一个像

这样的映射
map $name $id {
Bob 1;
}

(方案+域是$scheme://$host)。

我想将 /$name/foo 重定向到 /bar?param=$id

我该怎么做?在示例中,我只在 map 中看到完整的 URI。我宁愿没有

map $uri $mapped_uri {
/Bob/foo /bar?param=1;
/Joe/foo /bar?param=2;
}

因为那会复制硬编码部分。

最佳答案

您可以使用另一个映射来捕获 $name 变量。这些发生在周期的早期,可以帮助避免在配置扩展时可能导致问题的正则表达式位置。

map $uri $name {
~^/([^/]+)/foo$ $1;
}

map $name $id {
Bob 1;
Joe 2;
}

server {
if ($id) {
return 302 /bar?param=$id;
}
}

关于部分 URI 的 Nginx 映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58866680/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com