Preguntas

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

  • 0

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.


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.


¿Fue útil la respuesta?
Volver