我在一个服务器上安装了Ngninx,为另一个应用程序提供图像。但是,图像存储在文件夹中,如...
/images/123456A/123456A0001.png
/images/123456A/123456A0002.png
/images/987654B/987654B0001.png
/images/987654B/987654B0002.png
目前,它被配置为接受请求,比如...
GET IP/123456A/123456A0001.png
GET IP/987654B/987654B0002.png
这里的挑战是,当他们发出GET请求时,我不想暴露的内部结构。可以像这样在内部重写它们吗?
GET IP/123456A0001.png
GET IP/123456A/123456A0001.png
GET IP/987654B0002.png
GET IP/987654B/987654B0002.png
===> ===>
文件夹是文件名(数字和一个字母)的一部分,但是我不知道如何使用子字符串和形成新的URL。我看到了一些示例,但它们只是移动参数,文本是固定的。
发布于 2019-07-17 03:36:00
rewrite
指令可以执行内部重定向。详情请参见this document。
例如:
rewrite "^/(([^/]{7})[^/]{4}\.png)$" /$1/$2 last;
或者,将正则表达式location
与try_files
指令一起使用。详情请参见this document。
例如:
location ~ "^/(([^/]{7})[^/]{4}\.png)$" {
root /images;
try_files /$1/$2 =404;
}
https://stackoverflow.com/questions/57059915
复制相似问题