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>

 

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


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

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

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

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

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

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

Войти

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

Войти сейчас


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

    • Автор: 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]
    • Автор: Hataru
      Добрый день. Нужна помощь в реализации редиректа ip адресов (масок подсетей) со страницы http://mydomen.ru/index.php , на другую http://mydomen.ru/wordpress/index.php . На просторах форума раздобыл данный код для .htaccess:
      RewriteEngine on RewriteCond %{REMOTE_ADDR} ^111\.222\.333\.\d{3}$ [OR] RewriteCond %{REMOTE_ADDR} ^111\.222\.334\.\d{3}$ RewriteCond %{REQUEST_URI} !^\/page.html$ RewriteCond %{REQUEST_URI} !^.*\.(swf|fla|xml|ico|jpg|gif|png|js|css)$ RewriteRule ^.*$ http://mysite.ru/page.html [R=301,L] Изменил его под свои нужды:
      RewriteEngine on RewriteCond %{REMOTE_ADDR} ^192\.168\.1\.\d{3}$ [OR] RewriteCond %{REMOTE_ADDR} ^192\.168\.2\.\d{3}$ RewriteCond %{REQUEST_URI} !^\/wordpress/index.php$ RewriteCond %{REQUEST_URI} !^.*\.(swf|fla|xml|ico|jpg|gif|png|js|css)$ RewriteRule ^.*$ http://mydomen.ru/wordpress/index.php [R=301,L] В итоге браузер выводит вот это:
      Загрузка веб-страницы по адресу http://mydomen.ru/wordpress/index.php вызвала слишком много переадресаций. Попробуйте очистить для этого сервера файлы cookie или разрешить их прием от независимых сайтов. Я понимаю, что редирект у меня идет на один и тот же сайт http://mydomen.ru и правила в .htaccess работает и до редиректа и после. Нужно чтоб правила не работало уже на адресе куда я отправил посетителей с этими IP, а вот как это сделать до меня не как не дойдет