Я использую Symfony 2.8 и настроил общий маршрут:
// routes.xml
<route id="info_page" path="/info/{page}" methods="GET">
<default key="_controller">MyBundle:Info:showPage</default>
<default key="page">overview</default>
</route>
// Controller
public function showPageAction(Request $request, $page) {
switch ($page) {
case "page1":
$template = "page1.html.twig";
break;
...
default:
$template = "overview.html.twig";
break;
}
$response = $this->render($template, $variables);
return $response;
}
Это прекрасно работает для всех видов маршрутов, таких как /info/page1
, /info/pageN
, /info/overview
и т. Д. И /info
отображается как страница по умолчанию / обзорная страница (как и ожидалось).
Однако использование /info/
(конечная косая черта) приводит к ошибке 404. Почему это так?Почему /info
работает, а /info/
нет?