Laravel获取重定向网址

时间:2018-10-29 15:48:27

标签: php laravel

我在获取Laravel URL时遇到问题。

我有一个页面,如果用户未登录,则会将用户重定向到错误的url,并显示错误消息。

我正在使用redirect()->intended($this->redirectPath());来使用户登录后返回用户在页面上的位置,因此我必须以某种方式编写代码来检查什么是重定向URL,以及是否是会产生错误的URL ,

我知道什么是URL,它必须将用户重定向到我需要设置的另一个URL。

我尝试了不同的服用方法 $this->redirectPath() == 'here goes the url'

和喜欢 redirect()->intended($this->redirectPath()) == 'again url here'

但没有任何效果。

2 个答案:

答案 0 :(得分:0)

尝试一下:

return Redirect::intended('here goes the url');

return Redirect::intended();

intended()检查会话索引url.intended是否存在并默认重定向到它,否则重定向到$ default ='/'可以覆盖。

答案 1 :(得分:0)

您必须了解redirect()->intended()的实际作用。

它将查找名为url.intended的会话变量,如session()->pull('url.intended')(请注意,pull()将在调用后删除该变量,这很方便,因为您通常只需要一次使用此变量)。

当前仅在调用redirect()->guest('/yourpath')时设置此变量(它将当前URL设置为url.intended),除非您使用session()->put('url.intended')以自己的逻辑手动设置。 / p>

因此,最明显的使用方法是使用redirect()->guest('/login'),然后在用户成功登录后,您可以使用redirect()->intended()(不带参数)将用户重定向回该页面。最初将他发送到登录页面。