我有一个网站,Yslow说你需要用gzip压缩组件。
当我将phpinfo()作为我的test.php文件回显时,我在apache响应中找到了以下信息。
SERVER_SOFTWARE Apache / 2.2.17(Win32)PHP / 5.3.5 HTTP_ACCEPT_ENCODING gzip,deflate Accept-Encoding gzip,deflate 启用gzip压缩
然后我按照本教程复制并将以下代码粘贴到我的.htaccess文件中。
<IfModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_keep_workfiles No
mod_gzip_can_negotiate Yes
mod_gzip_add_header_count Yes
mod_gzip_send_vary Yes
mod_gzip_command_version '/mod_gzip_status'
mod_gzip_min_http 1000
mod_gzip_minimum_file_size 300
mod_gzip_maximum_file_size 512000
mod_gzip_maximum_inmem_size 60000
mod_gzip_handle_methods GET POST
mod_gzip_temp_dir /tmp
mod_gzip_item_include file \.html$
mod_gzip_item_include file \.php$
mod_gzip_item_include file \.pl$
mod_gzip_item_include file \.rb$
mod_gzip_item_include file \.py$
mod_gzip_item_include file \.cgi$
mod_gzip_item_include file \.css$
mod_gzip_item_include file \.js$
mod_gzip_item_include mime ^application/javascript$
mod_gzip_item_include mime ^application/x-javascript$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^httpd/unix-directory$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include handler ^server-status$
mod_gzip_item_include handler ^server-info$
mod_gzip_item_include handler ^application/x-httpd-php
mod_gzip_item_exclude mime ^image/.*
</IfModule>
但它没有任何区别,因为我仍然得到YSlow建议的文件压缩错误。
我还通过引用其他一些页面教程尝试了一些其他脚本而没有任何成功。
请有人能给我解决方案如何解决这个问题?
答案 0 :(得分:7)
试试这个:
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE application/x-javascript application/javascript text/javascript text/css text/html text/xml
</IfModule>
此外,清除浏览器的缓存并重新启动浏览器以确保它不缓存非gzip的响应。
答案 1 :(得分:-1)
某些服务器可能没有安装apache模块(gzip,deflate)。解决此问题的一种方法是将以下内容添加到.htaccess:
php_flag zlib.output_compression On
php_value zlib.output_compression_level 5