使用Ionics ISAPI重写筛选器在IIS6中设置映像到期日期

时间:2012-01-16 16:50:45

标签: asp.net iis-6 windows-server-2003 browser-cache

我在ASP.NET,Windows Server 2003,IIS6和Plesk 8.6控制面板上有一个共享主机帐户。

如何设置CSS,JS和图像的到期日期?是否有可能在共享主机?使用web.config或其他文件?怎么样?

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

编辑:IIS7有一个几乎相同的问题。 this question中的方法是否也适用于IIS6?

编辑2:我的托管服务提供商使用ionic's isapi rewrite filter进行外卡映射。

2 个答案:

答案 0 :(得分:1)

这个答案是针对“如何在IIS 6中设置过期标题”的原始问题,在发布答案后进行了一些讨论,主题被更改为关于如何使用Ionics ISAPI重写模块

我想到了三件事:

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 handeler,它将为您完成,但这样做很脏,应该避免。它需要IIS来处理静态文件请求,这会降低性能并增加响应时间和CPU /内存负载。

答案 1 :(得分:1)

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

http://iirf.codeplex.com/documentation

根据过滤器的版本,有不同的文档。过滤器有一个名为RewriteHeader的函数,可以设置标题。

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

您可以查看以下页面,了解有关如何设置过期标题的更多信息,主要参见14.9.3和14.21。

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

至于如何计算要在标题中设置的值,您可能希望在项目的CodePlex站点的“讨论”部分中发布该值:

http://iirf.codeplex.com/discussions