有没有人知道如何在组合多个CSS请求时实现像
TypeKit这样的东西?也许我不知道这一点,但当你列出一些字体时,网站会生成(可能是动态的)CSS,如567,568,569.css,加载字体文件.我认为它是动态的,如果你使用其他组合(在这种情况下是字体ID)它会改变.
我使用Carpetsmoker描述的技术,但我不喜欢每次都调用PHP脚本的事实.在Apache上,您可以设置以下重写规则(在.htaccess中):
RewriteCond %{REQUEST_URI} ^/css/cache RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^css/cache/(.*)$/css/csscacher.PHP?files=$1 [L]
因此,对于/css/cache/file1.css-file2.css的请求,Apache将测试它的存在.如果它不存在,请求将被转发到csscacher.PHP脚本,文件名作为“files”参数的值传递. csscacher.PHP将加载并组合多个文件,将结果发送到浏览器,还将结果写入/css/cache/file1.css-file2.css.所有后续请求都将作为静态文件提供.
要清除缓存,您只需删除/ css / cache文件夹中的所有内容.当请求进来时,csscacher.PHP将从源文件中重新创建它们.更多细节here.