Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何对网站上的.css和.js文件使用gzip压缩?_Javascript_Css_Apache_Compression_Gzip - Fatal编程技术网

Javascript 如何对网站上的.css和.js文件使用gzip压缩?

Javascript 如何对网站上的.css和.js文件使用gzip压缩?,javascript,css,apache,compression,gzip,Javascript,Css,Apache,Compression,Gzip,为了让gzip压缩在我的共享托管服务器上的网站上工作,我已经辛苦了好几天了。我已经取得了一定程度的成功,但遗憾的是,尽管我尽了最大努力,css和.js文件还是被遗漏了。因为我使用的是共享主机,所以我无法访问apache配置文件,所以我不得不使用.htaccess文件来实现这一点 我目前正在使用的站点是运行Wordpress的,下面是我正在使用的.haccess文件: # compress text, html, javascript, css, xml: AddOutputFilterByTyp

为了让gzip压缩在我的共享托管服务器上的网站上工作,我已经辛苦了好几天了。我已经取得了一定程度的成功,但遗憾的是,尽管我尽了最大努力,css和.js文件还是被遗漏了。因为我使用的是共享主机,所以我无法访问apache配置文件,所以我不得不使用.htaccess文件来实现这一点

我目前正在使用的站点是运行Wordpress的,下面是我正在使用的.haccess文件:

# compress text, html, javascript, css, xml:
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/js
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript

## 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 text/css "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 week"
</IfModule>
## EXPIRES CACHING ##

<IfModule mod_headers.c>
  <FilesMatch "\.(js|css|xml|gz)$">
    Header append Vary Accept-Encoding
  </FilesMatch>
</IfModule>

<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>
压缩文本、html、javascript、css、xml: AddOutputFilterByType泄气文本/普通 AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE应用程序/xml AddOutputFilterByType DEFLATE应用程序/xhtml+xml AddOutputFilterByType DEFLATE应用程序/rss+xml AddOutputFilterByType放气应用程序/js AddOutputFilterByType DEFLATE应用程序/javascript AddOutputFilterByType DEFLATE应用程序/x-javascript ##过期缓存## 过期于 过期按类型映像/jpg“访问1年” 过期按类型图像/jpeg“访问1年” ExpiresByType image/gif“访问1年” 过期按类型图像/png“访问1年” ExpiresByType文本/css“访问1个月” 过期按类型应用程序/pdf“访问1个月” ExpiresByType文本/x-javascript“访问1个月” 过期按类型应用程序/x-shockwave-flash“访问1个月” 过期按类型图像/x图标“访问1年” ExpiresDefault“访问1周” ##过期缓存## 头附加变量接受编码 mod_gzip_on Yes 是的 mod_gzip_item_include file\(html?| txt | css | js | php | pl)$ mod_gzip_item_包含处理程序^cgi脚本$ mod_gzip_项目包括mime^text/* mod_gzip_item_包括mime^application/x-javascript* mod_gzip_项_排除mime^image/* mod_gzip_item_排除rspheader^内容编码:.*gzip* 当我使用Firebug v1.8.3和Google PageSpeed v1.12检查站点时,发现以下文件未被压缩:

/wp包括/js/jquery/jquery.js?ver=1.6.1

/wp content/themes/peak heat/script/global.js

/wp content/plugins/contact-form-7/jquery.form.js?ver=2.52

/wp content/themes/peak heat/style.css

/wp content/plugins/contact-form-7/scripts.js?ver=3.0

/wp content/plugins/contact-form-7/styles.css?ver=3.0

/wp内容/插件/推荐小部件/推荐小部件.css

检查网站URL本身和网站,它确认压缩已启用,但当我检查上述.css和.js文件时,它表示它们未被压缩


压缩我的站点时,如何包含所有.css和.js文件?

AddOutputFilterByType DEFLATE text/css
将压缩设置为
DEFLATE
,而不是
gzip
,因此使用
filematch
并将
内容编码
标题设置为
x-DEFLATE

<filesMatch "\.(js|css)$">
Header set Content-Encoding x-deflate
# Header set Content-Encoding compress
# Header set Content-Encoding x-gzip
</filesMatch>

标题集内容编码x-deflate
#标题集内容编码压缩
#标题集内容编码x-gzip

如果失败,请取消注释
compress
行,并注释
x-deflate
行。gzip不是标准Apache安装的一部分,因此如果deflate不够,请安装。作为最后手段,.

我认为您缺少了
AddOutputFilterByType DEFLATE text/javascript
。添加该选项为我解决了问题。

您是否有其他与这些文件匹配的
.htaccess
文件/规则?您的html文件是否正在压缩?@Rob W-我刚刚检查了所有子文件夹。站点上没有其他.htaccess文件。@mahnsc-是,HTML文件正在被压缩。您是否可以/已经将相同的.htaccess文件作为测试添加到
/wp content/themes/peak heat/
目录中,以查看styles.css是否会被压缩?当我在magento中使用此代码时,它的css和js停止工作这对我有效:)一个问题,有没有办法压缩外部文件?谷歌称“cdn1.livechat.com/mife.js”可以节省14kb,但它是一个外部文件。知道如何加载压缩后的文件吗?@user2997826如果需要压缩外部文件,有些文件会涉及到这一点,但这是特定于CDN的。@Paul Sweatte:当我在.htaccess文件中使用此代码时,css&js不会加载到DOM中。你有没有其他方法来压缩js&css文件?@user1640432在答案的末尾有一个链接,有另一种方法。