total solucionar soluciona solucion play not found error eliminar cómo como codigo php routing http-status-code-404 phalcon

php - solucionar - error 404 solucion



¿Cómo agregar un código de error 404 cuando la ruta no existe? (3)

¿Cómo puedo arrojar un código de error 404 cuando una ruta no existe?

En phalcon después de configurar su información de enrutamiento, ¿hay alguna manera de verificar si una ruta entrante (del usuario) coincide con alguna de las rutas en su lista de rutas? Entonces, si la ruta no existe, lanza un error 404.


Puedes usar algo como esto:

public function main() { try { $this->_registerServices(); $this->registerModules(self::$modules); $this->handle()->send(); } catch (Exception $e) { // TODO log exception // remove view contents from buffer ob_clean(); $errorCode = 500; $errorView = ''errors/500_error.phtml''; switch (true) { // 401 UNAUTHORIZED case $e->getCode() == 401: $errorCode = 401; $errorView = ''errors/401_unathorized.phtml''; break; // 403 FORBIDDEN case $e->getCode() == 403: $errorCode = 403; $errorView = ''errors/403_forbidden.phtml''; break; // 404 NOT FOUND case $e->getCode() == 404: case ($e instanceof Phalcon/Mvc/View/Exception): case ($e instanceof Phalcon/Mvc/Dispatcher/Exception): $errorCode = 404; $errorView = ''errors/404_not_found.phtml''; break; } // Get error view contents. Since we are including the view // file here you can use PHP and local vars inside the error view. ob_start(); include_once $errorView; $contents = ob_get_contents(); ob_end_clean(); // send view to header $response = $this->getDI()->getShared(''response''); $response->resetHeaders() ->setStatusCode($errorCode, null) ->setContent($contents) ->send(); } }

Si está utilizando el componente Micro , puede usar esto:

$app->notFound( function () use ($app) { $app->response->setStatusCode(404, "Not Found")->sendHeaders(); echo ''This is crazy, but this page was not found!''; } );

Por supuesto, puede utilizar las sugerencias que otros publicaron con respecto al archivo .htaccess, pero arriba es cómo lo hace en Phalcon sin tocar nada más.

También hay una nueva característica en la tubería, con respecto a un manejador de error predeterminado que procesaría los errores en Phalcon (o anulado si es necesario).

Créditos a Nesbert por la esencia


Si desea utilizar el error HTTP 404 predeterminado al ejecutar un script PHP:

header("HTTP/1.0 404 Not Found");

Pero recuerde que esto debe ser lo primero que envíe al cliente.

Si quiere personalizar el error PHP predeterminado de su servidor web, eso depende del software. Es fácil encontrar que el filtro apache utiliza, por ejemplo, para mostrar este tipo de error.


Una vez que tenga la configuración de la página 404, todo lo que necesita hacer es enviar visitantes a direcciones URL incorrectas a esta página. Para hacer esto simplemente agregue la siguiente línea a su archivo .htaccess:

ErrorDocument 404 /404.php

Puede colocar la plantilla de error 404 en cualquier lugar que desee. Por ejemplo, podría colocar todos los mensajes de error en una carpeta llamada errormessages

ErrorDocument 404 /errormessages/404.php