2

托管我的网站的网络服务器未返回最后修改或过期标头。我想纠正这一点,以确保我的网页内容是可缓存的。

我无权访问 apache 配置文件,因为该站点托管在我无法控制的共享环境中。但是,我可以通过 .htaccess 文件进行配置。服务器 - apache 1.3 - 没有配置 mod_expires 或 mod_headers,公司不会为我安装这些。

考虑到这些限制,我有哪些选择?

对不起这里的帖子。我认识到这个问题严格来说不是一个编程问题,而更像是一个系统管理员问题。当 serverfault 公开时,我会确保我在那里直接提出这种性质的问题。

4

1 回答 1

3

什么样的内容?如果是静态的(HTML、图像、CSS),那么附加标题的唯一方法就是通过前端网络服务器。我很惊讶托管公司没有启用 mod_headers,尽管他们可能没有为 .htaccess 启用它。不缓存会花费他们更多的带宽和 CPU(即金钱)。

如果它是动态内容,那么您将在生成页面时进行控制。这取决于您的语言;这是 PHP 的一个示例(它来自 PHP 手册,是一个不好的示例,因为它还应该设置响应代码):

if (!headers_sent()) {
    header('Location: http://www.example.com/');
    exit;
}

哦,关于设置缓存标头的一件事:不要将它们设置太长时间,特别是对于 CSS 和脚本。您可能不想更改这些内容,但您不希望网站损坏,而人们的浏览器中仍保留旧内容。我会推荐 4-8 小时范围内的最大缓存设置:适合单个用户的会话或工作日,但仅此而已。

于 2009-05-25T10:53:02.650 回答