出于某种原因,我无法使用Illuminate\Http\Request
外观从我的控制器中的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');
}
我正在使用Nginx和php5-fpm在Ubuntu 14.04 LTS上运行Laravel 5.1。代码在我的本地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;
}
希望它有所帮助。
答案 1 :(得分: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?
希望帮助