如果 URL 的前 5 位数字是数字,则我需要在 nginx 中设置位置参数。
site.com/12345/ or site.com/12345
但我似乎无法得到正确的正则表达式。
这些都不起作用。
location ^/([0-9]) { }
location ^/(\d\d\d\d\d) {}
location /(\d\d\d\d\d) {}
答案1
尝试这个
location ~ "^/[\d]{5}" {
# ...
}
~
表示正则表达式的位置
^
表示行的开头
[\d]
是字符类匹配数字的简写
{5}
表示数字必须正好是五位,不多也不少
()
如果你不想使用分组,则不需要括号,例如 $ 1
双引号,因为正则表达式中使用的花括号必须用双引号引起来:https://stackoverflow.com/questions/14684463/curly-braces-and-from-apache-to-nginx-rewrite-rules
答案2
尝试这个语法(在我的服务器上测试):
location ~ ^/([0-9]+) {
#...
}