2016-10-02 155 views
0

部分:NGINX:在子目录中搜索文件nginx的配置的

location =/{ 
     root www/html; 
     try_files $uri $uri/ $uri.html; 

    } 

    location ~* \.(jpg|jpeg|png)$ { 
     root www/resources/img; 
     try_files $uri $uri/; 
     #autoindex   on; 
     expires 1y; 
     add_header Cache-Control public; 
    } 

    location ~* \.(css)$ { 
     root www/resources/css; 
     expires 1y; 
     add_header Cache-Control public; 
    } 

    location ~* \.(js)$ { 
     root www/resources/js; 
     expires 1y; 
     add_header Cache-Control public; 
    } 

在目录www/resources/img我有1个图像文件1.jpg和1子文件夹包含另一个文件2.jpg。所以,如果我的要求像localhost/1.jpg我得到我的形象,但如果我要求localhost/2.jpg它返回404找不到。如何设置nginx来搜索子文件夹中的文件?

+0

localhost/1.jpg - > www/resources/img/1.jpg,但是localhost/2.jpg - > www/resources/img/subfolder/2.jpg? –

回答

0

尝试改变下面的代码块,因为如果在根没有找到该文件,找到它在/子/ $ URI,

location ~* \.(jpg|jpeg|png)$ { 
    root www/resources/img; 
    try_files $uri /subfolder/$uri $uri/; 
    #autoindex   on; 
    expires 1y; 
    add_header Cache-Control public; 
} 

切换您的error_log上,看到正在访问哪些文件,你也可以从他们那里纠正。