如果url的前5个数字是数字,我需要在nginx中设置一个位置参数。
site.com/12345/ or site.com/12345
但我不能为了我的生活似乎得到正确的正则expression式。
这些都没有工作。
location ^/([0-9]) { } location ^/(\d\d\d\d\d) {} location /(\d\d\d\d\d) {}
尝试这个
location ~ "^/[\d]{5}" { # ... }
~表示正则expression式的位置
^表示行的开始
[\d]是字符类匹配数字的简写
{5}显示数字必须正好是五,不能多,不能less
和()括号是不必要的,如果你不想再使用分组,例如$ 1
双引号,因为正则expression式中使用的大括号必须用双引号引起来: https ://stackoverflow.com/questions/14684463/curly-braces-and-from-apache-to-nginx-rewrite-rules
试试这个语法(在我的服务器上testing):
location ~ ^/([0-9]+) { #... }