tp5使用redirect()无法传递路径参数的解决办法
程序员文章站
2022-04-17 23:18:34
...
在thinkphp5框架中使用
$this->redirect($aim,['url'=>$url]);
重定向时,url参数无法完整传递,
尝试使用
$this->redirect('/aimurl?url=' . $url);
还是不行
是由于框架在解析url是使用了pathInfo的方式,无法正常传递字符串中的‘/’
解决办法
1. 临时将解析模式切换为urlparam模式
config('url_common_param',true);
2. 不使用redirect方法,将$this->redirect($aim,['url'=>$url]);替换为
header('Location: ' . $url); exit;
3. 将参数里的/替换为\/
$url=str_replace('/','\/',$url); $this->redirect($aim,['url'=>$url]);