对不带文件扩展名.htaccess的URL启用文本压缩

时间:2019-01-13 16:16:14

标签: .htaccess compression gzip magento2

我正在尝试解决新的Lighthouse页面速度审核中的“ 启用文本压缩”机会,并且想知道如何为 url启用文本压缩 如下所示:

www.magento2.com/customer/section/load?sections=&update_sectionid=false&_=12345678

我希望可以使用.htaccess来实现此目的,但是没有附加.txt,所以不确定如何将其应用于生成 JSON 的控制器响应。

我尝试将其添加到我的gzip配置中:

mod_gzip_item_include mime ^application/json.*

但是上述方法似乎无效。

我还尝试过将以下内容添加到我的VHOST中,以尝试强制输入该类型:

<Location "/customer/section">
  ForceType application/json
</Location>

但是,这似乎并未使压缩生效。响应标头确实显示content-type: application/json,因此Gzip应该将其识别为应压缩的响应类型。

我目前在.htaccess中设置的gzip压缩如下:

<ifModule mod_gzip.c>
  mod_gzip_on Yes
  mod_gzip_dechunk Yes
  mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
  mod_gzip_item_include handler ^cgi-script$
  mod_gzip_item_include mime ^text/.*
  mod_gzip_item_include mime ^application/x-javascript.*
  mod_gzip_item_include mime ^application/json.*
  mod_gzip_item_exclude mime ^image/.*
  mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>

在我尝试按类型启用的位置上,我想了解如何实现此功能的其他想法吗?

1 个答案:

答案 0 :(得分:0)

使用 mod deflate 而不是下面的配置最终对我有用:

  <IfModule mod_filter.c>
    AddOutputFilterByType DEFLATE text/plain
    AddOutputFilterByType DEFLATE text/html
    AddOutputFilterByType DEFLATE text/xml
    AddOutputFilterByType DEFLATE text/css
    AddOutputFilterByType DEFLATE application/xml
    AddOutputFilterByType DEFLATE application/xhtml+xml
    AddOutputFilterByType DEFLATE application/rss+xml
    AddOutputFilterByType DEFLATE application/javascript
    AddOutputFilterByType DEFLATE application/x-javascript
    AddOutputFilterByType DEFLATE application/json
    AddType x-font/otf .otf
    AddType x-font/ttf .ttf
    AddType x-font/eot .eot
    AddType x-font/woff .woff
    AddType image/x-icon .ico
    AddType image/png .png
   </IfModule>