我不能让我的网站使用gzip压缩。
我最近看了这个视频由克里斯Coyier了在css-tricks.com。 在视频中,他谈到启用gzip压缩,使网站运行得更快。
按照他的指示,我通过html5boilerplate.com通过连接到github上,从他们的.htaccess文件中复制的gzip压缩代码,粘贴到我自己,并将其上传到我的网站。
我已经通过gzipwtf.com测试,它似乎并没有工作。 谁能帮我这个?
我的.htaccess文件看起来是这样的:
# ----------------------------------------------------------------------
# Trim www
# ----------------------------------------------------------------------
RewriteEngine On
RewriteCond %{HTTP_HOST} !^orbitprint.com$ [NC]
RewriteRule ^(.*)$ http://orbitprint.com/$1 [L,R=301]
# ----------------------------------------------------------------------
# Gzip compression
# ----------------------------------------------------------------------
<IfModule mod_deflate.c>
# Force deflate for mangled headers developer.yahoo.com/blogs/ydn/posts/2010/12/pushing-beyond-gzipping/
<IfModule mod_setenvif.c>
<IfModule mod_headers.c>
SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
</IfModule>
</IfModule>
# Compress all output labeled with one of the following MIME-types
<IfModule mod_filter.c>
AddOutputFilterByType DEFLATE application/atom+xml \
application/javascript \
application/json \
application/rss+xml \
application/vnd.ms-fontobject \
application/x-font-ttf \
application/xhtml+xml \
application/xml \
font/opentype \
image/svg+xml \
image/x-icon \
text/css \
text/html \
text/plain \
text/x-component \
text/xml
</IfModule>
</IfModule>
Answer 1:
试试这个 :
####################
# GZIP COMPRESSION #
####################
SetOutputFilter DEFLATE
AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/x-javascript application/x-httpd-php
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip
Answer 2:
这是更好地实现它,如下面的代码片段。
只需粘贴下面的内容在你.htaccess
文件,然后,检查使用性能: 谷歌的PageSpeed , Pingdom的工具和GTmetrics 。
# Enable GZIP
<ifmodule mod_deflate.c>
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
</ifmodule>
# Expires Headers - 2678400s = 31 days
<ifmodule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 seconds"
ExpiresByType text/html "access plus 7200 seconds"
ExpiresByType image/gif "access plus 2678400 seconds"
ExpiresByType image/jpeg "access plus 2678400 seconds"
ExpiresByType image/png "access plus 2678400 seconds"
ExpiresByType text/css "access plus 518400 seconds"
ExpiresByType text/javascript "access plus 2678400 seconds"
ExpiresByType application/x-javascript "access plus 2678400 seconds"
</ifmodule>
# Cache Headers
<ifmodule mod_headers.c>
# Cache specified files for 31 days
<filesmatch "\.(ico|flv|jpg|jpeg|png|gif|css|swf)$">
Header set Cache-Control "max-age=2678400, public"
</filesmatch>
# Cache HTML files for a couple hours
<filesmatch "\.(html|htm)$">
Header set Cache-Control "max-age=7200, private, must-revalidate"
</filesmatch>
# Cache PDFs for a day
<filesmatch "\.(pdf)$">
Header set Cache-Control "max-age=86400, public"
</filesmatch>
# Cache Javascripts for 31 days
<filesmatch "\.(js)$">
Header set Cache-Control "max-age=2678400, private"
</filesmatch>
</ifmodule>
Answer 3:
你的.htaccess应该运行得很好; 这取决于四个不同的Apache模块(每个一个<IfModule>
指令)。 我想执行下列操作之一:
Apache服务器没有安装和运行的是mod_filter,mod_deflate模块,和mod_headers中/或mod_setenvif模块。 如果您可以访问服务器的配置,请检查/etc/apache2/httpd.conf
(以及相关的Apache的配置文件); 否则,可以看到哪些模块经由加载phpinfo()
,根据apache2handler部分(参见附图); ( 编辑 ),或者,你可以打开一个终端窗口并发出命令sudo apachectl -M
将列出已加载的模块;
如果你得到一个HTTP 500内部服务器错误,您的服务器可能不会被允许使用.htaccess文件;
你要加载发送它自己的头(覆盖Apache'sheaders)PHP文件,因此“混乱”的浏览器。
在任何情况下,你应该仔细检查你的服务器配置和错误日志,看看有什么地方出了错。 只是可以肯定,尝试使用建议的最快方法这里在Apache的文档:
AddOutputFilterByType DEFLATE text/html text/plain text/xml
然后尝试装入大型文本文件(最好先清理缓存)。
( 编辑 )如果需要的模块都存在(在Apache模块目录),但不加载,只是编辑/etc/apache2/httpd.conf和添加的LoadModule指令为他们中的每一个。
如果需要的模块不存在(没有装,也不在Apache模块目录),我担心,唯一的选择就是重新安装的Apache(完整版)。
Answer 4:
首先, 去阿帕奇/斌/ conf目录/ httpd.conf文件 ,并确保mod_deflate.so启用。
然后去.htaccess文件并添加此行:
SetOutputFilter DEFLATE
这应该输出的所有内容担任gzip压缩的,我已经尝试过了,它的工作原理。
Answer 5:
使用相同的.htaccess配置就遇到了这个问题。 我意识到,我的服务器担当JavaScript文件为text/javascript
,而不是application/javascript
。 有一次,我加text/javascript
到AddOutputFilterByType
声明,Gzip已开始工作。
至于为什么要使用JavaScript正在担任text/javascript
:有一个AddType 'text/javascript' js
声明我的根.htaccess文件的顶部。 删除它(它已经被错误地加)后,JavaScript的起点作为application/javascript
。
Answer 6:
在我来说,我已经使用了如下使gzip压缩的Apache Web服务器的代码。
# Compress HTML File, CSS File, JavaScript File, Text File, XML File and Fonts
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE application/json
AddOutputFilterByType DEFLATE application/x-httpd-php
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 font/otf
AddOutputFilterByType DEFLATE font/ttf
我从取出的参考http://www.tutsway.com/enable-gzip-compression-using-htacess.php 。
Answer 7:
在我的情况下追加仅此行的工作
SetOutputFilter DEFLATE
Answer 8:
允许通过的.htaccess压缩
对于大多数人读这篇文章,压缩是通过添加一些代码到一个名为的.htaccess他们的网络主机/服务器上的文件中启用。 这意味着要到文件管理器(或无论你走到哪里添加或上传文件)在您的虚拟主机提供商。
.htaccess文件控制为您的网站很多重要的事情。
下面的代码应该添加到您的.htaccess文件...
<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>
保存.htaccess文件,然后刷新网页。
请检查您是否压缩使用工作Gzip压缩工具 。
Answer 9:
如果你的虚拟主机是到C面板开启的Apacheç图G Zip压缩
进入cPanel和检查软件选项卡。
以前用于优化工作的网站,但现在一个新的选项可用,即“MultiPHP INI编辑器”。
选择要压缩的域名。
向下滚动至底部,直到你找到ZIP压缩输出和启用它。
现在,再次检查对G Zip压缩。
您可以按照视频教程也。 https://www.youtube.com/watch?v=o0UDmcpGlZI
Answer 10:
<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>
<IfModule mod_deflate.c>
# Insert filters
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/x-httpd-php
AddOutputFilterByType DEFLATE application/x-httpd-fastphp
AddOutputFilterByType DEFLATE image/svg+xml
# Drop problematic browsers
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
# Make sure proxies don't deliver the wrong content
Header append Vary User-Agent env=!dont-vary
</IfModule>
文章来源: How can I get Apache gzip compression to work?