Skip to main content

⚠️ Error 405 – Method Not Allowed (Método no permitido)

El error 405 aparece cuando el servidor recibe una solicitud HTTP usando un método no permitido para ese recurso.
Por ejemplo: enviar un formulario con POST a una URL que solo acepta GET.


Causas más comunes

  • 🔄 El recurso solo permite ciertos métodos HTTP (GET, POST, PUT, DELETE).

  • 📮 Envío de formularios a rutas que no aceptan el método usado.

  • ⚙️ Configuraciones de Apache/Nginx que restringen métodos.

  • 🔐 Reglas en .htaccess bloqueando métodos específicos.

  • 🛡️ ModSecurity o firewall bloqueando métodos como PUT o DELETE.

  • 🧩 Plugins o frameworks (Laravel, WordPress, Node.js) mal configurados.

  • API endpoint configurado para un método distinto al solicitado.


🔧 Soluciones recomendadas

1️⃣ Verificar qué método acepta la URL

Ejemplo común:

Tu formulario usa:


POST /contacto

Pero el servidor espera:


GET /contacto

Solución: corregir la ruta o el método del formulario.


2️⃣ Revisar configuraciones de Apache/Nginx

Apache (.htaccess):

A veces se bloquean métodos así:


<LimitExcept GET POST> Deny from all </LimitExcept>

Esto causará un 405 si intentas PUT o DELETE.


Nginx:

Si un endpoint no está configurado para manejar cierto método:


limit_except GET POST { deny all; }

Corrige la configuración dentro del bloque location.


3️⃣ Comprobar frameworks o CMS

En Laravel:

Asegúrate de que la ruta acepte el método correcto:


Route::post('/login', 'LoginController@login');

Si envías GET ahí → 405.


En WordPress:

Un plugin o servicio REST puede bloquear métodos como:

  • PUT

  • PATCH

  • DELETE

Revisar permisos en functions.php o en plugins de seguridad.


4️⃣ Revisar ModSecurity o firewalls

ModSecurity puede bloquear métodos considerados “peligrosos”.
Solución temporal:

cPanel → ModSecurity → Desactivar (solo para pruebas)
O ajustar reglas de seguridad en tu servidor.


5️⃣ Confirmar que la API esté correctamente definida

Muchas APIs solo aceptan métodos específicos.
Ejemplo:


GET /api/usuarios ✔️ POST /api/usuarios ✔️ DELETE /api/usuarios ❌ Puede generar 405

Revisa la documentación y adapta la petición.


6️⃣ Corregir redirecciones mal configuradas

Una mala redirección puede cambiar el método:

  • De POST → a GET

  • De PUT → a GET

Esto genera 405 al llegar al recurso final.


🔐 Consejo Pro

Revisa qué métodos permite realmente el servidor usando la cabecera:


Allow: GET, POST

La verás en la respuesta del servidor cuando lanza el 405.
Esto te indica qué métodos están permitidos y cuáles no.