我的服务器上的一个文件夹中有许多 PDF \drawings
。文件名结构为:8 位数字、下划线、修订级别字母——即\d{8}_[A-Za-z]\.pdf
。这些文件组织在与文件名的前 4 位数字匹配的子文件夹中——\drawings\1500\
等等\drawings\1600\
。
我希望用户能够在浏览器中调用绘图,不知道 REV 级别,仅使用前 8 位数字。例如
intranet.com/drawings/15003915 -> Z:\drawings\1500\15003915_D.pdf
intranet.com/drawings/16000423 -> Z:\drawings\1600\16000423_B.pdf
在nginx.conf
,我有以下内容
location ^~ /drawings/ {
try_files $uri @redirect;
}
location @redirect {
if ($uri ~* "^/(\d{8})$") {
set $filename $1;
rewrite ^/(.*)$ Z:/Drawings/${$uri:1:4}/$filename_[A-Z].pdf last;
}
return 404;
}
NGINX 正则表达式总是让我困惑。我不断收到错误rewrite
。
有什么解决办法吗?