LINUX.ORG.RU
решено ФорумAdmin

Nginx и редирект на webp

 , , , ,


0

1

Я настолько криворучка, что ничего не работает.

Есть Wordpress. В нём плагин конвертирует изображения, и webp лежат рядом с оригиналом (типа оригинал - 1.jpg, а конверт - 1.jpg.webp). Задача - отдавать хромым браузерам .webp, а в остальных - оригиналы.

С Nginx я не особо долго, поэтому сразу же полез в гугл. Решение отсюда даёт 404 на все страницы, в логах - добавление к адресам постов .webp. Решение отсюда отдаёт изображение с пустым именем.

Подскажите пожалуйста корректные правила.

Deleted

Для твоего примера будет так:


​<picture>
  <source srcset="1.jpg.webp" type="image/webp">
  <img src="1.jpg" alt="blablabla">
</picture>

Если браузер умеет, подгрузит webp, иначе то, что в img

surefire ★★★
()
Ответ на: комментарий от surefire

Сайт не отдаёт автоматом webp. Он про них вообще не знает. Изображения просто рядом с оригиналами лежат.

Сам плагин предлагает такое:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_ACCEPT} image/webp
RewriteCond %{REQUEST_FILENAME} (.*)\.(jpe?g|png)$
RewriteCond %{REQUEST_FILENAME}\.webp -f
RewriteCond %{QUERY_STRING} !type=original
RewriteRule (.+)\.(jpe?g|png)$ %{REQUEST_FILENAME}.webp [T=image/webp,E=accept:1,L]
</IfModule>
<IfModule mod_headers.c>
Header append Vary Accept env=REDIRECT_accept
</IfModule>
AddType image/webp .webp

Только это для апача.

Deleted
()

В эфире передача «Кто хочет поржать с идиота».

Короче, метод отсюда вот работает. Эта секция дублировала секцию кэширования. Добавил строку в уже существующую секцию, всё заработало.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.