如何在IIS7中为每个文件夹和扩展配置静态内容缓存?
我想在IIS7中为ASP.NET网站中的静态内容缓存设置规则 我已经看过这些文章,其中详细介绍了如何使用如何在IIS7中为每个文件夹和扩展配置静态内容缓存?,iis,iis-7,caching,web-config,http-headers,Iis,Iis 7,Caching,Web Config,Http Headers,我想在IIS7中为ASP.NET网站中的静态内容缓存设置规则 我已经看过这些文章,其中详细介绍了如何使用web.config中的元素执行此操作: 但是,此设置似乎全局应用于所有静态内容。是否有一种方法可以仅针对某些目录或扩展名执行此操作 例如,我可能有两个需要单独缓存设置的目录: /static/images /content/pdf 是否可以根据扩展名和文件夹路径设置发送缓存头(max age,expires等)的规则 请注意,我必须能够通过web.config执行此操作,因为我没有访问I
web.config
中的
元素执行此操作:
但是,此设置似乎全局应用于所有静态内容。是否有一种方法可以仅针对某些目录或扩展名执行此操作 例如,我可能有两个需要单独缓存设置的目录:
/static/images
/content/pdf
是否可以根据扩展名和文件夹路径设置发送缓存头(max age
,expires
等)的规则
请注意,我必须能够通过
web.config
执行此操作,因为我没有访问IIS控制台的权限。您可以在根目录web.config
中为整个文件夹设置特定的缓存头:
或者,您可以在内容文件夹中的web.config
文件中指定这些:
我不知道有针对特定文件类型的内置机制。您可以按每个文件执行。使用路径属性包含文件名
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<location path="YourFileNameHere.xml">
<system.webServer>
<staticContent>
<clientCache cacheControlMode="DisableCache" />
</staticContent>
</system.webServer>
</location>
</configuration>
我也遇到了同样的问题。对我来说,问题是如何配置图像的缓存限制。我遇到了这个网站,它为如何处理这个问题的过程提供了一些见解。希望它也能对您有所帮助
链接:[太好了。你能给我推荐一本关于IIS 7的书吗?我想了解这些东西。谢谢。@vtortola-你不会弄错[IIS7资源工具包](:),它实际上非常有用。这本书也不错。TBH我主要是从IIS.NET配置参考网站上学到的:以及通过浏览
%systemroot%\system32\inetsrv\config\applicationhost.config
文件和相关朋友。有人知道这是递归的吗?例如,如果你的图像路径下有子文件夹,它是否也会是否确认这些?需要注意的一点是,浏览器会将路径=“
视为案例sensitive@StuffandBlah是的,它是递归的。我自己尝试过,IIS对我指定为“location”的文件夹子文件夹中的所有文件请求应用了相同的缓存控制设置。如果要将其应用于特定扩展名的所有文件?单独使用.xml或*.xml是否有效?@Zulgrib若要将其应用于特定扩展名,可以使用出站重写规则:@Zulgrib如何对多个文件而不是同一类型的所有文件使用位置标记。例如,根文件夹中的两个jpg文件,但不是所有文件?请考虑er根据以下内容从链接中添加一些信息:鼓励链接到外部资源,但请在链接周围添加上下文,以便您的其他用户了解它是什么以及为什么存在。始终引用重要链接中最相关的部分,以防无法访问目标站点或永久脱机。