Я прочитал Symfony (http://symfony.com/doc/current/cookbook/controller/error_pages.html#testing-error-pagesdocumentation) и сделал то, что они говорят:Symfony ошибка пользовательская настройка 404 и 500
я создал 2 файла, error404.html.twig и error500.html.twig в каталоге (MyProject)/приложение/Ресурсы/TwigBundle/просмотров/Исключение/
И я изменил routing_dev.yml файл так:
_wdt:
resource: "@WebProfilerBundle/Resources/config/routing/wdt.xml"
prefix: /_wdt
_profiler:
resource: "@WebProfilerBundle/Resources/config/routing/profiler.xml"
prefix: /_profiler
_configurator:
resource: "@SensioDistributionBundle/Resources/config/routing/webconfigurator.xml"
prefix: /_configurator
_main:
resource: routing.yml
_errors:
resource: "@TwigBundle/Resources/config/routing/errors.xml"
prefix: /_error
Когда я пытаюсь увидеть, как это выглядит с http://localhost:8080/portfolio/web/app_dev.php/_error/404
я получаю следующее сообщение об ошибке:
FileLoaderLoadException: Не удается импортировать ресурс "@ TwigBundle/Ресурсы/конфигурации/маршрутизации/errors.xml" из "C: \ XAMPP \ HTDOCS \ портфель \ приложение/Config/routing_dev.yml" , Убедитесь, что пакет «TwigBundle/Resources/config/routing/errors.xml» правильно зарегистрирован и загружен в класс ядра приложения.
Я проверил файл AppKernel.php и, кажется, twigBundle импортируется:
<?php
use Symfony\Component\HttpKernel\Kernel;
use Symfony\Component\Config\Loader\LoaderInterface;
class AppKernel extends Kernel
{
public function registerBundles()
{
$bundles = array(
new Symfony\Bundle\FrameworkBundle\FrameworkBundle(),
new Symfony\Bundle\SecurityBundle\SecurityBundle(),
new Symfony\Bundle\TwigBundle\TwigBundle(),
new Symfony\Bundle\MonologBundle\MonologBundle(),
new Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle(),
new Symfony\Bundle\AsseticBundle\AsseticBundle(),
new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(),
new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(),
new AppBundle\AppBundle(),
new PublicBundle\PublicBundle(),
new AdminBundle\AdminBundle(),
);
if (in_array($this->getEnvironment(), array('dev', 'test'))) {
$bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle();
$bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle();
$bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle();
}
return $bundles;
}
public function registerContainerConfiguration(LoaderInterface $loader)
{
$loader->load(__DIR__.'/config/config_'.$this->getEnvironment().'.yml');
}
}
Что Probleme?
Страницы с ошибкой будут одинаковыми для всех пользователей или только для некоторых пользователей? Если он одинаковый для всех пользователей, вам не нужно переопределять twigbundle или создавать маршрут для него. –