Php 关于gzip的困惑,它是压缩的还是不压缩的?
很抱歉用一个似乎有很好记录的问题来打扰你,但是我尝试过的事情没有一件是完全令人满意的 就在上周,我的公司从一个托管软件包切换到了一个管理服务器,我仍在对其进行优化 现在,谷歌PageSpeed Insights告诉我,我也是。告诉我压缩效果很好 我已经补充了Php 关于gzip的困惑,它是压缩的还是不压缩的?,php,apache,.htaccess,gzip,Php,Apache,.htaccess,Gzip,很抱歉用一个似乎有很好记录的问题来打扰你,但是我尝试过的事情没有一件是完全令人满意的 就在上周,我的公司从一个托管软件包切换到了一个管理服务器,我仍在对其进行优化 现在,谷歌PageSpeed Insights告诉我,我也是。告诉我压缩效果很好 我已经补充了 <IfModule mod_deflate.c> <FilesMatch "\.(html|php|txt|xml|js|css)$"> SetOutputFilter DEFLATE </FilesMatch
<IfModule mod_deflate.c>
<FilesMatch "\.(html|php|txt|xml|js|css)$">
SetOutputFilter DEFLATE
</FilesMatch>
</IfModule>
到我的php.ini。
整个.htaccess和php.ini可以在上看到
Firefox和Chrome中发送和接收的头文件都声称正在进行压缩
我还在我的主目录中创建了一个,因为我的服务器上还没有。我应该把文件移到别的地方吗
我真正想知道的是:
苏。。。我做错了什么?它是压缩的吗?不是吗?如何让谷歌“看到”压缩
非常感谢您的帮助。这应该是您需要的功能,它会自动生成您需要的标题:
无论如何,请检查您的php版本,因为它仅适用于php 5.4.0或更高版本。这应该是您需要的函数,它应该自动生成您需要的标题:
无论如何,请检查您的php版本,因为它仅适用于php 5.4.0或更高版本。尽管我的浏览器接受deflate/gzip编码(
接受编码:gzip,deflate
),但您的服务器不会使用压缩数据进行应答:
HTTP/1.1 200 OK
Date: Tue, 11 Mar 2014 09:41:45 GMT
Server: Apache
Connection: Keep-Alive
Keep-Alive: timeout=2, max=200
Etag: "96-100e9-4f4517d791912"
Expires: Fri, 11 Apr 2014 13:28:25 GMT
Cache-Control: max-age=2692000, public
Vary: User-Agent
如果它被压缩,服务器也会发送
Content-Encoding: deflate
使用FireBug或开发人员控制台查看标题。它必须是您的httpd.conf。
您不能简单地在主目录中创建此文件,Apache将加载它
查看配置文件的
/etc/apache*
和/etc/httpd/*
。虽然我的浏览器接受deflate/gzip编码(接受编码:gzip,deflate
),但您的服务器不会使用压缩数据进行应答:
HTTP/1.1 200 OK
Date: Tue, 11 Mar 2014 09:41:45 GMT
Server: Apache
Connection: Keep-Alive
Keep-Alive: timeout=2, max=200
Etag: "96-100e9-4f4517d791912"
Expires: Fri, 11 Apr 2014 13:28:25 GMT
Cache-Control: max-age=2692000, public
Vary: User-Agent
如果它被压缩,服务器也会发送
Content-Encoding: deflate
使用FireBug或开发人员控制台查看标题。它必须是您的httpd.conf。
您不能简单地在主目录中创建此文件,Apache将加载它
查看配置文件的
/etc/apache*
和/etc/httpd/*
。您已经启用了gzip压缩,但尚未将其设置为压缩某些文件类型,如javascript和css。这就是谷歌PageSpeed试图建议启用压缩的原因。要启用这两种类型的压缩,请使用
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/javascript
您已经启用了gzip压缩,但尚未将其设置为压缩某些文件类型,如javascript和css。这就是谷歌PageSpeed试图建议启用压缩的原因。要启用这两种类型的压缩,请使用
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/javascript
最后,我描述了对js/css文件进行压缩的工作原理,这些文件由于我还不太了解的原因而未进行压缩
在这种方法中,javascript和css文件被php脚本强制压缩。它还设置了新的“Expire”-头,因此如果您希望缓存超过5分钟,请更改数字。添加不同的文件更为棘手,但我认为这是可能的。最后,对我来说,压缩js/css文件的效果是什么,这些文件由于我还不太了解的原因而没有压缩
在这种方法中,javascript和css文件被php脚本强制压缩。它还设置了新的“Expire”-头,因此如果您希望缓存超过5分钟,请更改数字。添加不同的文件比较棘手,但我认为这是可能的。嘿,谢谢你的回答。我可能无法使用它,因为我们使用的是过时的CMS(我的任务是在尽可能优化它之后替换它),但我该如何使用它呢?我会用函数包装整个html生成文件吗?非常感谢你的建议。你可以在我发布的链接上找到5号示例,在那里你可以找到一个简单的方法来使用它。关于你的CMS,这可能是加速转换的时候了:)祝你工作顺利!嘿,谢谢你的回答。我可能无法使用它,因为我们使用的是过时的CMS(我的任务是在尽可能优化它之后替换它),但我该如何使用它呢?我会用函数包装整个html生成文件吗?非常感谢你的建议。你可以在我发布的链接上找到5号示例,在那里你可以找到一个简单的方法来使用它。关于你的CMS,这可能是加速转换的时候了:)祝你工作顺利!它为主html文件发送内容编码:“gzip”,但不是所有js/css文件。。。奇怪的是,我的服务器上不存在/etc/httpd文件夹,我有/etc/apache ssl和/apache dav,但是-dav是空的,-ssl被我阻止读取。。。我是否可以创建directy/httpd/或者它是否是一个严重的信号,表明它完全丢失了某些错误?谢谢你的回答。@KjeldSchmidt谷歌抱怨js/css没有被压缩。我会询问您的服务器管理员/提供商配置文件的正确位置以及如何包含您自己的配置文件。您不能简单地创建目录。。在主Apache配置中,必须有
Include/etc/httpd/conf.d/*
或某些东西,它为主html文件发送内容编码:“gzip”,但不是所有js/css文件。。。奇怪的是,我的服务器上不存在/etc/httpd文件夹,我有/etc/apache ssl和/apache dav,但是-dav是空的,-ssl被我阻止读取。。。我是否可以创建directy/httpd/或者它是否是一个严重的信号,表明它完全丢失了某些错误?谢谢你的回答。@KjeldSchmidt谷歌抱怨js/css没有被压缩。我会询问您的服务器管理员/提供商配置文件的正确位置以及如何包含您自己的配置文件。您不能简单地创建目录。。在主Apache配置中必须有Include/etc/httpd/conf.d/*