我正在尝试在 Nginx 的指令中加入一个变量和一个字符串map
,但目前还没有成功。这个想法是,任何请求都/press/some-variable-text
应该重定向到/magazine/some-variable-text
map $uri $new_uri {
~^/press/(?<press_id>.+)$ /magazine/$press_id;
}
输出结果为以下字符串“/杂志/$press_id“(它不会插入变量)。当我删除前缀时/magazine/
,变量内容就会正常呈现。
有办法实现这个吗?
答案1
我假设你使用的是 nginx 1.10 或更早版本。你尝试的变量插值在 1.10 上对我来说不起作用,而在更改日志我找到了以下与 map 指令相关的条目:
nginx 1.11.0 的变化
- 特点:“map”指令支持多个变量的组合作为结果值。