百度站长平台检测到未设置max-age或expires的问题
Max-age是指我们的web中的文件被用户访问(请求)后的存活时间,是个相对的值,相对Request_time(请求时间)。
Expires它比max-age要麻烦点,Expires指定的时间分“相对文件的最后访问时间”和“绝对修改时间”。
解决未设置max-age或expires的方法:(我用的服务器是apache )
在服务器/虚拟空间根目录找到“.htaccess”文件。如果没有请新建。
在文件最下面添加如下代码:(设置max-age,含义是将某些文件的缓存保存2592000秒,30天)
<FilesMatch ".(flv|gif|jpg|jpeg|png|ico|swf|js|css|pdf)$">
Header set Cache-Control "max-age=2592000"
</FilesMatch>
保存上传,修改完毕。再去百度站长工具检测下,就会发现“未设置max-age或expires”的项目减少了,而且网站二次打开速度明显快了。
以上代码,是浏览器缓存格式flv,gif,jpg,jpeg,png,ico,swf格式的文件一个月。如果想改变缓存时间请修改max-age值。
如果需要缓存其他格式文件,请修改格式就OK。
在网站的.htaccess文件中写入以下内容:(设置expires)
ExpiresActive On
ExpiresDefault A600
ExpiresByType image/x-icon A2592000
ExpiresByType application/x-javascript A604800
ExpiresByType text/css A604800
ExpiresByType image/gif A2592000
ExpiresByType image/png A2592000
ExpiresByType image/jpeg A2592000
ExpiresByType text/plain A86400
ExpiresByType application/x-shockwave-flash A2592000
ExpiresByType video/x-flv A2592000
ExpiresByType application/pdf A2592000
ExpiresByType text/html A600
ExpiresDefault A2592000
text/css表示样式表文件,text/plain代表的纯文本类文件,依次类推。那个A2592000就表示这种类型文件在浏览器中的缓存时间,2592000就表示这类文件可以缓存30天。如果你不是经常修改模板,那样式表文件和javasctipt文件基本上也可以设置缓存一周到一个月左右。text/html文件不要设置太长的缓存时间,因为这些东西修改的频率很高,ExpiresDefault A2592000 表示没有指定的文件类型就缓存一月。
