server {
listen (my server ip):80;
server_name ^(.[^\.]+)(\.)(\d+)\.vm\.example\.net$;
location / {
return 200 '$2';
add_header Content-Type text/plain;
}
}
我想要做的是捕获以下任何域名
example1.1234.vm.example.net example1.1234.vm.example.net example2.4321.vm.example.net example2.4321.vm.example.net
并且我希望能够使用它在返回时得到的数字,现在它甚至不匹配服务器名称并且不显示任何内容。
答案1
我还没有检查正则表达式的有效性,但乍一看你缺少将~
server_name 标记为正则表达式的。
server_name ~^(.[^\.]+)(\.)(\d+)\.vm\.example\.net$;