gpt4 book ai didi

CakePHP 3.x 可选语言路由

转载 作者:行者123 更新时间:2023-12-04 16:11:13 25 4
gpt4 key购买 nike

我正在创建一个多语言网站。我希望在未设置语言参数时使用英语,在设置语言参数时使用不同的语言。

我的路由如下所示:

$routes->connect('/:language/:controller/:action/*');

问题如下:

当我访问 www.mydomain.com/users/login 时,它工作正常。

当我访问 www.mydomain.com/fr/users/login 时,它工作正常(法语)。

但是当我访问 www.mydomain.com/users/login/1 其中 1 是我要解析的自定义命名参数时,它自然会认为 users 是语言,login 是我的 Controller ,1 是我的操作。

我知道如果我强制始终有一个语言参数,这将不再是一个问题,但我不希望英文版本位于 www.mydomain.com/en/。我希望它位于 www.mydomain.com

这可以实现吗?如果语言参数不是 fres 等,有没有办法忽略它?

最佳答案

您可以指定一个正则表达式来匹配路由元素。所以你需要类似的东西

$routes->connect(
'/:language/:controller/:action/*',
[],
['language' => 'fr|es']
);

有关详细信息,请参阅 CakePHP 手册/API。

关于CakePHP 3.x 可选语言路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40609304/

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