请问nginx两条规则冲突了怎么办?

发布于 2022-09-11 19:27:36 字数 624 浏览 18 评论 0

规则1
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
    {
        expires      30d;
        error_log off;
        access_log /dev/null;
    }
规则2
    location /api { 
      rewrite  ^/api(.*)$ /$1 break;
      proxy_pass http://localhost:999;
    }

当我访问 http://xxx:80/api/uploads/a.jpg 无法访问 404

当我去掉 规则1(gif|jpg|jpeg|png|bmp|swf) 改成 (gif|jpeg|png|bmp|swf) 是可以访问代理的图片

所以说明是规则冲突的原因

请问我该如何把这两条规则合并呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

白色秋天 2022-09-18 19:27:36

/api 路径前面加上 ^~ ,意思是匹配到 /api 了就停止往下匹配了

location ^~ /api { ... }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文