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.
Allow başlığına bakın; adresin kabul ettiği yöntemleri listeler.action adresini PHP dosyasına ya da doğru API yoluna çevirin..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
.htaccess dosyasında değişiklik yapacaksanız önce bir kopyasını alın.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:
action="iletisim.html" gibi bir adrese POST gönderilir. LiteSpeed statik dosyaya gelen POST isteğini 405 ile reddeder..htaccess kuralı.<Limit>, <LimitExcept> ya da %{REQUEST_METHOD} koşulu bazı yöntemleri kapatır.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.
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.

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.
action özniteliği formu işleyen dosyayı göstermelidir:
<form action="/iletisim.php" method="post">
.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.
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.
.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.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.
Sonraki adımlar
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.
404 adresin bulunmadığını söyler. 405 adres vardır ama gönderdiğiniz yöntemle çalışmaz.
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ü?
Geri bildiriminiz için teşekkürler.
Çö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.