【问题标题】:How do I redirect to a URL with query parameters?如何重定向到带有查询参数的 URL?
【发布时间】:2018-01-31 12:34:40
【问题描述】:

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

(同样,请注意最后一个链接中缺少的?)。

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

【问题讨论】:

    标签: laravel laravel-5.4


    【解决方案1】:

    用途:

    return redirect($link);
    

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

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

    Documentation

    【讨论】:

      【解决方案2】:

      根据文档,批准的答案说明了一切。但是,如果您仍然对寻找某种“硬编码”替代方案感兴趣:

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

      那么,

      return redirect($link);
      

      Reference

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-01-20
        • 1970-01-01
        • 2021-04-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-31
        相关资源
        最近更新 更多