插件窝 干货文章 tp5使用redirect()无法传递路径参数的解决办法

tp5使用redirect()无法传递路径参数的解决办法

php thinkphp5 redirect 重定向 1177    来源:插件窝    2019-10-28

在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]);