后来找到原因了,有点蠢,分享一下,说不定刚好有人跟我犯一样的错
后来尝试了一下以后,发现只有在LARAVEL的url rewrite时才抓不到querystring
再查一些资料后找到原因了
打开/etc/nginx/sites-available/default
找到
# framework rewrite
location / {
try_files $uri $uri/ /index.php;
}
改成
location / {
try_files $uri $uri/ /index.php?$query_string;
}
就解决了。
因为对nginx很不熟(以前都是MIS架好直接用,没有自己设定过server)
才造成这次的问题。
===================================================
使用的版本为Laravel 5.5.26
我有个页面必须读取querystring的值
网址大约长这样大概长这样(我需要code的值)
http://myurl/access/get_token?code=XXXXXXXXXXXX&result=OOOOO
function get_token(Request $request)
{
$code = $request->get("code")."<br>";//这样接什么都接不到
$code = $request->input("code")."<br>";//这样也是空直
//试着输出网址
echo $request->fullUrl();//这样只会输出http://myurl/access/get_token
$input = $request->all();//dump出来是空阵列
if($request->has("code")) //这样只会回传false
.....(略)
}
因为这边是接第三方的API回传网址,所以我无法改变他的格式。
上面几种读取方式都是在文件看来的,但是都无法成功,
请问是哪边有问题呢?麻烦了,感谢