子文件夹中的 nginx 资产

nginx assets in subfolders

我想知道是否有更好的方法在 nginx 中定义资产路径。例如,我希望 nginx 为子文件夹中的资产提供服务。现在,我使用这种技术,看起来不太干。

location ^~ /assets/ {
    gzip_static on;
    expires max;
    add_header Cache-Control public;
}

location ^~ /assets/downloads {
    gzip_static on;
    expires max;
    add_header Cache-Control public;
}

你能为 assets 文件夹中的文件夹推荐一些更好的东西吗?提前谢谢你。

您的配置几乎是正确的(对于您要实现的目标)。由于我没有完整的配置,我会猜测一个解决方案:

location ^~ /assets/ {
    alias /absolute/path/to/assets/;
    gzip_static on;
    expires max;
    add_header Cache-Control public;
}

注意 alias 指令(以及绝对路径上的尾部斜杠)。这告诉 NGINX 获取 URI 并递归资产目录(在子文件夹中搜索)。它类似于在提供内容时使用 roottry_files。有关 rootalias 之间的差异,请参阅此 link