我需要一个非常特殊的重写规则,但我找不到方法来实现它。
我需要将 uri 映射到正则表达式,再映射到用正则表达式构建的替换字符串。
例如我有一个/pdv/plan-AGE44-ABC.pdf
可以映射到以下 uri:
/files/AGE44/plan-ABC.pdf
/files/AGE44/plan-ABC(version-1).pdf
/files/AGE44/plan-ABC(version-2).pdf
/files/AGE44/plan-ABC(version-3).pdf
所以(version-1)
替换字符串中的部分是可选的,所以我考虑在这里使用正则表达式。
我的规则示例:
location /pdv/ {
rewrite ^/pdv/plan-(.*)-(.*).pdf$ "/files/$1/plan-$2.pdf" last;
return 404;
}
这支持第一种情况(/files/AGE44/plan-ABC.pdf
),但我找不到支持其他情况的方法。
知道怎样做吗?