Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.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
Php 关于gzip的困惑,它是压缩的还是不压缩的?_Php_Apache_.htaccess_Gzip - Fatal编程技术网

Php 关于gzip的困惑,它是压缩的还是不压缩的?

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

很抱歉用一个似乎有很好记录的问题来打扰你,但是我尝试过的事情没有一件是完全令人满意的

就在上周,我的公司从一个托管软件包切换到了一个管理服务器,我仍在对其进行优化

现在,谷歌PageSpeed Insights告诉我,我也是。告诉我压缩效果很好

我已经补充了

<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/*