我想设置规则在IIS7在我的ASP.NET网站的静态内容缓存。
我看到这些文章,详细介绍了如何使用做<clientCache />
中元素web.config
:
客户端缓存<clientCache>
(IIS.NET)
添加过期或者缓存控制头静态内容在IIS(堆栈溢出)
但是,此设置似乎适用于全球所有的静态内容。 有没有办法只对某些目录或扩展做到这一点?
例如,我可能有两个目录这就需要独立的缓存设置:
/static/images
/content/pdfs
是否有可能建立规则发送缓存头( max-age
, expires
基础上的扩展和文件夹路径等)?
请注意,我必须能够通过做到这一点web.config
,因为我没有访问IIS控制台。
您可以在任何你的根整个文件夹设置特定缓存头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>
或者你也可以在指定这些web.config
在内容文件夹中的文件:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<staticContent>
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="00:00:15" />
</staticContent>
</system.webServer>
</configuration>
我不知道一个内置的机制,以针对特定的文件类型。
你可以做它在每个文件的基础。 使用路径属性,包括文件名
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<location path="YourFileNameHere.xml">
<system.webServer>
<staticContent>
<clientCache cacheControlMode="DisableCache" />
</staticContent>
</system.webServer>
</location>
</configuration>
我有同样的issue.For我的问题是如何配置缓存限制images.And我遇到了这个网站,其中提出了一些见解,以程序上的问题,如何能handled.Hope这将是对你也有帮助链接:[ https://varvy.com/pagespeed/cache-control.html]