У меня такой контроллер:
/**
* @Route("/admin/products")
*/
class ProductAdminController extends Controller
{
/**
* @Route("/", name = "product_list")
*/
public function listAction()
{
}
/**
* @Route("/new", name = "product_new")
*/
public function newAction()
{
}
/**
* @Route("/{id}/delete", name = "product_delete")
*/
public function deleteAction()
{
}
}
Когда я перехожу на страницу /admin/products, Symfony перенаправляет меня на /admin/products/. Но я хочу, чтобы мои маршруты были последовательными, без косой черты в конце.
Если я опущу косую черту в listAction:
/**
* @Route(name = "product_list")
*/
public function listAction()
{
}
Теперь маршрут работает без перенаправления. Но я не знаю, правильно это или нет. Потому что во всех примерах для корневого маршрута используется "/". Заранее спасибо!






Вы можете удалить аннотацию @route над объявлением класса
а затем укажите полный маршрут ваших действий.
Помимо indexAction, другие маршруты не должны отображать / в конце своего URL-адреса, поскольку они есть, но вам также нужно будет предшествовать им /admin/products.
class ProductAdminController extends Controller {
/**
* @Route("/admin/products", name = "product_list")
*/
public function listAction() {
}
/**
* @Route("/admin/products/new", name = "product_new")
*/
public function newAction() {
}
/**
* @Route("/admin/products/{id}/delete", name = "product_delete")
*/
public function deleteAction() {
}
}