Laravel 带有前缀的路由链接

Laravel 带有前缀的路由链接,laravel,laravel-5.4,Laravel,Laravel 5.4,我正在使用最新的Laravel 5.4。我的网站配置为使用德语和英语。例如,我有一个德语登录页面: http://localhost/de/login 英语: http://localhost/en/login 我所做的是创建了一个语言中间件,它查看URI的第一段(“en”或“de”),并根据第一段值设置适当的app()->setLocale()。我正在努力解决的是如何为这些路线生成链接(正确/最佳实践)。我应该在刀片模板中使用什么功能来生成此类链接。我尝试了route('login',ap

我正在使用最新的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
。为什么会这样?我应该使用什么函数来生成到命名路由和未命名路由的链接

谢谢, Z

试试这个:

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

看,如果这行得通的话

您实际上不需要专用的区域设置附加路径。语言环境是使用会话变量维护的。好的,让我删除可选的解决方案。