有没有一种自动减小静态内容的方法,然后自动从缓存中提供服务?类似于mod_compress/mod_deflate的工作方式?最好能够与压缩一起使用(因为压缩具有更明显的好处)。
我希望使用适用于lighttpd的解决方案,但我还没有找到任何东西,所以任何能够实现此功能的Web服务器都很有趣。
我决定通过PHP来实现这个功能(主要是因为我不想写一个lighttpd模块)。
我的脚本接收查询字符串,指定所请求文件的类型(js或css),以及这些文件的名称。例如,在我的网站上,CSS是这样添加的:
<link rel="stylesheet" href="concat.php?type=css&style&blue" ... />
这会将style.css和blue.css进行缩小和合并。
如果XCache可用,它还会缓存这些文件(因为缩小是昂贵的)。实际上,我计划更改脚本,以便在没有Xcache的情况下不进行缩小,但是我有Xcache并且感到无聊。
无论如何,如果其他人想要使用它,可以在这里找到它。如果您使用我的脚本,则需要更改isAllowed()
函数以列出您的文件(仅返回true可能是安全的,但是列出我想允许的文件很容易)。