我在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
进行外卡映射。
答案 0 :(得分:1)
这个答案是针对“如何在IIS 6中设置过期标题”的原始问题,在发布答案后进行了一些讨论,主题被更改为关于如何使用Ionics ISAPI重写模块
我想到了三件事:
1。)根据本文,您可以进入IIS并启用内容过期或为从特定文件夹请求的文件设置自定义标头,例如/ images /或/ css /
https://stackoverflow.com/a/1271082/768804
和
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站点的“讨论”部分中发布该值: