405 Method Not Allowed Hatası Nasıl Çözülür

Son gözden geçirme: Eylül 2026 · cPanel 136 ve HTTP (RFC 9110) resmî dokümanına göre

Hızlı çözüm

405 Method Not Allowed hatası, sunucunun isteğin HTTP yöntemini (POST, PUT, DELETE) o adres için kabul etmediğini söyler; çoğu vakada form ya da API isteği yanlış adrese, örneğin statik bir .html dosyasına gidiyordur.

  1. Tarayıcıda geliştirici araçlarını açın, hatayı veren isteğin yöntemini ve adresini okuyun.
  2. Yanıttaki Allow başlığına bakın; adresin kabul ettiği yöntemleri listeler.
  3. Formun action adresini PHP dosyasına ya da doğru API yoluna çevirin.
  4. .htaccess içinde yöntem kısıtlayan bir kural varsa kaldırın.
Panel cPanel
Sistem Paylaşımlı hosting (LiteSpeed); kendi sunucunuzda Apache ya da Nginx
Yetki cPanel kullanıcısı; VPS/VDS’te root
Narhost ürünü Web Hosting

Başlamadan önce

  • Hatanın çıktığı tam adresi ve ne yaparken çıktığını (form gönderme, dosya yükleme, API çağrısı) not edin.
  • .htaccess dosyasında değişiklik yapacaksanız önce bir kopyasını alın.
  • Hatayı bir ziyaretçi olarak görüyorsanız sayfayı yenileyip bir kez daha deneyin; sürüyorsa site sahibine bildirin, çözüm sunucu tarafındadır.

405 method not allowed hatası neden olur

HTTP’de her istek bir yöntemle gelir: sayfa açmak GET, form göndermek POST, API’de kayıt güncellemek PUT, silmek DELETE. MDN’nin 405 açıklamasına göre sunucu yöntemi tanır ama hedef adres o yöntemi desteklemez; yanıtta desteklenen yöntemleri Allow başlığıyla bildirmek zorundadır. Kodun tanımı RFC 9110 içindedir.

Paylaşımlı hostingte en sık dört neden görülür:

  • Form statik dosyaya gidiyor.action="iletisim.html" gibi bir adrese POST gönderilir. LiteSpeed statik dosyaya gelen POST isteğini 405 ile reddeder.
  • Yanlış API yolu. Uygulama yalnız GET kabul eden bir uç noktaya POST ya da DELETE gönderir.
  • .htaccess kuralı.<Limit>, <LimitExcept> ya da %{REQUEST_METHOD} koşulu bazı yöntemleri kapatır.
  • Güvenlik katmanı. Bir eklenti ya da kural PUT ve DELETE isteklerini keser; WordPress blok düzenleyicisi bu yüzden kayıt yapamayabilir.

Adım adım çözüm

  1. Tarayıcıda F12 → Ağ (Network) sekmesini açın ve işlemi tekrarlayın. Kırmızı satırda Yöntem, İstek URL’si ve yanıt başlıklarındaki Allow değerini okuyun.

    Beklenen sonuç: hangi adrese hangi yöntemin gittiğini ve adresin kabul ettiği yöntemleri görürsünüz.

  2. İsteği komut satırından tekrar edin. Kendi bilgisayarınızda şu komut yanıt başlıklarını gösterir:
    curl -s -o /dev/null -D - -X POST https://ornek.com/iletisim.html

    Beklenen sonuç: statik dosyaya gönderilen POST için ilk satır HTTP/1.1 405 Method Not Allowed olur (Eylül 2026’da LiteSpeed üzerinde denendi). PHP dosyasına gönderilen istek 200 ya da 302 döner.

  3. cPanel → Metrikler → Hatalar sayfasında hatanın saatine denk gelen kayıtları okuyun.
    405 method not allowed hatası için cPanel Metrikler bölümündeki Hatalar sayfası
    Hatalar sayfası; son hata kayıtları saat sırasıyla listelenir.

    Beklenen sonuç: güvenlik kuralı ya da .htaccess kaynaklı engelde ilgili satır burada görünür; statik dosya kaynaklı 405 hatası çoğu zaman kayıt bırakmaz.

  4. Formun hedefini düzeltin. HTML’de action özniteliği formu işleyen dosyayı göstermelidir:
    <form action="/iletisim.php" method="post">
  5. .htaccess dosyasını kontrol edin. Dosya Yöneticisi’nde Limit, LimitExcept ve REQUEST_METHOD geçen satırları arayın; bunları geçici olarak # ile kapatıp işlemi tekrarlayın.

    Beklenen sonuç: kural kaynaklıysa işlem artık 200 döner.

Kendi VPS ya da VDS sunucunuzda Nginx çalışıyorsa, PHP’ye gitmesi gereken isteğin statik dosya bloğuna düşmediğini sunucunuzda kontrol edin; location bloklarında try_files $uri $uri/ /index.php?$args; satırı isteği uygulamaya iletir.

Apache kullanan bir sunucuda aynı kontrolü site yapılandırmasındaki <Limit> ve <LimitExcept> blokları için yapın. Bir yöntemi bilerek kapattıysanız (örneğin güvenlik gerekçesiyle TRACE) bu doğru davranıştır; yalnız uygulamanızın gerçekten kullandığı yöntemleri açık bırakın. Değişiklikten sonra yapılandırmayı sınayıp web sunucusunu yeniden yükleyin.

Doğrulama

Sonuç

Formu ya da API çağrısını tekrarlayın. Ağ sekmesinde durum 200, 201 ya da yönlendirme (302) görünüyorsa sorun çözülmüştür. curl komutu artık 405 yerine başarılı bir kod döndürmelidir.

Hâlâ çözülmediyse

  • 405 yerine 403 alıyorsunuz. İstek yöntem yüzünden değil izin ya da güvenlik kuralı yüzünden reddediliyordur; 403 Forbidden hatası kartına geçin.
  • .htaccess değişikliğinden sonra site 500 veriyor. Yazım hatası vardır; yedeği geri yükleyip 500 Internal Server Error kartını izleyin.
  • WordPress düzenleyicisi “geçerli bir JSON yanıtı değil” diyor. REST isteği engelleniyordur; JSON yanıtı hatası kartına bakın.

Narhost desteği

Talebe şunları ekleyin: hatanın çıktığı tam adres, isteğin yöntemi, hata metni birebir, hatanın saati ve denediğiniz adımlar.

Destek talebi aç

Sıkça sorulan sorular

405 method not allowed hatası ziyaretçiden mi kaynaklanır?

Hayır. Tarayıcı isteği sitenin kodunun belirlediği yöntemle gönderir. Hatayı düzeltmek site sahibinin ya da geliştiricinin işidir.

405 ile 404 arasındaki fark ne?

404 adresin bulunmadığını söyler. 405 adres vardır ama gönderdiğiniz yöntemle çalışmaz.

Statik HTML sitede iletişim formu nasıl çalışır?

Formun gönderildiği bir PHP betiği ya da harici bir form hizmeti gerekir. HTML dosyası POST isteğini işleyemez.

Bu makale sorununuzu çözdü mü?

Çözemediniz mi?

Teknik ekibimiz sunucu tarafındaki ayarları sizin için kontrol edebilir. Destek talebinizde alan adınızı ve aldığınız hata metnini paylaşmanız süreci hızlandırır.

İlgili çözümler