我想为我的ASP.NET网站中的静态内容缓存在IIS7中设置规则。
我看过这些文章,其中详细介绍了如何在web.config
中使用<clientCache />
元素
Add Expires or Cache Control Header to static content in IIS (Stack Overflow)
但是,此设置似乎全局应用于所有静态内容。有没有办法只针对某些目录或扩展名这样做?
例如,我可能有两个目录,它们需要单独的缓存设置:
/static/images
/content/pdfs
是否可以设置基于扩展名和文件夹路径发送缓存头(max-age
、expires
等)的规则?
请注意,我必须能够通过web.config
完成此操作,因为我没有访问IIS控制台的权限。
发布于 2010-02-04 09:50:17
您可以在根web.config
中为整个文件夹设置特定的缓存头
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- Note the use of the 'location' tag to specify which
folder this applies to-->
<location path="images">
<system.webServer>
<staticContent>
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="00:00:15" />
</staticContent>
</system.webServer>
</location>
</configuration>
或者,您可以在content文件夹的web.config
文件中指定以下内容:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<staticContent>
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="00:00:15" />
</staticContent>
</system.webServer>
</configuration>
我不知道有没有针对特定文件类型的内置机制。
发布于 2011-01-28 04:13:40
您可以在每个文件的基础上执行此操作。使用path属性包含文件名
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<location path="YourFileNameHere.xml">
<system.webServer>
<staticContent>
<clientCache cacheControlMode="DisableCache" />
</staticContent>
</system.webServer>
</location>
</configuration>
发布于 2017-11-29 13:22:32
我有相同的issue.For我的问题是如何配置缓存限制到images.And我遇到了这个网站,它提供了一些关于如何问题可以handled.Hope的程序的见解它将对你有帮助链接:[https://varvy.com/pagespeed/cache-control.html]
https://stackoverflow.com/questions/2195266
复制相似问题