【发布时间】:2020-01-11 08:28:39
【问题描述】:
我有一个需要 nginx 解释和重写的 url。
我对 nginx 配置没问题,但我一点也不擅长使用正则表达式。
典型的 URL 如下所示:
/open/M-100_L-200_N-300_I-400.jpg
而且需要改写成这样:
/open.php?M=100&L=200&N=300&I=400
我怀疑它会像......
location /open/ {
rewrite ^/open/M-([0-9]+)_L-([0-9]+)_N-([0-9]+)_I-([0-9]+) /open.php?M=$1&L=$2&N=$3&I=$4
}
请注意,这些值将始终是不同长度/大小的整数。
这只是匹配整个文件名,而不是其中的单个值。
再一次,我的问题是我不擅长使用正则表达式,真的应该花一些时间来理解它。
【问题讨论】:
-
它在 JS 中工作:regex101.com/r/txGIb2/1。我从来没有在 Nginx 中使用过正则表达式,也许你需要一个反斜杠来逃避正斜杠?
-
您在
rewrite语句之后缺少;,但除此之外,它对我有用。
标签: regex nginx url-rewriting