Lenix Blog

记录-交流-Web开发知识分享

马上订阅 Lenix Blog RSS 更新: https://blog.p2hp.com/feed

nginx 用try_files 时,gzip_static不起作用,如何解决

admin
2024年3月3日 11:56
Nginx优化原创性能

nginx 用try_files 时,gzip_static不起作用,如何解决

当使用try_files指令时,gzip_static指令可能不会起作用的原因是,try_files指令会绕过gzip_static的处理。为了解决这个问题,您可以尝试以下两种方法:

使用if指令:
在try_files指令之前添加一个if指令,用于检查请求的文件是否存在。如果存在,可以手动添加.gz扩展名,并使用gzip_static指令来处理:

location / {
if (-f $request_filename.gz) {
add_header Content-Encoding gzip;
rewrite ^(.*)$ $1.gz break;
}
try_files $uri $uri/ =404;
}
这样,当请求的文件存在并且有对应的.gz压缩文件时,gzip_static指令将会生效。

使用map指令:
可以使用map指令来创建一个映射,将请求的文件名与对应的.gz文件名关联起来,并在try_files指令中使用该映射进行处理:

map $uri $gzip_file {
default "";
~^(?<path>.+)\.(?<ext>[^.]+)$ $path.$ext.gz;
}

server {…

The post nginx 用try_files 时,gzip_static不起作用,如何解决 first appeared on Lenix Blog.