使用 Gzip 压缩或 Deflate 我的 CSS 和 JS 文件

使用 Gzip 压缩或 Deflate 我的 CSS 和 JS 文件

我有一个时尚网站和使用 wordpress。我想要压缩、Gzip 或 Deflate我的CSS 和 JS 文件.我尝试了很多代码.htaccess压缩但不工作。有谁能帮助我吗?

我的 phpinfo 是http://deemasfashion.co.uk/1.php

以下是我试过但不起作用的代码。其中一些可能相同,但语法有差异。

<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_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>

我尝试过其他代码但没有起作用......

<files *.css>
SetOutputFilter DEFLATE
</files>
<files *.js>
SetOutputFilter DEFLATE
</files>

我也尝试过此代码,但没有成功。

<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_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>

此代码也不起作用

<FilesMatch "\.(html?|txt|css|js|php|pl)$">
SetOutputFilter DEFLATE
</FilesMatch>

这是另一个不起作用的代码。

<ifmodule mod_deflate.c>
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x- javascript application/javascript
</ifmodule>

这是另一个不起作用的代码。

<IFModule mod_deflate.c>
<filesmatch "\.(js|css|html|jpg|png|php)$">
SetOutputFilter DEFLATE
</filesmatch>
</IFModule>

这是另一个不起作用的代码。

<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/x-javascript text/javascript    application/javascript application/json
<FilesMatch "\.(css|js)$" >
SetOutputFilter DEFLATE
</FilesMatch>
</IfModule>

这是另一个不起作用的代码。

#Gzip - compress text, html, javascript, css, xml
<ifmodule mod_deflate.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
</ifmodule>
#End Gzip

这是另一个不起作用的代码。

<Location />
SetOutputFilter DEFLATE
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI \.(?:exe|t?gz|zip|gz2|sit|rar)$ no-gzip dont-vary
</Location> 

答案1

phpinfo除非它是一个模块,否则不显示 Apache 的配置 -mod_status显示 Apache 的配置,包括已加载的模块。

如果你安装了 mod_gzip,那么这个应该可以工作:

mod_gzip_on Yes
mod_gzip_dechunk Yes

mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/javascript
mod_gzip_item_include mime ^application/xm.*
mod_gzip_item_include mime ^image/svg.*
mod_gzip_item_include mime ^application/(x-)?font-.*

(请注意,前两行抓取 CSS 和 Javascript,以及任何具有“文本” MIME 类型的内容)

我更喜欢 mod_gzip 而不是 mod_deflate,因为

  1. GZip 具有校验和,并使用与 deflate 完全相同的压缩。
  2. 配置简单了一百万倍。我仍然搞不清楚 Deflate 配置是故意设计的太复杂还是历史遗留问题。
  3. 浏览器也同样支持 GZip,因此除了校验和的“开销”之外没有其他缺点。

相关内容