PHP 7.0.22 : mod_deflate 已启用 & .htaccess,但似乎没有做任何事情

PHP 7.0.22 : mod_deflate enabled & .htaccess in place but doesn't seem to do anything

我在 PHP 7.0.22 中使用 Plesk 设置了一个网站,运行 作为 Apache 提供的 FPM 应用程序。

到目前为止,一切都很好 运行但是当我尝试在 .htaccess 中启用压缩时,我通常不会压缩任何东西。

#SERVER COMPRESSION
<IfModule mod_deflate.c>
  SetOutputFilter DEFLATE
  AddOutputFilterByType DEFLATE text/html
  AddOutputFilterByType DEFLATE text/css
  AddOutputFilterByType DEFLATE text/javascript
  AddOutputFilterByType DEFLATE text/xml
  AddOutputFilterByType DEFLATE text/plain
  AddOutputFilterByType DEFLATE image/x-icon
  AddOutputFilterByType DEFLATE image/svg+xml
  AddOutputFilterByType DEFLATE application/rss+xml
  AddOutputFilterByType DEFLATE application/javascript
  AddOutputFilterByType DEFLATE application/x-javascript
  AddOutputFilterByType DEFLATE application/xml
  AddOutputFilterByType DEFLATE application/xhtml+xml
  AddOutputFilterByType DEFLATE application/x-font
  AddOutputFilterByType DEFLATE application/x-font-truetype
  AddOutputFilterByType DEFLATE application/x-font-ttf
  AddOutputFilterByType DEFLATE application/x-font-otf
  AddOutputFilterByType DEFLATE application/x-font-opentype
  AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
  AddOutputFilterByType DEFLATE font/ttf
  AddOutputFilterByType DEFLATE font/otf
  AddOutputFilterByType DEFLATE font/opentype

# For Olders Browsers Which Can't Handle Compression
  BrowserMatch ^Mozilla/4 gzip-only-text/html
  BrowserMatch ^Mozilla/4\.0[678] no-gzip
  BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
</IfModule>

## EXPIRES CACHING ##
<IfModule mod_expires.c>
 ExpiresActive On
 ExpiresByType image/jpg "access 1 year"
 ExpiresByType image/jpeg "access 1 year"
 ExpiresByType image/gif "access 1 year"
 ExpiresByType image/png "access 1 year"
 ExpiresByType image/svg "access 1 year"
 ExpiresByType text/css "access 1 month"
 ExpiresByType text/html "access 1 month"
 ExpiresByType application/pdf "access 1 month"
 ExpiresByType text/x-javascript "access 1 month"
 ExpiresByType application/x-shockwave-flash "access 1 month"
 ExpiresByType image/x-icon "access 1 year"
 ExpiresDefault "access 1 month"
</IfModule>

# 1 day for most static assets
<ifModule mod_headers.c>
 Header set Connection keep-alive
</ifModule>

我联系了服务器管理员询问 mod_deflate 模块是否未启用,但已确保已启用,已提供屏幕截图作为证据。

在这一点上有点难过我应该从这里去哪里?

这可能是一个愚蠢的问题,我不确定您使用的是哪个版本的 Plesk,但是:

  • 您在 Plesk 中有 "Apache & nginx Settings" 图标吗?
  • 如果是,是否禁用了 "Serve static files directly by nginx"?如果没有,请尝试禁用它并查看是否有所不同。*
  • 您也可以尝试使用其他代理复选框选项。

*(如果启用了mod_pagespeed,最好保持启用状态,但其中只有"htm html",否则它们将显示为空白。)

原来是因为托管环境是使用 Apache 和 Nginx 的混合设置的。

服务器管理员更新了 Nginx 指令以启用压缩。