我必须使用缓存为我在网站中使用的css文件和js文件.我的网站在共享托管服务器上运行.服务器无法做任何事情.
那么对于js和css文件使用缓存和压缩的解决方案是什么呢?
如果你使用Apache,我会从这里开始.
http://www.askapache.com/htaccess/htaccess.html
http://www.askapache.com/htaccess/speed-up-your-site-with-caching-and-cache-control.html#caching-with-mod_expires
压缩和缓存是不同的事情.
对于压缩,PHP Minify或YUI Compressor非常棒.如果所有其他方法都失败了,TextMate有一个很好的Javascript工具包,可以让你压缩你的代码.您可以手动压缩代码,然后上传代码,并撤消压缩以使源恢复到可读状态.我不推荐这个,但我之前做过.
要进行缓存,请阅读askapache.com网站.有几种简单的方法可以打开mod_expires,mod_compress和其他模块.由于您在共享主机上,这里有一些警告,因为主机可能已关闭某些Apache模块.我使用过GoDaddy,他们关闭了mod_expires.有关Apache模块的主机特定信息,请参阅主机支持文档.
如果你运气好,重要的是你可以:你可以:
SetOutputFilter DEFLATE SetEnvIfNoCase Request_URI \ \.(?:gif|jpe?g|png)$ no-gzip dont-vary ExpiresActive on ExpiresByType image/jpg "access 2 month" ExpiresByType image/gif "access 2 month" ExpiresByType image/jpeg "access 2 month" ExpiresByType image/png "access 2 month" ExpiresByType text/css "access 2 month" ExpiresByType application/x-javascript "access plus 2 month" ExpiresByType text/javascript "access plus 2 month" ExpiresByType application/javascript "access plus 2 month" ExpiresByType image/x-icon "access plus 12 month" ExpiresByType image/icon "access plus 12 month" ExpiresByType application/x-ico "access plus 12 month" ExpiresByType application/ico "access plus 12 month" `
将此代码放入.htaccess文件中,打开FireFox,然后打开Firebug,然后打开YSlow.运行YSlow测试,它会告诉您缓存是否正常工作.
如果您可以使用PHP5,请使用Minify ...它将压缩,混淆和缓存您的HTML/CSS而无需更改脚本(JS/CSS)源代码.
如果您无法在服务器上使用PHP5,请使用YUI Compressor压缩和混淆您的文件,并使用.htaccess缓存您的文件:
Header set Cache-Control "max-age=172800, public, must-revalidate"