在我的Symfony项目上让我们假设我们有以下路线:
$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);
我想要url以 /
结尾。http//example.com/my-method/
重定向到http//example.com/my-method
。
因此,我在想我是否可以在路由上使用Regex作为第一个参数,或者配置Symfony的路由系统显示以执行重定向。
。但是,Symfony可以接受正则表达式或某种程度上在URL上的可选部分,它可以接受吗?例如,使用'/my-method2/?'
来说明路线可能以/
结束,而忽略了这些内容。
您想将所有URL重定向,以尾随的斜线到同一URL with thing twith twith twith the
您必须创建一个匹配的路由。*/$然后在控制器中删除此"/".
和一篇文章在Symfony文档上提供了代码:https://symfony.com/doc/current/routing/redirect_trailing_slash.html