我在为其他应用程序提供图像的服务器上安装了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。我看到了一些示例,但是它们只是移动参数,并且文本是固定的。
答案 0 :(得分:0)
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;
}