1
我正在創建一個多語言站點。當設置語言參數時,我希望它是英文的,而當設置語言參數時,我希望它是英文的。CakePHP 3.x可選語言路由
我的路由看起來如下:
$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
是我的控制器和1
是我的行動。
我知道,如果我強迫那裏總是一個語言參數,這將不再是一個問題,但我不希望英文版在www.mydomain.com/en/
。我希望它在www.mydomain.com
。
這是可以實現的嗎?如果不是fr
或es
等,有沒有辦法忽略語言參數?
如果':language'沒有設置爲'fr'或'es',這實際上會使用普通的'/:controller /:action/*'路由嗎? @ADmad – Cellydy
@Cellydy如果沒有語言前綴,則此答案中的路由定義根本不會匹配。如果你想要標準的後備路線[你需要添加它們](http://book.cakephp.org/3.0/en/development/routing.html#routes-configuration),否則URL'/ controller/action/blah'會成爲404. – AD7six
@ADmad感謝您的幫助! – Cellydy