ความหมาย
URL มีอยู่แต่ไม่รองรับเมธอด HTTP ที่ใช้ header Allow แสดงเมธอดที่ใช้ได้
สาเหตุที่พบบ่อย
- POST ไปยังไฟล์สแตติกหรือ route ที่รับเฉพาะ GET
- ฟอร์มส่งไปยัง endpoint ผิด
- route กำหนดเมธอดไว้ที่พาธอื่น เช่น พาธที่มีเครื่องหมายทับท้าย
วิธีแก้ไข
สำหรับไคลเอนต์หรือผู้เยี่ยมชม
ตรวจ header Allow และเอกสาร API และให้แน่ใจว่าเมธอดกับ URL ตรงกัน
สำหรับผู้ดูแลเว็บไซต์หรือ API
ส่ง Allow กับ 405 เสมอ ตรวจการกำหนดเส้นทางเรื่องความต่างของเครื่องหมายทับท้าย และดูว่าโฮสติ้งสแตติกไม่ได้รับพาธ API ไว้เอง
ตัวอย่างการตอบกลับ
HTTP/1.1
HTTP/1.1 405 Method Not Allowed
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx
Allow: GET, HEAD, POST
Content-Type: application/problem+json
{
"type": "about:blank",
"title": "Method Not Allowed",
"status": 405,
"detail": "DELETE is not supported on /users."
} ข้อกำหนด
คำถามที่พบบ่อย
› 405 หรือ 404
404: ที่นี่ไม่มีอะไร 405: ที่นี่มีบางอย่าง แต่ไม่ใช่สำหรับเมธอดนี้
› ทำไม POST บนโฮสติ้งสแตติกได้ 405
โฮสติ้งสแตติกให้บริการเฉพาะ GET/HEAD การ POST ต้องใช้ฟังก์ชันฝั่งเซิร์ฟเวอร์หรือ endpoint ฟอร์มภายนอก