【发布时间】:2011-09-14 13:51:45
【问题描述】:
我有一个脚本消耗太多资源来提供只能每分钟检索的数据。有没有办法通过 .htaccess 文件来配置 Apache 2,以指定标题告诉客户端将脚本结果在其缓存中保持原样一分钟?
我知道这可以通过脚本本身来完成,但我想通过网络服务器的配置来完成。
【问题讨论】:
标签: apache caching cache-control browser-cache
我有一个脚本消耗太多资源来提供只能每分钟检索的数据。有没有办法通过 .htaccess 文件来配置 Apache 2,以指定标题告诉客户端将脚本结果在其缓存中保持原样一分钟?
我知道这可以通过脚本本身来完成,但我想通过网络服务器的配置来完成。
【问题讨论】:
标签: apache caching cache-control browser-cache
mod_expires 是一个很好的解决方案。
如果您使用的是类 unix 系统:
a2enmod expires
apache2ctl restart
然后您将能够为给定文件定义过期条件,或通过您的 .htaccess 文件根据 mimetype 定义缓存策略。
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/gif A3600
<Files scriptToCache.php>
ExpiresDefault A60
</Files>
</IfModule>
这里的“A3600”表示文件在访问后3600秒过期。
更多信息在这里:http://httpd.apache.org/docs/2.0/mod/mod_expires.html
【讨论】:
简短的回答是否定的 - 您需要从脚本中返回缓存标头。
【讨论】:
<IfModule mod_expires.c>
<FilesMatch "\.(jpe?g|png|gif|js|css)$">
ExpiresActive On
ExpiresDefault "access plus 1 year"
</FilesMatch>
</IfModule>
【讨论】: