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.
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.
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>
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]