Задача: все символы верхнего регистра и повторяющийся слеш, редиректить на правельный url
www.my-domein.com/AbCdE/// на www.my-domein.com/abcde/
route должен быть выше всех, параметр priority = 1
В requirements вписываем регулярное выражение для проверки url
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Annotation\Route;
class RedirectingController extends AbstractController
{
/**
* @Route("/{url}/", priority=1, name="seo_rules",
* requirements={"url" = ".*([A-Z]|\//).*"})
* @param Request $request
* @return RedirectResponse
*/
public function seo_rules(Request $request)
{
$pathInfo = $request->getPathInfo();
$requestUri = $request->getRequestUri();
$url = str_replace($pathInfo, rtrim($pathInfo, ' /'), $requestUri.'/');
return $this->redirect(strtolower($url), 301);
}
}