Nginx 位置匹配中的变量捕获

2023-12-31

假设我有一个像这样的 URL:www.example.com/a/b/sth,我在 Nginx 配置中编写了一个位置块:

location ^~ /a/b/(?<myvar>[a-zA-Z]+) {
    # use variable $myvar here
    if ($myvar = "sth") { ... }
}

我希望能够使用变量$myvar从 URL 捕获inside然而,Nginx 一直告诉我这个变量没有定义并且不会启动:

nginx: [emerg] unknown "myvar" variable

老线程,但我遇到了同样的问题......

我认为该错误与安装的 PCRE 版本无关

如果你的位置标签不是以 ~ 开头,NGINX 不会解析你的正则表达式 你需要使用这样的东西

location ~ ^/a/b/(?<myvar>[a-zA-Z]+) {
   # use variable $myvar here
   if ($myvar = "sth") { ... }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Nginx 位置匹配中的变量捕获 的相关文章

随机推荐