Обслуживание изображений webp условно, если браузер поддерживает это в IIS - PullRequest
1 голос
/ 10 июля 2020

Обслуживание изображений webp вместо jpeg и png, если браузер поддерживает это, кажется возможным при использовании файлов .htacess и apache.

Мне никогда не удавалось заставить это работать с IIS. Я обычно использую WordPress в качестве предпочтительной CMS, и есть плагины WordPress с автоматическим c преобразованием в webp существующих загруженных изображений и включенным перенаправлением, но перенаправление / условное определение не работают с IIS из коробки.

Я уже сделал все необходимые приготовления, например, разрешил расширение webp и MIME в IIS. Загрузка существующего файла webp не проблема, я просто не хочу загружать версию webp при использовании более слабых браузеров, таких как IE11 и Safari, поскольку он ничего не отображает. Существует множество руководств по inte rnet, объясняющих, как включить поддержку webp в IIS, но мне удалось найти 0 статей о том, как на самом деле использовать его в реальном сценарии, когда веб-сайт должен правильно отображаться в IE11 и Safari.

1 Ответ

0 голосов
/ 15 июля 2020

Вам необходимо перенаправить webp -urls на резервный jpeg -urls.

Согласно Справочнику по настройке модуля перезаписи URL это можно сделать с помощью правила, аналогичного

<rules>
    <rule name="Some name" stopProcessing="true">
        <match url="^(.*)\.webp$" />
        <conditions>
            <add input="{HTTP_USER_AGENT}" pattern="*MSIE*" />
        </conditions>
        <action type="Redirect" url="{R:1}.jpeg" redirectType="Permanent" />
    </rule>
</rules>

У меня нет ни IIS, ни IE, поэтому я не могу его протестировать. Кроме того, если ваши резервные изображения имеют разные расширения, вам решать, как решить, какие из изображений webp соответствуют URL-адресам jpeg, а какие - png. Или вы можете выбрать перенаправление наоборот - jpeg/png -urls на webp -urls.

...