欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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