用于缓存图像的Nginx正则表达式规则覆盖根位置块

我的nginx设置包含以下位置规则:

    location ~*  \.(jpg|jpeg|png|gif|ico|css|js|pdf)${
        expires 7d;
    }

    location /data/ {
            root /mnt/data;
    }

问题是,当我尝试访问/ data /文件夹中的以下文件之一(jpg | jpeg | png | gif | ico | css | js | pdf)时,我收到404 Not Found错误,导致第一个位置规则覆盖第二.我试着这样做:

    location ~* /data/.*\.jpg${
            root /mnt/data;
            expires 7d;
    }

但这似乎不起作用.在这种情况下,你能帮我解决一下我可用的解决方案吗?

解决方案是:

#1规则重复

location ~*  \.(jpg|jpeg|png|gif|ico|css|js|pdf)${
    expires 7d;
}

location /data/ {
    root /mnt/data;

    location ~*  \.(jpg|jpeg|png|gif|ico|css|js|pdf)${
        expires 7d;
    }
}

#2符号链接

您可以创建符号链接:$document_root / data – >的/ mnt /数据.

dawei

【声明】:唐山站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。