作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在创建一个多语言网站。我希望在未设置语言参数时使用英语,在设置语言参数时使用不同的语言。
我的路由如下所示:
$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
。
这可以实现吗?如果语言参数不是 fr
或 es
等,有没有办法忽略它?
最佳答案
您可以指定一个正则表达式来匹配路由元素。所以你需要类似的东西
$routes->connect(
'/:language/:controller/:action/*',
[],
['language' => 'fr|es']
);
有关详细信息,请参阅 CakePHP 手册/API。
关于CakePHP 3.x 可选语言路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40609304/
我正在尝试用 Swift 编写这段 JavaScript 代码:k_combinations 到目前为止,我在 Swift 中有这个: import Foundation import Cocoa e
我是一名优秀的程序员,十分优秀!