【问题标题】:How can I define a default/else route in Symfony?如何在 Symfony 中定义默认/其他路由?
【发布时间】:2019-09-13 04:33:38
【问题描述】:

我这样定义我的路线:

// 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

我宁愿避免使用注释。

【问题讨论】:

    标签: symfony routes symfony4


    【解决方案1】:

    是的,您可以创建默认路由并在没有路由匹配时调用。您可以按照以下方式进行:

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

    【讨论】:

    • 谢谢,这行得通 - 但我不得不将“reg-pattern”重命名为“regpattern”。
    • 是的,这只是示例。你可以根据你的要求改变它。
    猜你喜欢
    • 2019-05-08
    • 1970-01-01
    • 1970-01-01
    • 2020-10-13
    • 2011-10-05
    • 1970-01-01
    • 2012-03-17
    • 2011-10-13
    • 1970-01-01
    相关资源
    最近更新 更多