Przez mój Sym, fałszywy projekt przypuśćmy, że mamy następującą trasę:
$route= new Route("/my-method",array(
"_controller"=>"AppBundle:MyController:myMethod"
));
$collection->add("my_method_route",$route);
$route= new Route("/my-method2",array(
"_controller"=>"AppBundle:MyController:myAnotherMethod"
));
$collection->add("my_method2_route",$route);
$route= new Route("/anotherStuff",array(
"_controller"=>"AppBundle:MyController:anotherStuff"
));
$collection->add("another_stuff",$route);
$route= new Route("/anotherStuff/{param}",array(
"_controller"=>"AppBundle:MyController:anotherStuffOneParam"
));
$collection->add("another_stuff",$route);
$route= new Route("/anotherStuff/{param}/{another_param}",array(
"_controller"=>"AppBundle:MyController:anotherStuffTwoParam"
));
$collection->add("another_stuff",$route);
I chcę, kiedy skończy się adres URL /
na przykład. http//example.com/my-method/
przekierować do http//example.com/my-method
.
Pomyślałem więc, czy mogę użyć wyrażenia regularnego jako pierwszego parametru na trasie lub skonfigurować system routingu w Symfony w celu wykonania przekierowania.
Ale czy Symfony może zaakceptować wyrażenie regularne lub jakoś opcjonalną część adresu URL, którą można zapisać? np. użyć "/my-method2/?"
aby powiedzieć, że trasa może się kończyć /
i po prostu zignoruj te rzeczy.
Odpowiedzi:
0 dla odpowiedzi № 1Chcesz przekierować wszystkie adresy URL kończące się ukośnikiem na ten sam adres URL bez prawdy?
Będziesz musiał utworzyć pasującą trasę. * / $, A następnie w kontrolerze usuń to „/”.
I jest artykuł, który podaje kod na dokumencie symfony: https://symfony.com/doc/current/routing/redirect_trailing_slash.html