gpt4 book ai didi

url - 在 url 中路由 Zend Framework 2 语言

转载 作者:行者123 更新时间:2023-12-04 14:48:22 24 4
gpt4 key购买 nike

对于我的应用程序翻译,我想使用语言结构,例如:

  • site.com(英文)
  • site.com/de/(德语)
  • site.com/fr/(法国)
  • site.com/nl/(荷兰语)

  • 等等..

    我可以使用 Literal 中的路由器选项轻松完成此操作,如 '[a-z]{2}' 但我想排除我不支持的语言,例如site.com/it/如果它不受支持,我想要一个 404。我试图用正则表达式(添加支持的语言)来解决这个问题,但出了点问题(我不知道)。

    提前致谢!
    'router' => array(
    'routes' => array(
    'home' => array(
    'type' => 'Literal',
    'options' => array(
    'route' => '/',
    'defaults' => array(
    'controller' => 'Application\Controller\Index',
    'action' => 'index',
    ),
    ),
    'may_terminate' => true,
    'child_routes' => array(
    'language' => array(
    'type' => 'Regex',
    'options' => array(
    'regex' => '/(?<lang>(de|fr|nl))?',
    'defaults' => array(
    'lang' => 'en', //default
    ),
    'spec' => '/%lang%',
    ),
    ),
    ),
    ),
    ),
    ),

    最佳答案

    我认为你的正则表达式需要是

    'regex'    => '/(?<lang>(de|fr|nl)?)'

    您可以使用 Segment 路由和适当的约束进行相同的操作...
    'router' => array(
    'routes' => array(
    'home' => array(
    'type' => 'Literal',
    'options' => array(
    'route' => '/',
    'defaults' => array(
    'controller' => 'Application\Controller\Index',
    'action' => 'index',
    ),
    ),
    'may_terminate' => true,
    'child_routes' => array(
    'language' => array(
    'type' => 'Segment',
    'options' => array(
    'route' => '[/:lang]',
    'defaults' => array(
    'lang' => 'en', //default
    ),
    'constraints' => array(
    'lang' => '(en|de|fr|nl)?',
    ),
    ),
    ),
    ),
    ),
    ),
    ),

    关于url - 在 url 中路由 Zend Framework 2 语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16691638/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com