IIS 7.5如何添加动态HTTP过期标头

Lon*_*est 0 iis web-config iis-7.5 http-headers

在IIS 7.5中,您可以添加静态HTTP响应标头,但我想添加一个"Expires"标头,该标头始终指定将来7天的日期.

我正在运行php 5.4,所以我想要一个可以通过编辑web.config文件而不是一些c#代码解决方案来做到这一点的解决方案.

我知道如何使用php添加标题,但这对静态图像文件的http标头(jpg,gif,png等)没有帮助.

标题应如下所示:

到期日:2012年5月31日星期四10:59:25 GMT

如何动态制作它总是显示未来7天的日期和时间?

编辑:

请注意,我在php文件中有我想要的expires头:

http://web-sniffer.net/?url=http%3A%2F%2Fwww.bestds.com

但是,我无法为png文件中的"Expires"键指定提前7天的日期(例如),我将来必须使用静态日期:

http://web-sniffer.net/?url=http%3A%2F%2Fwww.bestds.com%2Fimage%2Ftlogo.png

Mar*_*urg 6

这是IIS的标准功能.HTTP Response Headers模块允许您设置此公共标头.这导致以下web.config:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <staticContent>
            <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="7.00:00:00" />
        </staticContent>
    </system.webServer>
</configuration>
Run Code Online (Sandbox Code Playgroud)

您应该只在要发送此标头的目录中执行此操作.通常只有具有静态内容的目录.

  • URL重写模块不提供任何动态计算功能,并以所需格式输出日期.我能想到的唯一方法是创建一个HTTPModule并以集成模式运行您的webapplication/website.这允许您捕获静态内容的请求,并通过您自己的代码动态添加标头.您可以编写它以便查看已存在的max-age值并使用该值添加Expires标头.无需额外配置. (3认同)