\ 转义符号 : 取消元字符的特殊含义
() 分组 与取值:
示例
原始url : /admin/website/article/35/change/uploads/party/5.jpg
转换后的url: /static/uploads/party/5.jpg
匹配原始url的正则表达式:
/^\/admin\/website\/article\/(\d+)\/change\/uploads\/(\w+)\/(\w+)\.(png|jpg|gif|jpeg|bmp)$/
用PCRE 测试如下:
[root@zk02 pcre2-10.34]# pcre2test
PCRE2 version 10.34 2019-11-21
re> /^\/admin\/website\/article\/(\d+)\/change\/uploads\/(\w+)\/(\w+)\.(png|jpg|gif|jpeg|bmp)$/
data> /admin/website/article/35/change/uploads/party/5.jpg
0: /admin/website/article/35/change/uploads/party/5.jpg
1: 35
2: party
3: 5
4: jpg
每一个正则对应一个值.
我们在nginx 中是不用加 转义字符的,在pcretest需要添加一下.
rewrite ^/admin/website/article/(\d+)/change/uploads/(.*)\.(png|jpg|gif|jpeg|bmp)$
/static/uploads/$2/$3.$4 last;