仅针对一个域路由的Symfony 4可选语言环境/前缀

时间:2019-02-22 11:19:11

标签: symfony routing locale symfony4 prefix

我正在尝试为Symfony 4中的一个域创建前缀。

我想拥有以下域:

domain1.com
domain1.pl
domain2.com
**domain2.com/pl**

第一个选项,我已经尝试

/config/routes/annotations.yaml中:

controllers:
    resource: ../../src/Controller/
    type: annotation
controllers_localized:
    resource: ../../src/Controller/
    type: annotation
    prefix:
        pl: /pl
        en: /

但是它会为所有域添加前缀,我只希望为domain2.com> domain2.com/pl

添加前缀

第二个选项,我已经尝试

/config/routes.yaml中路由到同一控制器:

index:
    path: /
    controller: App\Controller\DefaultController::index
index_localized:
    path: /{_locale}
    controller: App\Controller\DefaultController::index
    defaults:
        path: /pl
        permanent: true
careers_localized:
    path:
        en: /careers
        pl: /{_locale}/kariera
    defaults:
        path: /pl
        permanent: true
    controller: App\Controller\CareersController::careers

它可行,但我必须在树枝模板中使用if条件来更改所有锚点/链接href,并附加/pl,并将所有Route情况添加到yaml中,这非常耗时。

我不想使用旧Symfony版本建议的捆绑软件

0 个答案:

没有答案