如何在Symfony中定义默认/ else路由?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Symfony中定义默认/ else路由?相关的知识,希望对你有一定的参考价值。

我像这样定义我的路线:

// config/routes.yaml

index:
    path: /
    controller: App\Controller\IndexController::index
news:
    path: /news/slug
    controller: App\Controller\PageNewsController::show

如果这些路由都不匹配,我想加载默认控制器,或重定向,或其他什么。但是如何定义这样的默认路由呢?

allOthers:
    path: * <-- WHAT#HAS#TO#BE#PUT#HERE
    controller: App\Controller\ElseController::show

我宁愿避免使用注释。

答案

是的,您可以设置默认路由并在没有路由匹配时呼叫。你可以这样做:

allOthers:
    path: /regpattern
    controller: App\Controller\ElseController::show      
    requirements:
        regpattern: ".+"

以上是关于如何在Symfony中定义默认/ else路由?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 symfony 路由中自动化函数名?

如何避免 Symfony 和 locale 路由的重复内容?

如何在 Symfony2 中获取控制器的所有路由列表?

如何在Symfony2中获取控制器的所有路由列表?

Symfony 树枝控制器路由

Symfony 2.0 - 如何使用数组参数创建路由?