2016-10-04 50 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