2015-08-22 43 views
2

由於某些原因,我無法從使用Illuminate\Http\Request外觀的控制器中的url中獲取任何GET參數。我在多個控制器上測試過,但沒有成功。無法使用Laravel 5.1遠程服務器檢索url GET參數

使用下面的代碼,訪問domain.com/admin/dashboard?test=test沒事的時候返回遠程服務器上,但我的本地機器上返回test

The dashboard function is called by the route /admin/dashboard 

/** 
* Dashboard page 
* 
* @return view 
*/ 
public function dashboard(Request $request) 
{ 
    echo '<pre>'; 
    var_dump($request->all()); 
    echo '</pre>'; 

    // Return here 
    return; 

    // ...instead of here 
    return view('backend::pages.dashboard'); 
} 

我的Ubuntu上運行Laravel 5.1使用Nginx的和PHP5 14.04 LTS -fpm。該代碼可以在我的本地Homestead實例以及MAMP上正常工作。我檢查了我的Nginx配置,一切看起來都很好。我在我的服務器上託管多個站點,我可以在所有其他站點上獲取路由參數。

+0

面對同樣的問題。你有沒有得到適當的解決方案? –

回答

9

如果有人運行到這一點,問題與我如何爲這個特定域名設置Nginx。

此塊在我/etc/nginx/sites-enabled/default文件不與查詢字符串的工作:

location/{ 
    try_files  $uri $uri/ /index.php$query_string; 
} 

其更改爲以下之後,一切工作,因爲它應該是:

location/{ 
    try_files $uri $uri/ /index.php$is_args$args; 
} 

希望它可以幫助有人。

+0

非常感謝,這幫了我 –

+0

@ ismaailE.G。很高興聽到:) –

+0

我需要準確的位置,請。我有同樣的問題 – srinivas

1

嘗試訪問它是這樣的:

$var = Input::get('test'); 

這裏是如何做到這一點:Retrieving GET and POST data inside controller in Laravel 4 和這裏:What's the best practice accessing $_GET values in Laravel?

希望幫助

+0

我以前試過這個,但它不起作用,因爲Input :: get只是映射到Request :: get –

+0

嗯,Input :: all()是什麼輸出? – user1870556

+0

另外,試試這個:'$ segment = Request :: segment(3);' – user1870556