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

Asp.net 使用Ionics ISAPI重写过滤器在IIS6中设置图像过期日期,asp.net,iis-6,windows-server-2003,browser-cache,Asp.net,Iis 6,Windows Server 2003,Browser Cache,我有一个与ASP.NET、Windows Server 2003、IIS6和Plesk 8.6控制面板共享的主机帐户 如何设置CSS、JS和图像的过期日期?在共享主机中可能吗?使用web.config或其他文件?怎么做 目前表示未设置某些文件的到期日期 编辑:IIS7有一个几乎相同的问题。中的方法是否也适用于IIS6 编辑2:My hosting provider使用爱奥尼亚的isapi重写过滤器进行通配符映射。此答案是针对“如何在IIS 6中设置expires标头”的原始问题,在发布了答案和一

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

如何设置CSS、JS和图像的过期日期?在共享主机中可能吗?使用
web.config
或其他文件?怎么做

目前表示未设置某些文件的到期日期

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


编辑2:My hosting provider使用爱奥尼亚的isapi重写过滤器进行通配符映射。

此答案是针对“如何在IIS 6中设置expires标头”的原始问题,在发布了答案和一些讨论后,主题变为如何使用Ionics ISAPI重写模块

我想到三件事:

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

2.)使用脚本循环浏览站点中的文件,并逐个向IIS添加标题:


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

Ionics Isapi帮助文档可在以下位置找到:

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

您需要创建一个重写条件,解析.js、.css、.jpg、.jpeg、.png、.gif等的URL,然后使用新的expires标头重写标头

有关如何设置expires标头的更多信息,请查看下页,主要参见14.9.3和14.21

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


IIS 6缺少这些配置设置。这些都是IIS 7的功能。@Splash-X那么,我应该怎么做?请参阅下面的答案,以了解一些选项我无法访问IIS,因为我的托管计划是共享托管。是否有任何方法可以使用Web.config或plesk执行此操作?IIS 6没有任何配置设置使您能够执行此操作。您可以尝试与您的托管提供商联系,看看他们是否可以为您进行更改。即使创建HTTP Handler,也需要宿主提供商进行一些更改。IIS6不使用ASP.NET处理静态文件,因此您需要主机提供商启用通配符映射,才能使HTTP Handler正常工作。你可以看到这个线程来了解我上面描述的问题:这个故事的寓意是要么升级到IIS7,要么打开一个支持票证来启用expires头,要么添加一个通配符映射来启用IHTTPhandeler。他们正在使用“ionic的isapi重写过滤器”来启用通配符映射,我该怎么办?(我已更新我的问题)