Páginas de erro

Aprenda como personalizar páginas de erro para rotas não encontradas, modo de manutenção e erros de redirecionamento interno fornecidos pelo servidor.

Personalizando a página de erro

Para personalizá-lo, você pode editar o system/error.php arquivo. Este arquivo só é acionado nas seguintes condições:

  • O IIS realiza um redirecionamento de erro interno através de <error statusCode="..." ... />.
  • O Apache realiza um redirecionamento de erros interno através de ErrorDocument.
  • O nginx realiza um redirecionamento de erro interno através de error_page.
  • Nenhuma rota corresponde à solicitação HTTP atual (código de status 404).
  • Uma rota existente foi acessada, mas o método solicitado não está definido (código de status 405).
  • O modo de manutenção está ativado (código de status 503).

No system/errors.php arquivo, você pode configurar sua View para personalizar uma página de erro como esta:

<?php use Inphinit\App; use Inphinit\Http\Request; use Inphinit\Http\Status; use Inphinit\Viewing\View; switch ($code) { case 403: // system/views/errors/403.php View::render('errors.403'); break; case 503: // system/views/errors/503.php View::render('errors.503'); break; default: // system/views/errors/generic.php View::render('errors.generic', ['code' => $code]); }

Possíveis códigos de status

Além do código 404 (na ausência de uma rota correspondente) e do 503 (modo de manutenção), os outros códigos que podem ser recebidos na variável $code são 403 e 500, devido às configurações padrão nos arquivos .htaccess, web.config ou nginx.

Padrão .htaccess

# Redirect page errors to route system ErrorDocument 403 /index.php/RESERVED.INPHINIT-403.html ErrorDocument 500 /index.php/RESERVED.INPHINIT-500.html

Padrão web.config

<error statusCode="403" responseMode="ExecuteURL" path="/index.php/RESERVED.INPHINIT-403.html?INPHINIT_REDIRECT=1" /> <error statusCode="500" responseMode="ExecuteURL" path="/index.php/RESERVED.INPHINIT-500.html?INPHINIT_REDIRECT=1" />

Você pode adicionar outros códigos de status que são comumente encontrados em seu servidor.

Página inicial
Apoie com uma estrela no GitHub