Laravel 5.1 GET url参数键不正确传递给控制器
我从URL获取GET参数时遇到问题。Laravel 5.1 GET url参数键不正确传递给控制器
如果我有e.g
http://domain.tld/route?page=2
,比控制器I DD数据从
dd(Input::all());
Laravel换来的是
array:1 [▼
"//route?page" => "2"
]
但应该
array:1 [▼
"page" => "2"
]
5.0上的Laravel 5.1存在问题,一切正常。
途径代码是
Route::get('/klub', ['as' => 'teamInfo', 'uses' => 'Game\Team\[email protected]']);
位指示代码
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"
有东西在你使用任何服务器损坏(NGINX或Apache?)。服务器变量通过服务器引擎传递给PHP,PHP只能解析给出的内容。
如果你使用Apache或NGINX可能被错误地转发该值你可能有一个坏的URL重写你的.htaccess
。 QUERY_STRING
应该是page=2
。
我加var_dumps – rafwlaz
@diaraf(编辑我的答案) –
好的,这是我已经添加了什么 “try_files $ URI $ URI//index.php?$query_string;” –
@dboskovic问题是与nginx配置,错误的变量传递给CGI,我现在修复它,所有的作品很好。
感谢这么多的帮助和
任何理由不使用Request对象? '$请求 - >输入( '页')'? – Pitchinnate
@Pitchinnate它返回相同 – rafwlaz
需要看到更多的代码,然后,像你的路由器和功能的控制器可能的帮助。 – Pitchinnate