如何配置每个文件夹和扩展静态内容缓存在IIS7?如何配置每个文件夹和扩展静态内容缓存在IIS7?(H

2019-05-09 01:33发布

我想设置规则在IIS7在我的ASP.NET网站的静态内容缓存。

我看到这些文章,详细介绍了如何使用做<clientCache />中元素web.config

客户端缓存<clientCache> (IIS.NET)
添加过期或者缓存控制头静态内容在IIS(堆栈溢出)

但是,此设置似乎适用于全球所有的静态内容。 有没有办法只对某些目录或扩展做到这一点?

例如,我可能有两个目录这就需要独立的缓存设置:

/static/images
/content/pdfs

是否有可能建立规则发送缓存头( max-ageexpires基础上的扩展和文件夹路径等)?

请注意,我必须能够通过做到这一点web.config ,因为我没有访问IIS控制台。

Answer 1:

您可以在任何你的根整个文件夹设置特定缓存头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>

我不知道一个内置的机制,以针对特定的文件类型。



Answer 2:

你可以做它在每个文件的基础。 使用路径属性,包括文件名

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <location path="YourFileNameHere.xml">
        <system.webServer>
            <staticContent>
                <clientCache cacheControlMode="DisableCache" />
            </staticContent>
        </system.webServer>
    </location>
</configuration>


Answer 3:

我有同样的issue.For我的问题是如何配置缓存限制images.And我遇到了这个网站,其中提出了一些见解,以程序上的问题,如何能handled.Hope这将是对你也有帮助链接:[ https://varvy.com/pagespeed/cache-control.html]



文章来源: How to configure static content cache per folder and extension in IIS7?