Как отображать страницу ошибки 404 вместо ошибок в Symfony4

эта моя страница: error404.html.twig как документация Пример шаблона ошибки 404

{# templates/bundles/TwigBundle/Exception/error404.html.twig #} 
{% extends 'base.html.twig' %}
{% block body %}
<h1>Page not found</h1>
        <p>
            The requested page couldn't be located. Checkout for any URL
            misspelling or <a href = "{{ path('homepage') }}">return to the homepage</a>.
        </p>

{% endblock %}

это моя страница config / routes / dev / twig.yaml

# config/routes/dev/twig.yaml
_errors:
    resource: '@TwigBundle/Resources/config/routing/errors.xml'
    prefix:   /_error

это моя страница config / packages / twig.yaml

# config/packages/twig.yaml
twig:
    exception_controller: App\Controller\ExceptionController::showException

что мне делать, чтобы это работало?

  • кстати я использовал первый метод: переопределить шаблоны ошибок по умолчанию.

ошибка:: Как отображать страницу ошибки 404 вместо ошибок в Symfony4

services.yaml:Как отображать страницу ошибки 404 вместо ошибок в Symfony4

Пробовали переходить на локальный / index.php / _error / 404?

qdequippe 12.10.2018 09:20

Так в чем проблема? Каким образом это работает не так, как вы ожидаете?

Bananaapple 12.10.2018 09:45

да, я сделал localhost / index.php / _error / 404? он перенаправляет меня на панель инструментов xampp

Younes Oulkaid 12.10.2018 10:46

где находится ваш метод showException в классе ExceptionController, который вы настраиваете?

Mohammed Yassine CHABLI 12.10.2018 13:50

Я не сделал ни одного контроллера в документации, они его переопределяют, а что я должен делать именно?

Younes Oulkaid 12.10.2018 15:52

Пожалуйста, поделитесь более подробной информацией, отредактировав свой вопрос - в чем именно проблема и что вы пытались решить?

Nico Haase 26.01.2021 08:58
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Symfony Station Communiqué - 17 февраля 2023 г
Symfony Station Communiqué - 17 февраля 2023 г
Это коммюнике первоначально появилось на Symfony Station , вашем источнике передовых новостей Symfony, PHP и кибербезопасности.
Управление ответами api для исключений на Symfony с помощью KernelEvents
Управление ответами api для исключений на Symfony с помощью KernelEvents
Много раз при создании api нам нужно возвращать клиентам разные ответы в зависимости от возникшего исключения.
3
6
6 735
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Если вы находитесь в режиме отладки и вместо страницы 404 вы получаете NotFoundHttpException, тогда все в порядке, поскольку это задокументированное и желаемое поведение, как описано здесь: https://symfony.com/doc/current/controller/error_pages.html

In the development environment, Symfony catches all the exceptions and displays a special exception page

Чтобы обойти это и фактически увидеть свою пользовательскую страницу 404, вам необходимо получить доступ к шаблону через специальный маршрут: http://localhost/index.php/_error/404

На самом деле это когда вы находитесь в режиме отладки, независимо от среды.

BenMorel 25.01.2021 21:29

Другие вопросы по теме