Как я могу заставить IIS публиковать заголовки кэша для моего favicon.ico? - PullRequest
6 голосов
/ 14 июля 2011

Файл favicon.ico нашего сайта не менялся годами - и не собирается изменяться в ближайшее время - поэтому я хотел бы настроить IIS для обслуживания его с заголовком истечения срока действия кэша в далеком будущем.Остальное содержимое в корневой папке моего сайта - это динамические страницы, которые не должны кэшироваться, но, насколько я могу судить, IIS позволяет вам устанавливать кэш срока действия содержимого для каждой папки - так что есть лиспособ установить заголовок кэша для favicon.ico, не затрагивая также остальное содержимое в домашнем каталоге?

1 Ответ

9 голосов
/ 25 июля 2011

Да - развернуть файл.

В диспетчере IIS (на IIS6) перейдите к файлу, щелкните правой кнопкой мыши, выберите свойства, вкладку «Заголовки HTTP», установите флажок «Включить истечение срока действия содержимого»; вечеринка с другими настройками.

Благодарность Дилану (ниже) за инструкции IIS7 и этот фрагмент.

Это создает следующий раздел в web.config, так что вы, вероятно, можете достичь того же, просто отредактировав файл напрямую.

<configuration>
  <location path="favicon.ico">
    <system.webServer>
      <staticContent>
        <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="90.00:00:00" />
      </staticContent>
    </system.webServer>
  </location>
</configuration>
...