相关疑难解决方法(0)

使用事件侦听器重定向所有"找不到404路由未找到 - NotFoundHttpException"

如何在事件侦听器中触发重定向到特定路由器?

有很多例子,但我找不到一个"GetResponseForExceptionEvent".例如,当我@roter作为参数传递时$this->router....似乎没有这样做.

我检查了这些但我可能错过了一些东西:

service.yml

services:
    kernel.listener.kernel_request:
        class: Booking\AdminBundle\EventListener\ErrorRedirect
        tags:
            - { name: kernel.event_listener, event: kernel.exception, method: onKernelException }
Run Code Online (Sandbox Code Playgroud)

事件监听器:

namespace Booking\AdminBundle\EventListener;

use Symfony\Component\HttpKernel\Event\GetResponseForExceptionEvent;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;

class ErrorRedirect
{
    public function onKernelException(GetResponseForExceptionEvent $event)
    {
        $exception = $event->getException();

        if ($exception instanceof NotFoundHttpException) {
            // redirect to '/' router or '/error'
            //$event->setResponse(...........);
        }
    }
} 
Run Code Online (Sandbox Code Playgroud)

symfony

8
推荐指数
1
解决办法
1万
查看次数

标签 统计

symfony ×1