假设我有一个像这样的 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(使用前将#替换为@)