Laravel 5.1 GET url参数键不正确传递给控制器

时间:2015-10-19 20:54:55

标签: php laravel laravel-5.1 laravel-routing url-parameters

我从URL获取GET参数时遇到问题。

如果我有例如

http://domain.tld/route?page=2

而且在控制器中我从GET获取数据

dd(Input::all());

Laravel回归

array:1 [▼
  "//route?page" => "2"
]

但应该是

array:1 [▼
  "page" => "2"
]

Laravel 5.1 5.0上存在问题,一切正常。

路线代码

Route::get('/klub', ['as' => 'teamInfo', 'uses' => 'Game\Team\TeamController@index']);

控制器代码

final public function index(Request $request)
    {
        $userTeam = UserCache::get('team');
        if ($userTeam->id > 0)
            return view('game.team.info')->with(['userTeam' => $userTeam]);
        else {
            //this is executing in my case
            $proposals = Teams::proposals()->paginate(1);
            return view('game.team.empty', ['teamLimits' => conf('team.php'), 'userTeam' => $userTeam, 'proposals' => $proposals]);
        }
    }

var_dump($_SERVER['QUERY_STRING']);
string(13) "//klub?page=2"

var_dump($_SERVER['REQUEST_URI']);
string(12) "/klub?page=2" 

2 个答案:

答案 0 :(得分:2)

在您使用的任何服务器(NGINX或Apache?)中,某些内容已损坏。服务器变量从服务器引擎传递给PHP,PHP只能解析它给出的内容。

如果您使用Apache或NGINX可能会错误地转发值,则.htaccess中的网址重写可能不正确。 QUERY_STRING应为page=2

答案 1 :(得分:0)

@dboskovic问题是nginx配置,错误的变量传递给cgi,我现在修复它,一切都很好。

非常感谢您的帮助和