我无权访问 nginx.config 文件,但我需要提供 webp 图像并同时增加缓存时间。我们制定了这条规则,并且运行良好:
location ~* \.(png|jpe?g|gif)$ {
add_header Vary Accept;
default_type image/webp;
try_files $uri$webp $uri =404;
}
但添加此规则后,停止提供 webp 图像:
location ~* \.(png|jpe?g|gif)$ {
expires 365d;
}
是否可以结合这两个规则?我不想将它们结合起来并让网站中断,因为更新此文件的人需要一段时间才能做出响应。
我的问题是,这行得通吗?
location ~* \.(png|jpe?g|gif)$ {
expires 365d;
add_header Vary Accept;
default_type image/webp;
try_files $uri$webp $uri =404;
}
对于任何给定的字符串或正则表达式
location
,一个块中只能有一个。server
如果有两个相同的,则只使用第一个。后续的将永远不会匹配并被忽略。但是 nginx 并没有对此发出警告。因此,您必须将所需的指令组合在一个
location
.