Перенаправление старых ссылок JPG на новые файлы WebP через .htaccess
После изменения формата миниатюр в галерее с JPG на WebP возникла проблема: сторонние сайты, ссылающиеся на старые изображения, получают ошибки 404. Необходимо настроить автоматическое перенаправление запросов.
Решение через файл .htaccess
Поместите следующий код в файл .htaccess, расположенный в корневой директории вашего сайта или в папке assets/images/gallery/:
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/assets/images/gallery/([^/]+)/medium/([^/]+)\.jpg$
RewriteCond %{DOCUMENT_ROOT}/assets/images/gallery/%1/medium/%2.webp -f
RewriteRule ^(.+)\.jpg$ $1.webp [L,R=301]Как это работает
- Активация модуля: Директива
RewriteEngine Onвключает механизм перезаписи URL. - Проверка пути: Первое условие
RewriteCondопределяет, соответствует ли запрос шаблону/assets/images/gallery/*/medium/*.jpg. - Проверка существования файла: Второе условие проверяет, существует ли соответствующий файл с расширением
.webpна сервере. - Перенаправление: Если оба условия выполнены, правило
RewriteRuleвыполняет 301 редирект с.jpgна.webp.
Альтернативные варианты
Если решение через .htaccess недоступно, рассмотрите следующие подходы:
- PHP-скрипт: Создайте скрипт-обработчик для динамической конвертации запросов.
- Настройка веб-сервера: Для Nginx используйте директиву
rewriteв конфигурации сервера. - Резервные копии: Временно сохраните старые JPG-файлы или создайте символические ссылки для плавного перехода.
После внедрения решения проверьте работу редиректа через инструменты разработчика в браузере или онлайн-сервисы проверки HTTP-заголовков.