Apache'de WebP Görselleri .htaccess ile Sunma
HTML'de img veya picture ile WebP/JPEG fallback sunmak yerine, sunucu seviyesinde WebP desteği sağlayabilirsiniz. Apache kullanan barındırma ortamlarında (Turhost, cPanel, vs.) .htaccess ile RewriteRule kullanarak, WebP destekleyen tarayıcılara otomatik olarak WebP, desteklemeyenlere JPEG veya PNG sunabilirsiniz.
Accept header kontrolü: Tarayıcılar, destekledikleri formatları HTTP isteğinde Accept header'ında belirtir. WebP destekleyen tarayıcılar Accept: image/webp veya benzeri bir değer gönderir. .htaccess içinde RewriteCond %{HTTP:Accept} image/webp ile bu kontrol yapılır. Koşul sağlanırsa WebP dosyasına yönlendirme uygulanır.
RewriteRule örneği: Aynı isimde .jpg ve .webp dosyalarınız varsa, WebP destekleyenlere .webp sunmak için: RewriteCond %{HTTP:Accept} image/webp ve RewriteCond %{REQUEST_FILENAME} (.*)\.(jpe?g|png)$ ile RewriteRule ^(.*)\.(jpe?g|png)$ $1.$2.webp [T=image/webp,L] kullanılabilir. Tam sözdizimi ortama göre değişebilir; mod_rewrite ve AllowOverride ayarlarının açık olduğundan emin olun.
picture elementi alternatifi: Sunucu yapılandırmasına erişiminiz yoksa veya .htaccess ile uğraşmak istemiyorsanız, HTML'de <picture> kullanın. <source srcset="gorsel.webp" type="image/webp"> ve <img src="gorsel.jpg" alt="..."> ile tarayıcı WebP destekliyorsa WebP, değilse JPEG yükler. Bu yöntem sunucu ayarı gerektirmez ve tam kontrol size aittir.
Turhost ve cPanel: Çoğu paylaşımlı barındırma mod_rewrite'ı destekler. .htaccess dosyanızı public_html veya ilgili dizine koyun. Eğer kurallar çalışmıyorsa, Hosting ayarlarında AllowOverride All olduğunu kontrol edin. WebP dosyalarınızı JPEG/PNG ile aynı dizinde ve aynı isimle .webp uzantılı tutun; örneğin foto.jpg ve foto.jpg.webp veya foto.webp.
WebP dosyalarınızı önce sıkıştırma aracı ile oluşturun. Ardından .htaccess veya picture ile sunun.
WebP %80 ile Sıkıştır →