Как обслуживать изображения webp с помощью htaccess? - PullRequest
1 голос
/ 12 мая 2019

Я хотел бы предоставить изображения .webp, если изображение (jpg или png) доступно как webp. Если нет, я хочу показать JPG или PNG.

RewriteCond %{HTTP_ACCEPT} image/webp
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.*)\.(jpe?g|png)(.*)$ $1.$2.webp [NC,L]

AddType image/webp .webp

Проблема, мне нужно, чтобы окончательный URL был таким:

"myurl.com/foo.jpg.webp" 

Если файл webp существует, а если нет, то мне нужно:

"myurl.com/foo.jpg"

как запасное решение.

1 Ответ

2 голосов
/ 12 мая 2019

Если запрошенный URL-адрес заканчивается на jpeg или png, вы можете проверить наличие соответствующего webp с

RewriteCond %{REQUEST_FILENAME}.webp -f
RewriteRule ^ %{REQUEST_FILENAME}.webp [L]

. Вы можете использовать более строгие ограничения, если вам нравится

RewriteCond %{REQUEST_FILENAME}.webp -f
RewriteRule \.(jpe?g|png)$ %{REQUEST_FILENAME}.webp [L]

Если условие и правило не совпадают, запрос будет отклонен и обработает файл (.jpg / .png) как есть.

...