Apache2仅限缓存特定文件

时间:2016-05-23 01:53:24

标签: apache ubuntu caching amazon-ec2

我正在运行带有Ubuntu 14.4的Amazon EC2和没有PHP或其他服务器端脚本的Apache2 - 只是一个静态内容站点。我使用本教程来了解我现在使用的apache文件(参见下面的链接截图): https://www.digitalocean.com/community/tutorials/how-to-configure-apache-content-caching-on-ubuntu-14-04

我希望有一个指令(如果这是命名法)告诉Apache不要仅缓存单个特定文件,但仍然处理其他所有已配置的文件。我这里没有计算机专家 - 只是学习。有没有办法做到这一点?目前我在我的images文件夹中创建了一个名为" no-cache"我不希望缓存生活的图像。

我尝试在第一个位置标记下添加第二个位置标记" CacheDisable on"在它内部,但不支持。还尝试使用Directory标记,但这也不适用于当前配置。

提前致谢!

/etc/apache2/sites-enabled/000.default.conf

1 个答案:

答案 0 :(得分:0)

您提供的链接有点令人困惑,因为它提到了许多不同类型的缓存。

在处理Web服务器和缓存时,通常意味着发送缓存消息(使用http标头)来定义浏览器应如何处理缓存,以提高访问者的性能。这是您的链接中讨论的最后一项,尽管是最常见的。第一部分讨论Apache缓存文件本身,以提高自身的性能,并且不太常见。

如果使用mod_expiries的客户端缓存是你的意思,那么你可以用位置标题来控制它:

#Allow long term assets to be cached for 6 months as they are versioned and should never change
<Location /assets/libraries/ >
        ExpiresDefault A15724800
        Header set Cache-Control "public"
</Location>

#Do not cache these files
<Location /login >
        Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
        Header set Pragma "no-cache" 
</Location>

我在这里有一个更详细的博客:https://www.tunetheweb.com/performance/http-performance-headers/caching/