2016-10-04 54 views
0

我想根据浏览器语言将我的站点重定向到子域。更改中间件请求的URL [Laravel 5.3]

我的意思是,如果你去

example.com

中间件重定向到

en.example.com

如果你的浏览器语言是英语。

那么,我如何更改中间件中的$请求以重定向到子域?

回答

0

在你的中间件,访问来自浏览器语言,

$language = $request->server('HTTP_ACCEPT_LANGUAGE'); 

和,做一个

if($language == "en"){ 
    redirect()->route("path to your subdomain"); 
}else{ 
    //redirect to another sub domain 
} 

你需要一些条件,如果决定正确的子。

+0

我不想定义路线。我想修改$ request做一个'return $ next($ request);'。如果我做你的答案,我得到一个无效的路由,因为我没有宣布这条路线。 – Itipacs

+0

如果你做'重定向() - >到(“子域”。$ request-> url()“)'? –

+0

我得到'调用成员函数send()null' – Itipacs