带有前缀

时间:2017-03-07 06:40:22

标签: laravel laravel-5.4

我正在使用最新的Laravel 5.4。我的网站配置为使用德语和英语。例如,我有一个德语登录页面:

http://localhost/de/login

和英语:

http://localhost/en/login

我所做的是创建了一个语言中间件,它查看URI的第一段('en'或'de'),并根据第一个段值设置正确的app()->setLocale()。我正在努力的是如何为这些路线生成链接(正确/最佳实践)。我应该在刀片模板中使用什么功能来生成此类链接。我试过了route('login', app()->getLocale()),但它给了我这样的东西:http://localhost/en/login?de。为什么会这样?我应该使用什么功能来生成指向命名路由和未命名路由的链接?

谢谢, ž

1 个答案:

答案 0 :(得分:1)

试试这个:

Route::post('page/{locale?}', 'PageController@someMethod')->where(['locale' => 'de|en|es|fr|it|nl']);

看,如果有效!