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