php控制页面浏览器缓存与启用gzip传送
本文章来给各位同学介绍php控制页面浏览器缓存与启用gzip传送页面方法,希望此代码对各位同这会有所帮助,同时没有服务器权限的朋友可这样来实现服务器gzip页面传输。
php实例gzip传输页面,可以用于静态资源与html页面,修改一下也适合于其他语言,代码如下:
//缓存过期时间(Cache-Control, http1.1协义), 推荐使用 $secs = 0; //秒 header("Cache-Control: s-maxage=$secs, max-age=$secs, must-revalidate, proxy-revalidate"); // 缓存过期时间为24小时(Expires) $offset = 3600 * 24; $expire = "Expires: " . gmdate("D, d M Y H:i:s", time() + $offset) . " GMT"; Header($expire); //Last-Modified, 最后修改的时间 $gmt_mtime = gmdate('D, d M Y H:i:s', time() ) . ' GMT'; header("Last-Modified: " . $gmt_mtime ); //启用gzip压缩 ob_start(); ... your php code ... ... your php code ... ... your php code ... header('Content-Length: ' . ob_get_length()); ob_end_flush();
如果你有服务器权限可参考apache开启gzip传输
一,找到你的httpd.conf文件,打开找到如下
LoadModule deflate_module modules/mod_deflate.so
把前面的#去了,因为mod_deflate.so模块默认是关闭的,好了下面一下
二,把现面代码放到你httpd.conf文件最后面就好了,代码如下:
<IfModule mod_deflate.c> SetOutputFilter DEFLATE DeflateCompressionLevel 5 AddOutputFilterByType DEFLATE text/html text/css image/gif image/jpeg image/png application/x-javascript </IfModule>
重启你的apache就KO了
iis开启gzip页面传输
1. 打开Internet信息服务(IIS)管理器,右击"网站"-》"属性",选择"服务"。在"HTTP压缩"框中选中"压缩应用程序文件"和"压缩静态文件",按需要设置"临时目录"和"临时目录的最大限制";
2. 在Internet信息服务(IIS)管理器,右击"Web服务扩展"-》"增加一个新的Web服务扩展。。.",在"新建Web服务扩展"框中输入扩展名"HTTP Compression",添加"要求的文件"为C:WINDOWSsystem32inetsrvgzip.dll,其中Windows系统目录根据您的安装可能有所不同,选中"设置扩展状态为允许";
3. 使用文本编辑器打开C:WindowsSystem32inetsrvMetaBase.xml(建议先备份),找到Location ="/LM/W3SVC/Filters/Compression/gzip用于设置gzip压缩,找到Location ="/LM/W3SVC/Filters/Compression/deflate"用于设置deflate压缩,上面两个节点紧挨着,并且设置的属性相同。
如果需要压缩动态文件,则将HcDoDynamicCompression设置为"TRUE",并在HcScriptFileExtensions中增加您要压缩的动态文件后缀名,如aspx;
如果需要压缩静态文件,则将HcDoStaticCompression和HcDoOnDemandCompression设置为"TRUE",
并在HcFileExtensions中增加您需要压缩的静态文件后缀名,如xml、css等;HcDynamicCompressionLevel和HcOnDemandCompLevel表示需要的压缩率,数值在0-10, 默认为0。
HcDynamicCompressionLevel属性说明:HcDynamicCompressionLevel Metabase Property
HcOnDemandCompLevel 属性说明:HcOnDemandCompLevel Metabase Property
说明:这两个属性值一般推荐设置为9, 具有最佳性价比。
注意:
1.在编辑MetaBase.xml前需要停止IIS,可以使用 net stop iisadmin
2.修改完成后开启iisadmin服务,并执行iisreset命令
关于SEO的测试
压缩是否对SEO有影响,经测试,开启后仍然可以被很好的收录。
关于对SEO影响的研究文章,还可以参考下面的几篇文章。
具体的效率问题,将继续监控以作研究.
本文地址:http://www.phprm.com/develop/fs1570.html
转载随意,但请附上文章地址:-)