Laravel - 如何使用哈希重定向(#)

时间:2016-07-13 14:54:43

标签: laravel

我有链接:

example.com/register#register

如果验证失败,laravel重定向到:

example.com/register

验证错误位没有哈希url部分。如何使用#?

重定向到完整的URL

我知道我可以使用:

Redirect::to(route('register') . '#credits')

但我想要完整的解决方案以及我的:

return back();

将使用#。

重定向

也许我需要覆盖一些代码?

3 个答案:

答案 0 :(得分:7)

您可以先使用路径名创建网址。

$url = URL::route('route_name', ['#hash_tag']);

Redirect::to($url);

或者...

return Redirect::to(URL::previous() . "#hash_tag");

答案 1 :(得分:1)

您可以使用助手:

redirect()->route('route_name', [ 'some_param_for_route', '#hash' ])

答案 2 :(得分:1)

但是,如果要获取正确的URL,其中哈希是片段部分而不是参数,则应使用:

redirect(route('route_name', ['some_param_for_route']). '#hash')

而不是:

redirect()->route('route_name', [ 'some_param_for_route', '#hash' ])

要得到:

http://example.com/some_param_for_route#hash

而不是:

http://example.com/some_param_for_route?#hash

通过这种方式,您还可以进一步将其链接起来,例如:

redirect(route('route_name', ['some_param']). '#hash')->with('status', 'Profile updated!');