domobisnes

Автозамена расширения изображений

Рекомендованные сообщения

Друзья, помогите понять, почему не работает автозамена расширений через htaccess. По сути должна быть замена jpg/png на webp если браузер пользователя поддерживает webp. В самом посте всегда указана картинка .jpg 
Замена работает если только удалить в папке сайта картинку с расширением .jpg либо изменить на .jpeg (методом тыка)
Причем я знаю, что в консоли будет все равно отражаться что у картинки расширение .jpg и факт того, что есть подмена на webp видно только в графе type консоли вебразработчика. 
Вот, собственно код:

<IfModule mod_rewrite.c>
  RewriteEngine On

  # Check if browser supports WebP images
  RewriteCond %{HTTP_ACCEPT} image/webp

  # Check if WebP replacement image exists
  RewriteCond %{DOCUMENT_ROOT}/$1.webp -f

  # Serve WebP image instead
  RewriteRule (.+)\.(jpe?g|png)$ $1.webp [T=image/webp,E=accept:1]
</IfModule>

<IfModule mod_headers.c>
  Header append Vary Accept env=REDIRECT_accept
</IfModule>

<IfModule mod_mime.c>
  AddType image/webp .webp
</IfModule>

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Похожие публикации

    • Автор: d0ublezer0
      Привет!
      Хочу зафигачить ЧПУ для страниц, генерируемых фильтром.
      Ленивый разработчик (breakdesigns, привет!) ноет, что это мол ему лично это не нужно, писать роутер и вообще никому из его клиентов это не интересно. Хочу свой, с параметрами и разделами.
       
      Допустим, страница
      https://www.road.media/filter/avtomagnitoly/?custom_f_24[0]=424d57&custom_f_25[0]=5831
      где custom_f_24[0]=424d57 это марка авто BMW
      а custom_f_25[0]=5831 это модель авто X1
       
      custom_f_xxx - это фиксированные коды характеристик, участвующих в фильтрации
      424d57, 5831 и другие - это сами значения.
       
      Характеристики я смогу достать в список для формирования htaccess
      Сами значения элементов фильтра тоже подчиняются алгоритму, я могу их обратно расшифровать и сформировать список.
      Т.е. матрицу сопоставления что чему равно - я смогу собрать.
       
      Вопрос - как это сделать в .htaccess, чтобы CMS продолжила работать штатно, а посетитель и поисковик видели нормальный ЧПУ?
      Указанную выше ссылку я представляю как:
      https://www.road.media/filter/avtomagnitoly/bmw/x1
       
      Притом, могут быть более сложные варианты
      https://www.road.media/filter/avtomagnitoly/?custom_f_24[0]=424d57&custom_f_25[0]=5831&custom_f_25[1]=5835
      тут отмечены BMW, X1 и X5
      в таком случае думаю URL должен быть каким-то таким
      https://www.road.media/filter/avtomagnitoly/bmw/x1_x5
       
      Марка тоже может быть не единичной.
      Вообще набор значений может быть разным:
      https://www.road.media/filter/avtomagnitoly/?custom_f_24[0]=4d657263656465732d42656e7a&custom_f_24[1]=4c616e6420526f766572
      тут например
      4d657263656465732d42656e7a = Mercedes-Benz
      4c616e6420526f766572 = Land Rover
       
      Соответственно, ожидается ссылка вида
      https://www.road.media/filter/avtomagnitoly/land_rover_mercedes_benz
       
      Это возможно вообще?
    • Автор: VeniVidiVici
      Убираю расширение .php страницы таким кодом:
      RewriteRule ^([^.?]+)$ %{REQUEST_URI}.php [L] Url отображается нормально без .php - www.site.ru/example
      но если напрямую прописать в url название страницы с расширением .php то отображается url вида -   www.ysite.ru/example.php 
      Как это исправить? думаю прописать редирект вручную для каждой страницы(о_О), типа:
      Redirect 301 /example.php www.site.ru/example но может, есть более универсальное решение?
    • Автор: recorder
      Здравствуйте! На сайте подключен ssl, включен редирект с http на https через htaccess, нужно для определенной страницы (url) отключить https без последствий для всего сайта. Подскажите пожалуйста решение.
       
       
      htaccess:
      RewriteCond %{SERVER_PORT} 80 [OR]RewriteCond %{HTTPS} offRewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,NE,L]

Карта разработчиков

Карта участников

Отметь себя на карте для поиска или предложения работы