Невозможно обслуживать изображения Webp через htaccessApache

Ответить Пред. темаСлед. тема
Anonymous
 Невозможно обслуживать изображения Webp через htaccess

Сообщение Anonymous »

У меня возникла проблема с передачей изображений в формате WebP через htaccess. Я подписался на https://www.digitalocean.com/community/ ... ur-website и https://gist.github.com. /seekr/2415528 код ссылки. Прежде чем помочь мне, я хочу кое-что уточнить.
Во-первых, изображения находятся во многих подпапках. например: public_html/wp-content/uploads/2023/10, 2024/02, 2024/05 вот так.
Во-вторых, в каждой папке у меня есть формат image.jpg и формат image.jpg.webp. сервер не выбирает image.jpg.webp. Я хочу использовать этот формат.
В-третьих, мой .htaccess находится в папке public_html.
Вот коды, которые я пробовал:

Код: Выделить всё

RewriteEngine On

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

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

# Serve the WebP version if available
RewriteRule (.+)\.(jpg|jpeg|png|gif)$ $1.webp [T=image/webp,E=Cache-Control:vary=webp]

# Add the Vary header to inform browsers and proxies about WebP support


Header append Vary Accept



AddType image/webp .webp
тогда я использовал:

Код: Выделить всё

RewriteCond %{REQUEST_FILENAME} (.+)\.(jpe?g|png|gif)$
RewriteCond %1\.webp -f
RewriteCond %{QUERY_STRING} !type=original
RewriteRule (.+)\.(jpe?g|png|gif)$ $1.webp [NC,T=image/webp,E=webp,L]
затем:

Код: Выделить всё

# Check if the requested file is a supported image format
RewriteCond %{REQUEST_FILENAME} \.(jpg|jpeg|png|gif)$ [NC]

# Check if a corresponding WebP version exists in the same directory
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI}.webp -f

# Serve the .webp version instead
RewriteRule (.+)\.(jpg|jpeg|png|gif)$ $1.$2.webp [T=image/webp,E=accept:1,L]
а затем:

Код: Выделить всё

# Only target images within the wp-content/uploads folder (and its subfolders)
RewriteCond %{REQUEST_URI} ^/wp-content/uploads/ [NC]

# Check if a WebP version of the file exists (recursively in subfolders)
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI}.webp -f

# Serve the .webp version if it exists
RewriteRule (.+)\.(jpg|jpeg|png|gif)$ $1.$2.webp [T=image/webp,E=accept:1,L]
также использовал этот:

Код: Выделить всё

RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_FILENAME}.webp -f
RewriteRule ^/?(.+?)\.(jpe?g|png)$ /$1.$2.webp [NC,T=image/webp,E=EXISTING:1,E=ADDVARY:1,L]
и, наконец, я тоже попробовал это:

Код: Выделить всё

RewriteCond %{REQUEST_URI}  ^/uploads/2023/10/(.+)(?:\.jpe?g|\.png)$
RewriteCond %{DOCUMENT_ROOT}/uploads/2023/10/%1.webp -f
RewriteRule ^/uploads/2023/10/%1.webp [L,T=image/webp,E=accept:1]
никто из них не выбирает формат image.jpg.webp, всегда выбирает формат image.jpg. Что я могу сделать?

Подробнее здесь: https://stackoverflow.com/questions/791 ... h-htaccess
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Apache»