Apache:如何在未安装 mod_expires 的情况下将 Expires 标头添加到文件中

发布于 2024-10-04 08:43:02 字数 83 浏览 5 评论 0 原文

我在运行 Apache 的共享主机上。显然 mod_expires 没有安装。 是否有另一种方法可以在该环境中将过期标头添加到 css 文件、图像等中?

I'm on a shared host running Apache. Apparently mod_expires is not installed.
Is there another way to add expires headers to css-files, images etc. on that environment?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

無處可尋 2024-10-11 08:43:02

在您的 .htaccess (如果这是一个选项)中,您可以使用 标头指令。不过,这需要 mod_headers,而且我很确定您不能指定“滚动”到期日期(即“从现在起一年后”)。因此,您需要编辑此设置,例如每年一次1

另外,您是否看到这个问题


1) 显然,您应该避免将 Expires 设置为未来一年以上:“不要设置它 [the Expires” > header] 到未来一年多,因为这违反了 RFC 准则。”(来源:优化缓存)

In your .htaccess (if that's an option) you can use a <FilesMatch> block with Header directives. This requires mod_headers, though, and I'm pretty sure that you can't specify a "rolling" expiration date (i.e., "one year from now"). Therefore, you'll need to edit this setting, say, once a year1.

Also, did you see this question?


1) Apparently you should refrain from setting the Expires to more than a year into the future: "Do not set it [the Expires header] to more than one year in the future, as that violates the RFC guidelines." (source: Optimize caching)

獨角戲 2024-10-11 08:43:02

您可以使用 PHP 嵌入过期标头,
效率不如 apache mod_expires,
但至少它仍然可以用于准备好的缓存

使用远期的 Expires 标头只会在用户过期后影响页面浏览量
已经访问过您的网站。它对 HTTP 请求数没有影响
用户第一次访问您的网站,浏览器的缓存为空。
因此,这种性能改进的影响取决于用户的频率
使用已准备好的缓存访问您的页面。 (“已启动的缓存”已包含所有
页面中的组件。)我们在 Yahoo! 上对此进行了测量。并找到了号码
已准备好缓存的页面浏览量为 75-85%。通过使用遥远的未来 Expires
标头,您增加浏览器缓存的组件数量
并在后续页面视图中重复使用,而无需通过
用户的互联网连接。

来源:http://developer.yahoo.com/performance/rules.html#expires

You can use PHP to embed expiration headers,
is not efficient as apache mod_expires,
but as least it still able served for primed cache

Using a far future Expires header affects page views only after a user has
already visited your site. It has no effect on the number of HTTP requests when
a user visits your site for the first time and the browser's cache is empty.
Therefore the impact of this performance improvement depends on how often users
hit your pages with a primed cache. (A "primed cache" already contains all of
the components in the page.) We measured this at Yahoo! and found the number
of page views with a primed cache is 75-85%. By using a far future Expires
header, you increase the number of components that are cached by the browser
and re-used on subsequent page views without sending a single byte over the
user's Internet connection.

source: http://developer.yahoo.com/performance/rules.html#expires

童话里做英雄 2024-10-11 08:43:02

只需使用 标头 rel="nofollow">header()

header("Expires: Thu, 01 Dec 1994 16:00:00 GMT", true);

编辑:
没看到,那个图像……也被提到了。这只适用于 php 文件或任何通过 php 传递的内容,在大多数情况下这并不是一个好主意。

Just send the Header yourself using header()

header("Expires: Thu, 01 Dec 1994 16:00:00 GMT", true);

Edit:
Didnt see, that images, ... are also mentioned. This only works for php files or anything you pass-through php, which in most cases is not a really good idea.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文