Назад | Перейти на главную страницу

IIS 7: истекает срок действия заголовка для определенных файлов

У меня есть такая конфигурация для всего статического контента на сайте в корневом каталоге:

<configuration>
<system.webServer>
   <staticContent>
     <clientCache cacheControlCustom="public"    cacheControlMode="UseExpires"
        httpExpires="Tue, 19 Jan 2038 03:14:07 GMT" />
  </staticContent>
</system.webServer>
</configuration>

Теперь я хочу назначить другой заголовок с истечением срока действия для определенного файла в подкаталоге и для файла значка в корневом каталоге. Я пробую эту конфигурацию после приведенного выше кода, но получаю ошибку сервера.

<location path="">
<system.webServer>
  <staticContent>
     <clientCache cacheControlCustom="public"    cacheControlMode="UseExpires"
        httpExpires="Tue, 19 Jan 2012 03:14:07 GMT" />
  </staticContent>
  </system.webServer>
</location>

Может кто поможет?

Я не думаю, что вы можете контролировать заголовки кеша на уровне файла, только на уровне папки. Но вы всегда можете поместить значок в его собственную папку, а затем вы можете управлять заголовками элементов управления кешем. Если вы хотите поддерживать старые браузеры, которые всегда считывают значок из корня, вы можете добавить правило перезаписи, чтобы перезаписать запрос в конкретную папку.

Чтобы добавить заголовки элементов управления кешем на уровне папки, вы не добавляете <location> тег, но просто поместите файл web.config с тегами управления кешем в эту конкретную папку.

Вы жестяная банка устанавливается на срок действия файла. Просто добавьте имя файла в путь:

<location path="favicon.ico"> <---- here ... </location>