2014-05-23 40 views
1

我正在设置OAuth2回调,Laravel似乎剥离了通过URL传递的所有参数(aka GET)。这包括Input::get(),Input::all(),以及一般PHP $_GET甚至$_SERVER['QUERY_STRING']

我最初的反应是一个Nginx配置错误。但是我能够安装在我的laravel测试PHP文件/ public目录,其简单地说就是:

<?php var_dump($_GET) 

击中/test.php?code=123456ABCD生成单个值阵列的预期转储。

然后,在Laravel路线,创建,

Route::get('/testcallback', function(){ 
    var_dump(Input::all()); 
}); 

击中/testcallback?code=123456ABCD生成一个空数组的倾倒。

有没有我在做我的配置或路线,会导致Laravel去除GET参数?

谢谢。

+0

http://stackoverflow.com/questions/21552604/how-to-define-a-laravel-route-with-a-parameter-that-c​​ontains-a-slash-character –

+0

的http:// forumsarchive.laravel.io/viewtopic.php?id=5447 –

+0

@Kapilgopinath这些链接的含义是什么?你读过你发布的第一个吗? OP的问题中“URL的斜线”在哪里? –

回答

2

这毕竟是Nginx。发现我的站点之间的符号链接 - 可用的和启用站点的主机已经断开,并且query_string问题的(有据可查的)解决方案没有流过。

try_files $uri $uri/ /index.php?$query_string; 

这是通过简单地删除启用站点的站点并重新链接它,然后重新启动Nginx来修复的。

sudo rm /etc/nginx/sites-enabled/{site-name} 
sudo ln -s /etc/nginx/sites-available/{site-name} /etc/nginx/sites-enabled/{site-name} 
sudo nginx -t 
sudo service nginx reload