У меня есть такая конфигурация для всего статического контента на сайте в корневом каталоге:
<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>