使用 Ionics ISAPI 重写过滤器在 IIS6 中设置图像过期日期

发布于 2024-12-27 18:29:21 字数 457 浏览 2 评论 0原文

我有一个与 ASP.NET、Windows Server 2003、IIS6 和 Plesk 8.6 控制面板共享的托管帐户。

如何设置 CSS、JS 和图像的有效期?在共享主机中可以吗?使用 web.config 或其他文件?如何?

目前 gtmetrix.com 表示某些文件未设置到期日期。

编辑:IIS7 几乎有同样的问题。 这个问题中的方法也适用于IIS6吗?

编辑2:我的托管提供商使用ionic的isapi重写过滤器进行通配符映射。

I have a shared hosting account with ASP.NET , Windows Server 2003 , IIS6 and Plesk 8.6 control panel.

How can I set the expiry date of CSS, JS and images? Is it possible in shared hosting? With web.config or other file? How?

Currently gtmetrix.com says that the expiry date of some files are not set.

EDIT : There is an almost same question for IIS7. will the method in this question also works for IIS6?

EDIT 2 : My hosting provider uses ionic's isapi rewrite filter for wild card mapping.

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

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

发布评论

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

评论(2

心是晴朗的。 2025-01-03 18:29:21

Ionics Isapi 帮助文档可以在这里找到:

http://iirf.codeplex.com/documentation

取决于过滤器的版本有不同的文档。该过滤器有一个名为 RewriteHeader 的函数,它允许您设置标头。

您需要创建一个 RewriteCondition 来解析 .js、.css、.jpg、.jpeg、.png、.gif 等的 URL,然后使用新的过期标头创建 RewriteHeader。

您可以查看以下页面以了解更多信息关于如何设置expires header的信息,主要参见14.9.3和14.21。

http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html

至于如何计算要在标头中设置的值,您可能需要将其发布在 CodePlex 站点的讨论部分中对于该项目:

http://iirf.codeplex.com/discussions

Ionics Isapi help documentation can be found here:

http://iirf.codeplex.com/documentation

Depending on the version of the filter there is different documentation. The filter has a function called RewriteHeader which will allow you to set the header.

You'll need to create a RewriteCondition that parses the URL for .js, .css, .jpg, .jpeg, .png, .gif, etc and then RewriteHeader with a new expires header..

You can review the following page for more information on how to set an expires header, mainly see 14.9.3 and 14.21.

http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html

As for how to calculate the value to set in the header, you may want to post that in the Discussion section of the CodePlex site for the project:

http://iirf.codeplex.com/discussions

夏尔 2025-01-03 18:29:21

这个答案是针对“How to set the expires header in IIS 6”的原始问题,在发布答案和一些讨论后,主题更改为关于如何使用 Ionics ISAPI Rewrite 模块

三件事我想到的是:

1.) 根据本文,您可以进入 IIS 并启用内容过期或为从特定文件夹请求的文件设置自定义标头,例如 /images/ 或 /css/

https://stackoverflow.com/a/1271082/768804

http://blogs.microsoft.co.il/blogs/yevgenif/archive/2009/02/11/web-performance-expiration-data-iis-6-0.aspx

2.) 使用脚本循环访问站点中的文件并将标头逐一添加到 IIS:

https://stackoverflow.com/a/288652/768804

3.) 创建一个自定义 HTTP 处理程序来为您执行此操作,但这样做很肮脏,应该避免。它需要 IIS 处理静态文件请求,这会降低性能并增加响应时间和 CPU/内存负载。

This answer was for the original question of "How to set the expires header in IIS 6", after posting the answer and some discussion the topic was changed to be about how to use Ionics ISAPI Rewrite module

Three things come to mind:

1.) Based on this article, you could go in to IIS and enable content expiration or set a custom header for files requested from a specific folder, such as /images/ or /css/

https://stackoverflow.com/a/1271082/768804

and

http://blogs.microsoft.co.il/blogs/yevgenif/archive/2009/02/11/web-performance-expiration-data-iis-6-0.aspx

2.) Use a script to loop through the files in your site and add headers to IIS on a one-by-one basis:

https://stackoverflow.com/a/288652/768804

3.) Create a custom HTTP handeler that will do it for you, but doing this is dirty and should be avoided. It would require IIS to handel static file requests which will reduce performance and increase response time and CPU/Memory load.

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