如何使用查询参数重定向到 URL?

How do I redirect to a URL with query parameters?

我正在尝试使用 redirect() 帮助程序使用查询参数进行重定向:

$link = 'https://example.com' . '?key1=value1&key2=value2';

return redirect()->to($link);

问题是,当 $link 传递给 to() 方法时,Laravel 删除了引导查询字符串的问号,所以它变成了:

https://example.com?key1=value1&key2=value2

进入这个:

https://example.comkey1=value1&key2=value2

(再次注意最后 link 中缺少的 ?)。

如何使用附加到自定义 URL 的查询参数进行重定向?

使用:

return redirect($link);

如果您想使用查询字符串重定向命名路由,请使用:

return redirect()->route('route_name',['key'=> $value]);

Documentation

根据文档,批准的答案说明了一切。但是,如果您仍然有兴趣寻找某种 "hard-coded" 替代方案:

$link = "https://example.com?key1={$value1}&key2={$value2}";

然后,

return redirect($link);

Reference

如果 link 指向您域中的某个页面,则无需重写域名,只需:

$link = "?key1=${value1}&key2=${value2}";

Laravel 会自动在 URL 前面加上您的 APP_URL (.env)