NGINX如何使用map {}检查URI的最后一部分是否包含32个符号,并且是否适合regexp [a-z 0 -9]?

tf7tbtn2  于 2022-12-17  发布在  Nginx
关注(0)|答案(1)|浏览(70)

存在一个URI**/第1部分/第2部分/第X部分/md5**
如何使用map {}提取URI的最后一部分并检查其长度(等式32个符号),然后检查它是否适合regexp [0-9a-z]。

eoxn13cs

eoxn13cs1#

编辑:在正则表达式周围添加引号应该允许使用{32}
这不是一个令人满意的方法,但它确实有效:

map $request_uri $count32 {
    ~/(?<last>[0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z])$ $last;
}
if ($count32) {
   return 200 "Last component has 32 characters: $count32
";
}

相关问题