Статическое сжатие в IIS не работает для файлов htm, js - PullRequest
6 голосов
/ 01 апреля 2011

Я пытаюсь настроить IIS 7.5 для сжатия статических файлов htm и js.Кто-нибудь знает, почему у меня это не работает?Вот мой web.config для веб-сайта:

    <httpCompression>          
        <dynamicTypes>
            <add mimeType="text/*" enabled="true" />
            <add mimeType="message/*" enabled="true" />
            <add mimeType="application/x-javascript" enabled="true" />
            <add mimeType="*/*" enabled="false" />
        </dynamicTypes>
        <staticTypes>
            <add mimeType="text/*" enabled="true" />
            <add mimeType="message/*" enabled="true" />
            <add mimeType="application/x-javascript" enabled="true" />
            <add mimeType="*/*" enabled="false" />
        </staticTypes>
    </httpCompression>
    <urlCompression doStaticCompression="true" doDynamicCompression="false" />

Сжатие начинает работать, когда я устанавливаю для doDynamicCompression значение true.Но я не могу использовать эту опцию, потому что она отключена на моем хостинге.

Спасибо.

Ответы [ 3 ]

3 голосов
/ 01 апреля 2011

Что заставляет вас думать, что сжатие не работает?Проверьте журналы просмотра событий.Модуль статического сжатия иногда выдает ошибку, говоря, что используемый каталог недействителен (в основном потому, что ему нужны разрешения на запись).

Двойная проверка с помощью Fiddler или другого средства отладки HTTP, чтобы убедиться, что клиент отправляет «Accept-Кодировка "GZIP / Deflate.

2 голосов
/ 07 июля 2011

Я удалил mimeType = "application / x-javascript" из dynamicTypes, но оставил его в staticTypes. Это позволило мне отключить динамическое сжатие, но JavaScript по-прежнему был сжат.

Я читал некоторые посты, в которых говорится, что когда у вас одинаковый mimeType как в динамическом, так и в статическом режиме, значение в динамическом выигрывает. Когда динамическое сжатие отключено, но в динамическом типе есть совпадение, javascript рассматривается как динамический и, следовательно, отключен.

Это не объясняет, почему CSS работает, потому что mimeType = "text / " находится в обоих местах. IIS должен лучше определять динамический и статический контент, когда дело доходит до CSS или любого текста / .

2 голосов
/ 02 апреля 2011

Включение кэширования и сжатия Http в IIS 7 для сайтов asp.net - Анил Касаланати

Как насчет этого? Проверьте ваш файл приложения .Host.config.

...