我正在尝试解决新的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>
在我尝试按类型启用的位置上,我想了解如何实现此功能的其他想法吗?
答案 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>