Nginx:按URL路径提供静态文件

时间:2014-01-14 04:13:33

标签: nginx webserver static-files serving

有没有办法只通过某些URL路径提供静态文件?例如,下一个网址格式http://host/static/*.png具有/static/子字符串(路径),而Nginx将从那里提供任何静态。

在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目录location*/static/*.*添加其他/var/www/some_statics

2 个答案:

答案 0 :(得分:3)

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

如果您想扩展规则以匹配anything/something/static/*.png,请删除模式中的^

答案 1 :(得分:0)

location ^~ /static/ {
    alias /var/www/some_static;
}