Saltar al contenido

Slim Framework siempre devuelve el error 404

Solución:

¡El problema está resuelto!

Mi apache es realmente normal, y el archivo .htaccess proporcionado anteriormente también es normal.

La pista es la URL que utilicé. Anteriormente usé la URL no válida, por lo que devolvió el error de página 404. Me acabo de dar cuenta cuando intenté acceder a la URL GET más reciente a través del navegador con este;

http://localhost/dev/index.php/getUsers/user1

y ahora eso funciona!

Me di cuenta de ello una vez que encontré estas declaraciones;

Si Slim no encuentra rutas con URI que coincidan con el URI de solicitud HTTP, Slim devolverá automáticamente una respuesta 404 Not Found.

Si Slim encuentra rutas con URI que coinciden con el URI de solicitud HTTP pero no con el método de solicitud HTTP, Slim devolverá automáticamente una respuesta 405 Método no permitido con un encabezado Permitir: cuyo valor enumera los métodos HTTP que son aceptables para el recurso solicitado.

Encontré esta publicación mientras buscaba en Google “slimframework 404”. La publicación me llevó a una solución a mi problema.

El problema

Configuré un sitio con el marco Slim usando Composer y creo un index.php con el siguiente formulario de código de ejemplo slimframework.com:

<?php
$app = new SlimSlim();
$app->get('/hello/:name', function ($name) {
    echo "Hello, $name";
});
$app->run();

Luego intento acceder a la página usando http://localhost/hello/bob. Recibo una página 404 de página no encontrada.

Pude acceder a la página usando http://localhost/index.php/hello/bob.

La solución

Encontré la solución mirando /vendor/slim/.htaccess (incluido con la instalación de Composer Slim) y la sección de reescritura de URL de la documentación del marco Slim.

Agregué una copia del /vendor/slim/.htaccess en la misma carpeta que mi archivo index.php. El contenido del archivo es:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L] 

Ahora puedo acceder a la página usando http://localhost/hello/bob.

Tienes razón a punto de incluir el index.php en tu archivo, pero eso sucede porque no estás trabajando correctamente con tu mod-rewrite. Por favor revisa el siguiente enlace:

https://github.com/codeguy/Slim

En la parte de Comenzar, puede ver cómo configurar su servidor (en caso de que estuviera usando apache / lighttpd / ngynx)

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *