خطأ HTTP 405 Method Not Allowed
كود الحالة 405 · الفئة 4xx
الرسالة الرسمية (كما تظهر على الشاشة): Method Not Allowed
يُبحث عنه أيضًا باسم: error 405, HTTP 405, 405 method not allowed
ماذا يعني
يعرف الخادم الرابط لكنه لا يقبل طريقة HTTP المستخدمة، مثل إرسال POST إلى نقطة نهاية تسمح بـ GET فقط. يراه الزوار عند إرسال النماذج إلى صفحات مضبوطة بشكل خاطئ، ويراه المطورون عند استدعاء واجهات API بطريقة HTTP خاطئة.
ينطبق على: REST APIs, nginx, Apache, IIS
كيفية إصلاح خطأ HTTP 405 Method Not Allowed
- أعد تحميل الصفحة بشكل عادي بدلاً من إعادة إرسال النموذج
- عملاء API: راجع التوثيق لمعرفة الطريقة الصحيحة، وانظر إلى ترويسة الاستجابة 'Allow' التي تسرد الطرق المسموح بها
- تأكد من أن الرابط دقيق؛ فغياب الشرطة المائلة الأخيرة أو زيادتها قد يوجّه طلب POST إلى معالج الملفات الثابتة
- إذا كنت مالك الموقع: تأكد من أن المسار (route) أو المتحكم (controller) يعرّف هذه الطريقة، وأن إعادة التوجيه (301/302) لا تحوّل POST إلى GET
- إذا كنت مالك الموقع: في nginx يُرجع إرسال POST إلى ملف ثابت الخطأ 405؛ وجّه الطلب إلى التطبيق بدلاً من ذلك
- إذا كنت مالك الموقع على IIS: تأكد من أن WebDAV لا يعترض طلبات PUT وDELETE
سبب حدوثه
يشترط RFC 9110 إرجاع 405 عندما تكون الطريقة معروفة لكنها غير مدعومة للمورد المستهدف، وعلى الخادم أن يسرد الطرق الصالحة في ترويسة Allow. وتشمل الأسباب الشائعة أخطاء التوجيه، ومعالجات الملفات الثابتة، ووحدات WebDAV.
الأسئلة الشائعة
لماذا يُرجع إرسال النموذج الخطأ 405؟
لأن النموذج يرسل POST إلى رابط يسمح بـ GET فقط، وغالباً ما يكون صفحة ثابتة أو مساراً بلا معالج POST.
أخطاء ذات صلة
المصدر: IANA HTTP Status Code Registry · حلول كتبها المحررون وراجعوها (راجع السياسة التحريرية)
آخر تحديث: