4

有没有办法只通过一些 URL 路径来提供静态文件?例如,下一个 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 dir添加额外location的 for 。*/static/*.*/var/www/some_statics

4

2 回答 2

4
location ~* ^/static/.+\.(png|whatever-else)$ {
    alias /var/www/some_static;
    expires 24h;
}
location / {
    # regular rules
}

手写,可能有错误。

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

于 2014-01-14T04:18:34.600 回答
0

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

于 2019-08-21T12:59:17.063 回答