406 Not Acceptable, sunucunun, istemcinin Accept başlığıyla belirttiği formatta uygun bir yanıt üretemediği anlamına gelir. Örneğin; tarayıcı yalnızca application/json isterken sunucu sadece text/html gönderiyorsa, bu hata oluşabilir.
Olası Sebepler
- MIME Türü Uyuşmazlığı
İstemciAccept: application/xmlgönderir; sunucu XML değil, JSON dönerse 406 hatası oluşur (WebFX). - Karakter Kodlaması Problemi
Accept-charsetveyaAccept-languagebaşlıklarında uyumsuzluk olabilir (Reddit, Kinsta®). - Sunucu Güvenlik Kuralları
mod_securitygibi güvenlik modülleri belirli istekleri engelleyebilir ve 406’a yol açabilir. - Web Uygulaması veya CMS Sorunları
WordPress eklentileri, temalar veya kod değişiklikleri bu hataya sebep olabilir.
Çözüm Yolları
1. Accept Başlığını Denetle
- İstemci tarafında, gönderilen
Acceptbaşlığını kontrol edin. - Gerekirse
Accept: */*kullanarak sunucunun herhangi bir yanıt türünü kabul etmesini sağlayın (Stack Overflow).
2. Sunucu Yanıt Formatını Geriye Uyarlayın
- Sunucu JSON, XML veya HTML destekliyorsa, istemciye uygun formatta yanıt verin.
- Gerekirse sunucu tarafında içerik müzakeresini (
content negotiation) yeniden yapılandırın.
3. Güvenlik Modüllerini Geçici Olarak Kapatın
- Apache üzerindeyseniz
mod_securitykurallarını devre dışı bırakabilir veya şüpheli kuralları beyaz listeye alabilirsiniz. - Bu, özellikle WordPress hosting sağlayıcılarında sıkça karşılaşılan bir çözümdür.
4. CMS ve Eklenti Denetimi
- WordPress gibi sistemlerde son yapılan değişiklikleri geri alın veya eklentileri tek tek devre dışı bırakıp deneyin.
- Veritabanı değişikliklerini kontrol edebilir ve hata veren bileşeni izole edebilirsiniz.
5. HTTP İstek ve Yanıt Başlıklarını İnceleyin
- Tarayıcı geliştirici araçları > Ağ (Network) sekmesini kullanarak hem
Accepthem deContent-Typebaşlıklarını gözden geçirin . - Burada isteğin veya yanıtın formatının neden reddedildiğini görebilirsiniz.
Özet Tablo
| Adım | Açıklama |
|---|---|
| Accept başlığını düzenle | Uygun hale getir veya gevşet (*/*) |
| Sunucu formatını kontrol et | JSON, HTML, XML gibi destekleniyor mu? |
| Güvenlik modülü | mod_security kapatılabilir veya kural silinebilir |
| CMS/eklentiler | Değişiklikleri geri al, test et |
| HTTP başlıkları | Network aracında detaylı analiz yap |
Umarım bu makale, 406 Not Acceptable hatasını çözmeniz konusunda hem teknik hem de anlaşılır bir rehber olur. Eklemek istediğiniz başka bir detay veya örnek varsa memnuniyetle yardımcı olurum!
