Nginx:通过URL路径提供静态文件

Nginx:通过URL路径提供静态文件,nginx,webserver,static-files,serving,Nginx,Webserver,Static Files,Serving,有没有办法只通过一些URL路径来提供静态文件?例如,下一个URL模式http://host/static/*.png具有/static/子字符串(路径),Nginx将从此处提供任何static 在web服务器文档中,我发现了一个示例: location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|js)$ { ... 并将我的Nginx配置定义为: location / { try_files $uri $uri/ /index.html;

有没有办法只通过一些URL路径来提供静态文件?例如,下一个URL模式
http://host/static/*.png
具有
/static/
子字符串(路径),Nginx将从此处提供任何static

在web服务器文档中,我发现了一个示例:

location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|js)$ { ...
并将我的Nginx配置定义为:

    location / {
        try_files $uri $uri/ /index.html;
    }

    location /apib {
         #some proxy_pass
    }

    location /apim {
         #some proxy_pass
    }

    location /api {
         #some proxy_pass
    }
我尝试使用root dir
/var/www/some\u statics
*/static/*.
添加额外的
位置

location ~* ^/static/.+\.(png|whatever-else)$ {
    alias /var/www/some_static;
    expires 24h;
}
location / {
    # regular rules
}
手写,可能包含错误

如果您想扩展规则以匹配
任何东西/something/static/*.png
只需删除模式中的
^

位置^~/static/{
别名/var/www/some_static;

}
Nginx从配置中的服务器部分发送索引页(根)。@akrisanov没错。除非由块内的
root
alias
指定,否则它们从上层配置继承。我是说,你的解决方案行不通。我的完整配置:您是否重新加载配置/重新启动nginx?您也可以尝试
location/static/{alias/var/www/some_static;}
或阅读