Как настроить статический кэш содержимого для каждой папки и расширения в IIS7?



Я хотел бы настроить правила в IIS7 для статического кэширования контента в моем ASP.NET сайт.



Я видел эти статьи, в которых подробно описано, как сделать это с помощью <clientCache /> элемент web.config:




Клиент Кэша <clientCache> (IIS.NET)
добавьте заголовок Expires или Cache Control к статическому содержимому в IIS (переполнение стека)




однако этот параметр применяется глобально ко всему статическому содержимому. Есть ли способ сделать это только для определенных каталогов или расширения?



например, у меня может быть два каталога, которые нуждаются в отдельных настройках кэша:




/static/images
/content/pdfs




можно ли настроить правила для отправки заголовки Cache (max-age,expires и т. д.) На основе расширений и папок?



обратите внимание, я должен быть в состоянии сделать это через web.config потому что у меня нет доступа к консоли IIS.

744   3  

3 ответов:

вы можете установить определенные заголовки кэша для всей папки в любом корне 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>

У меня была та же проблема.Для меня проблема заключалась в том, как настроить ограничение кэша для изображений.И я наткнулся на этот сайт, который дал некоторое представление о процедуре, о том, как проблему можно решить.Надеюсь, что это будет полезно для вас тоже Ссылка:[https://varvy.com/pagespeed/cache-control.html]

Comments

    Ничего не найдено.