【问题标题】:Using htaccess to bundle a bunch of files into a single one使用 htaccess 将一堆文件捆绑成一个文件
【发布时间】:2012-04-16 12:01:38
【问题描述】:

假设你有一个 css 文件加载器style.php

     <?php 
           header('Content-type: text/css'); 
           foreach(array('style1.css', 'style2.css', 'style3.css') as $f)
                 echo file_get_contents($f)
     ?>

style1.css 12KB,style2.css 400kgs,红角肥胖的style3.css 800LBs 是静态资源带宽消耗世界冠军!

我正在使用style.php 将三个文件组合起来并发送给客户端。我也在使用类似的 php 文件来发送 JS 资源,组合起来。

是否有一些 htaccess 规则可以告诉我将几个静态资源组合成一个大资源,然后即时发送?

/编辑:

这种类型的工作可以由 htaccess 处理我确定我在某处读过有关包含的服务器文件或类似的内容,但我不记得在哪里。而且我还看到了免费托管服务,无论您在其中托管什么文件,它们都会放置自定义标题或横幅。

【问题讨论】:

    标签: .htaccess caching url-rewriting static-files


    【解决方案1】:

    这种类型的工作(组合css文件)不能由.htaccess处理。您最多可以使用 mod_deflate 来压缩 css 文件的内容。

    但是,在 PHP 代码中,您可以组合和压缩各种 CSS 文件。看看http://www.catswhocode.com/blog/3-ways-to-compress-css-files-using-php中的第三种方法

    最后看看这里的 minify:http://www.minifycss.com/minify-tools/minify-css-tools.php

    【讨论】:

    • 没用。这里的重点是降低大量流量的负载,同时保持文件结构以实现无痛开发。我已经更新了问题
    • It doesn't help: 你能说出我的答案中没有帮助的 3 种方法吗?
    • 前两个对三个 CSS 文件中的每一个都施加了额外的请求。在微小的 javascript 文件上,额外的 HTTP 开销大于文件大小本身。第三种方法将文件缓冲到内存中,这正是我想要避免的。
    • 不确定additional requests 的确切含义。 mod_deflate 和 PHP 代码都会做一些最小的服务器端处理来压缩你的 css/js。如果您在 PHP 中执行此操作,那么您当然可以检查最小文件大小并决定是“按原样”提供文件还是压缩/组合。
    • 当你有 28 个 JS 文件并且需要上传一个关键更新到应用程序,并且 10 分钟后另一个更新更新之前的更新,4 或 5 个用户将被弹跳,因为所有文件都需要被缩小。当它只能是 1 个用户在等待一个文件时,它会瞬间缩小。然后,做一个 100 个用户的 28 次,并将其与直接缓存文件访问进行比较。这个问题用 Apache 指令解决了我只是不确定那个该死的小东西有什么名字。
    【解决方案2】:

    终于找到了我要找的东西。这东西叫Server-Side Includes (SSI)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-19
      • 2018-03-26
      • 1970-01-01
      • 1970-01-01
      • 2016-12-21
      • 2018-04-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多