Nginx重写位置路径

时间:2016-03-29 00:49:12

标签: nginx

有没有办法可以添加重写,动态设置文件的位置/路径?

以下内容来自nginx配置:

server {
   root /media;
   server_name media.domain.com;
   location / {
       autoindex off;
 }

我的图像名称为" e9m7L4_1.jpg"根据文件名的前6个字母/数字存储在目录中,例如:

e9m7L4_1.jpg(存储在) - > E / 9 /米/ 7 / L / 4 / e9m7L4_1.jpg

km40lj_1.jpg(存储在) - > K / M / 4/0 /升/ J / km40lj_1.jpg

目前我可以像这样访问它:

http://media.domain.com/e/9/m/7/L/4/e9m7L4_1.jpg

有没有办法使用传递给nginx的文件名重写位置,因此可以像这样访问它,而不需要长目录路径/前缀: http://media.domain.com/e9m7L4_1.jpg

由于

1 个答案:

答案 0 :(得分:1)

你可以试试这个:

server {
    server_name media.domain.com;
    root /media;
    location / {
       rewrite ^/((.)(.)(.)(.)(.)(.).+)$ /$2/$3/$4/$5/$6/$7/$1 break;
    }
}