是否可以在 nginx 的 .htaccess 中对 .woff2 文件进行放气?

Is it possible to DEFLATE a .woff2 file in .htaccess in nginx?

提问人:Rounin 提问时间:10/11/2022 更新时间:10/12/2022 访问量:314

问:

我在nginx服务器上的全局.htaccess文件中有以下内容:

# COMPRESS FILES

<IfModule mod_deflate.c>
  
  [...]

  AddOutputFilterByType DEFLATE application/font-woff2
  AddOutputFilterByType DEFLATE font/woff2

  [...]

</IfModule>

我知道不久前关于什么类型应该代表文件存在一些争议,但我希望其中行:MIME.woff2

  • application/font-woff2
  • font/woff2

会起作用的。

显然,两者都没有。


更多信息:

  • 我没有任何更深的文件覆盖全局文件.htaccess.htaccess
  • 我的服务器版本是 nginx/1.21.6(在此基础上,我从未真正了解指令是如何工作的,但我使用了很多模块并且所有指令都可以工作).htaccess

问题:

我是否使用了错误的类型?MIME

或者问题是否可能相关?nginx

(或者其他我还没有想到的东西......?

.htaccess nginx MIME 类型 mod-deflate woff2

评论

3赞 CBroe 10/11/2022
这可能是一个相当毫无意义的尝试 - woff2 格式已经压缩,参见 web.dev/reduce-webfont-size/#web-fonts-and-compression 而再次压缩已经压缩的数据,通常不会带来什么好处。
0赞 Rounin 10/11/2022
@CBroe - 啊......这很好学。谢谢。我不知道已经内置了 brotli 压缩。在这种情况下,我同意你的看法 - 可能根本不需要尝试。如果你想在下面添加这个答案,我会接受。谢谢。woff2DEFLATE
0赞 Richard Smith 10/11/2022
尝试使用文件配置 Nginx 也是没有意义的。该文件仅供 Apache Web 服务器理解并用于 Apache Web 服务器。.htaccess
0赞 Rounin 10/11/2022
@RichardSmith - 你这么想当然是可以原谅的。我一直认为情况就是这样。因此,到目前为止,我还没有解释为什么所有指令都在服务器上工作。我只能猜测一定有一些模块可以并且确实可以解释文件 - 但如果有,我还没有找到它。.htaccessnginxnginx.htaccess
0赞 Richard Smith 10/11/2022
应在 nginx.conf 文件中配置压缩。使用(大写)查看所有包含的文件的整个配置。nginx -TT

答:

1赞 Irshad 10/12/2022 #1

最有可能的是,您应该修改 nginx.conf 文件以添加所需的压缩。

.htaccess文件在NGINX中不起作用

为了在 NGINX 上更好地覆盖压缩和性能,您可以使用 pagespeed 模块

https://developers.google.com/speed/pagespeed/module

nginx.conf 文件的示例代码块

gzip on;
gzip_vary on;
zip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_min_length 256;

gzip_types
  font/eot
  font/otf
  font/ttf
  image/svg+xml
  text/css
  text/javascript
  text/plain
  text/xml;

评论

0赞 Rounin 10/12/2022
谢谢你,@Irshad。如果我们只是假装我有一个 Apache 服务器,可能会更容易(就这个问题而言)。