如何重定向到包含查询参数的URL?

时间:2018-01-31 12:34:41

标签: laravel laravel-5.4

我正在尝试使用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

(再次注意最后一个链接中缺少的?。)

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

2 个答案:

答案 0 :(得分:2)

只需使用:

return redirect($link);

如果您希望使用查询字符串重新命名命名路由,请使用:

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

链接到Docs

答案 1 :(得分:0)

根据文档,批准的答案将对所有内容进行解释。但是,如果您仍然有兴趣寻找某种“硬编码”替代方法:

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

然后

return redirect($link);

Reference

如果链接指向您域上的页面,则无需重新编写域名,只需:

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

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