Хорошо, я нашел решение после «освещения».
Я вспомнил, что есть возможность переписать все URL , добавив или удалив косую черту
Читая эту статью, я увидел это:
class RedirectingController extends Controller
{
/**
* @Route("/{url}", name="remove_trailing_slash",
* requirements={"url" = ".*\/$"})
*/
public function removeTrailingSlash(Request $request)
{
// ...
}
}
Итак, чтобы перехватить все URL, несмотря на путь, мой DefaultController::indexAction()
становится таким:
class DefaultController extends Controller
{
/**
* @Route("/{url}",requirements={"url"=".*"}, name="homepage")
*
* @return Response
*/
public function indexAction(): Response
{
// replace this example code with whatever you need
return $this->render('default/index.html.twig');
}
}
Теперь все URL обрабатываются DefaultController::indexAction()
, несмотря на путь URL.