Comment configurer le cache de contenu statique par dossier et par extension dans IIS7?

je voudrais établir des règles dans IIS7 pour la mise en cache statique de contenu dans mon ASP.NET site web.

j'ai vu ces articles, qui détaille comment le faire en utilisant l'élément <clientCache /> dans web.config :

Client Cache <clientCache> (IIS.NET)

ajouter L'en-tête Expires ou Cache Control au contenu statique dans IIS (Stack Overflow)

cependant, ce paramètre semble s'appliquer globalement à tous les contenus statiques. Y a-t-il un moyen de faire cela juste pour certains répertoires ou extensions?

par exemple, je peux avoir deux répertoires qui ont besoin de paramètres de cache séparés:

/static/images

/content/pdfs

est - il possible de définir des règles pour l'envoi des en-têtes de cache ( max-age , expires , etc) basé sur des extensions et des chemins de dossier?

s'il vous Plaît noter, je dois être capable de le faire via web.config parce que je n'ai pas accès à la console IIS.

135
demandé sur Community 2010-02-03 23:38:43

3 réponses

vous pouvez définir des en-têtes de cache spécifiques pour un dossier entier dans votre racine 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>

ou vous pouvez les spécifier dans un fichier web.config dans le dossier contenu:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <staticContent>
      <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="00:00:15" />
    </staticContent>
  </system.webServer>
</configuration>

Je ne suis pas au courant d'un mécanisme intégré pour cibler des types de fichiers spécifiques.

207
répondu Kev 2015-12-21 17:55:09

vous pouvez le faire par fichier. Utilisez l'attribut path pour inclure le nom de fichier

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <location path="YourFileNameHere.xml">
        <system.webServer>
            <staticContent>
                <clientCache cacheControlMode="DisableCache" />
            </staticContent>
        </system.webServer>
    </location>
</configuration>
64
répondu Jeff Cuscutis 2011-01-27 20:13:39

j'ai eu le même problème.Pour moi, le problème était de configurer une limite de cache en images.Et je suis tombé sur ce site qui a donné quelques indications sur la procédure sur la façon dont la question peut être traitée.Espérons qu'il sera utile pour vous aussi Lien: [ https://varvy.com/pagespeed/cache-control.html]

-1
répondu Vikum Charuka Egodapitiya 2017-11-29 06:41:43