В StackOverflow для вопроса вы увидите в URL что-то вроде этого: https://stackoverflow.com/questions/{question.id}/{question.slug}
Если вы удалите слаг или измените его, вы будете перенаправлены на URL, содержащий правильный слаг,все сделано, потому что только question.id
нуждается в совпадении.Я пытаюсь добиться того же в проекте Symfony.Я получил достаточно далеко, что входящий (или пропущенный) слаг не оказывает никакого влияния на маршрут.Единственное, чего я не достиг - это того, что пользователь отправляет (или показывает) полный правильный слаг.
Это мой код:
/**
* @Route("/{id}/{slug}", name="entity_show", defaults={"slug" = null})
*/
public function showEntity(Request $request, $id, EntityRepository $entityRepository)
{
//.....rest of code here
Короче говоря, то, что я заархивировал, эточто любой слаг может быть введен или вообще отсутствует, но перенаправление на слаг, принадлежащий {id}
, пока не показано.