use*_*484 4 nginx regex http-headers regular-expressions
我尝试设置 max-age 标头指令和 Content-Disposition “附件”如下:
location / {
# set up max-age header directive for certain file types for proper caching
location ~* \.(?:css|js|ico|gif|jpe?g|png|mp3|mpeg|wav|x-ms-wmv|eot|svg|ttf|woff|woff2)$ {
expires 7d;
add_header Cache-Control "public";
}
# force download for ceratain file types
location ~* \.(?:fb2|mobi|mp3)$ {
add_header Content-Disposition "attachment";
}
...
}
Run Code Online (Sandbox Code Playgroud)
问题在于 .mp3 文件与两个位置块都匹配。仅使用第一个 (max-age)。我怎样才能同时拥有 .mp3 文件 - max-age和Content-Disposition “附件”?
这里有一篇关于服务器和位置块匹配的好文章。只有一个位置块可以匹配,因此您将为 mp3 文件创建一个位置块。
location ~* \.mp3$ {
expires 7d;
add_header Cache-Control "public";
add_header Content-Disposition "attachment";
}
Run Code Online (Sandbox Code Playgroud)
Nginx 将匹配具有相同前缀的第一个位置块,因此这需要在两个现有块之前,或者您需要从其他两个块的匹配条件中删除 mp3。
| 归档时间: |
|
| 查看次数: |
7591 次 |
| 最近记录: |