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

标签 nginx webserver static-files serving

有没有办法只通过一些 URL 路径提供静态文件?例如,下一个 URL 模式 http://host/static/*.png/static/ substring(路径),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
    }

我尝试添加其他 location*/static/*.*与根目录 /var/www/some_statics .

最佳答案

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

手写,可能有错误。

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

关于Nginx:通过 URL 路径提供静态文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21105973/

相关文章:

nginx - 防止 nginx 为未经授权的用户将流量路由到另一个 ec2 实例

nginx - 如何在网站的子文件夹中托管 Flask 应用程序?

nestjs - 如何使用 fastify 在 NestJS 中提供静态文件?

symfony - 通过 symfony2 路由现有的静态 html 页面

api - 如何根据代理响应有条件地在 nginx 中提供静态文件?

nginx - 仅使用 nginx 为特定域提供站点服务

nginx - Kubernetes 在哪里拉取镜像以及我如何浏览它们/更改它们的拉取源?

apache - apache/nginx/IIS 有什么区别

css - 字体没有出现

file - 如何使用 .htaccess 限制对一个或多个文件的访问?