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

前端之家收集整理的这篇文章主要介绍了用于缓存图像的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 /数据.

猜你在找的Nginx相关文章