无法使用 Laravel 5.1 在远程服务器上检索 url GET 参数

Can't retrieve url GET parameters with Laravel 5.1on remote server

出于某种原因,我无法使用 Illuminate\Http\Request 外观从控制器中的 url 获取任何 GET 参数。我在多个控制器中测试,但没有成功。

使用下面的代码,当访问 domain.com/admin/dashboard?test=test 时远程服务器上没有返回任何内容,但在我的本地机器上它 returns 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');
}

我 运行 Laravel 5.1 Ubuntu 14.04 LTS 使用 Nginx 和 php5-fpm。该代码在我的本地 Homestead 实例和 MAMP 上运行良好。我检查了我的 Nginx 配置,一切似乎都很好。我在我的服务器上托管多个站点,我可以在所有其他站点上获取路由参数。

尝试这样访问它:

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

操作方法如下:Retrieving GET and POST data inside controller in Laravel 4 还有这里:What's the best practice accessing $_GET values in Laravel?

希望有所帮助

如果有人遇到这个问题,问题出在我如何为这个特定域设置 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;
}

希望对大家有所帮助。