0

我在 Joomla 中有一个网站,有些页面可以缓存一段时间。

我在 HTML 中看到元标记:

<meta http-equiv="expires" content="Fri, 29 Jun 2012 11:24:54 GMT" />
<meta http-equiv="cache-control" content="public" />

但我的 CDN 只支持 HTTP 标头缓存。

Expires: Fri, 29 Jun 2012 11:24:54 GMT

如何告诉 Joomla 使用 HTTP 标头而不是响应正文中的元标记进行缓存?

4

1 回答 1

0

经过一番挖掘,我决定最好修改我正在使用的模板。

而不是写

$ExpStr = gmdate("D, d M Y H:i:s", time() + $offset) . " GMT";

其次是

<meta http-equiv="expires" content="<?php echo $ExpStr ; ?>" />
<meta http-equiv="cache-control" content="public" />

我将其修改为

$ExpStr = gmdate("D, d M Y H:i:s", time() + $offset) . " GMT";
JResponse::allowCache(TRUE);
JResponse::setHeader( 'Expires', $ExpStr.' GMT' ,true);

这似乎工作

我在以下位置找到了这个提示:http ://www.teachmejoomla.net/code/joomla-1.5/joomla-1.5-enabling-google-and-browser-cache.html

但是,我希望有一些 Joomla API 用于配置要使用的实现。像 Rails 中的会话(最知名)以及是否将其保存在 cookie 或 DB 中。

于 2012-06-24T10:11:52.737 回答