src/EventSubscriber/UrlEventSubscriber.php line 11

Open in your IDE?
  1. <?php
  2. namespace App\EventSubscriber;
  3. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  4. use Symfony\Component\HttpFoundation\RedirectResponse;
  5. use Symfony\Component\HttpKernel\Event\RequestEvent;
  6. class UrlEventSubscriber implements EventSubscriberInterface
  7. {
  8.     public function onKernelRequest(RequestEvent $event)
  9.     {
  10.         //$schemeAndHttpHost = $event->getRequest()->getSchemeAndHttpHost();
  11.         $basePath $event->getRequest()->getBasePath();
  12.         $uri $event->getRequest()->getUri();
  13.         $pattern "/\/staff[_|-].*\/public/";
  14.         if (preg_match($pattern$basePath)) {
  15.             $url preg_replace($pattern''$uri);
  16.             //$event->setResponse(new RedirectResponse($schemeAndHttpHost, 302));
  17.             $event->setResponse(new RedirectResponse($url301));
  18.         }
  19.     }
  20.     public static function getSubscribedEvents(): array
  21.     {
  22.         return [
  23.             RequestEvent::class => 'onKernelRequest',
  24.         ];
  25.     }
  26. }